590 likes | 998 Views
MSG211 Exchange Server 2007: 存储变化和设计考虑. 本议题主要内容. Exchange Server 2007, 微软 Exchange 服务器新一代的版本,在数据库方面有一些重要的改变。它改变了 Exchange 设计存储方案的需求和最佳实践 . 在这个议题中,我们回顾一下微软 当前 的建议,并确定在 Exchange 2007 中您该怎样设计您的存储架构。. 议题. Microsoft Exchange 2007 设计目标 Exchange 2007 和存储 数据库基础 数据库改变 总结. Exchange 2007 设计目标.
E N D
本议题主要内容 • Exchange Server 2007, 微软Exchange服务器新一代的版本,在数据库方面有一些重要的改变。它改变了Exchange设计存储方案的需求和最佳实践. 在这个议题中,我们回顾一下微软当前的建议,并确定在Exchange2007中您该怎样设计您的存储架构。
议题 • Microsoft Exchange 2007 设计目标 • Exchange 2007 和存储 • 数据库基础 • 数据库改变 • 总结
Exchange 2007 设计目标 • 低成本的大邮箱 • 在邮件中使用更多的富媒体 • 邮件的大小在一直增加 • 从任何设备访问自己的邮箱 • 更多的存储选择,低存储成本和复杂度 • 共享存储很复杂,而且高成本 • 增强的可靠性 • 邮件已经成为关键业务 • 目标: 管理成本和复杂度
Exchange 2007 设计目标 • 低成本的大邮箱 • >1GB • 降低 I/O • 对存储系统要求更少 • 利用64-bit Windows优势 • 大内存模型,超过4G也能运行良好 • 超过16GB
Exchange 2007 存储特性 • 低成本大邮箱 • 降低I/O • 改变了I/O模式 • 允许你使用大邮箱的特性 • 邮件内容高速索引 • 从复本备份 • 邮件生命周期(ELC) • 快速备份 • 卷影复制 • 连续复制(LCR\CCR) • 服务器保存14天已删除邮件
ESE 数据库技术架构基础 • 继续使用两个阶段提交 • 阶段0: 快速提交用户事务 • 顺序写页面变动(改变,删除,插入) • 阶段1: 颗粒方式更新数据库 • 平衡树(向前和向后连接) • 随机访问,固定页面大小 • I/O累积后再操作 • 利用内存的两个基础 • 缓存: 将常用页面保存在内存 • 缓冲区: 跟踪事务日志
ESE 数据库和内存检查点 • 检查点深度: 存储组中数据库的缓存页面,在内存中更新了但还未写道磁盘中. • 每个存储组 20MB • 日志记录后再提交变动到磁盘 • 在缓冲区中缓存变动
日志丢失补救 LLR 减少了日志丢失时数据不一致情况的发生 • 增强可靠性 • 减少重新完全播种 • 减少数据完整性而使用
I/O 改进64bit (x64) 两个最大的 64bit 存储优势: • 数据库缓存大小“无限制” • RAM 规则: 2GB+5MB 每用户(10MB/用户 Beta2) • 大缓存减少读数据库次数 • 50DBs in 50SGs • 1GB & 2GB 邮箱 • 数据库并行挂载
I/O 改进数据库变化 • 页面大小增加到8KB • I/O 累积到1MB (64KB)才进行实际操作 • I/O 更大但是更少 • 取消STM文档 • 利用VLM优势 • 数据库最大缓存从900MB 到几个GB • 更多存储组 = 更多检查点 • 取消VM 碎片整理 • 日志文件数量允许上百万个 • 邮件服务器日志大小改变 • 1MB – 连续复制时是更好的日志大小 • 从单点错误时恢复
邮箱服务器性能 内存 • 更多内存 = 更少的数据库读 I/O • 数据库写 I/O 不会从内存增加获益 • 内存规则 - 2GB + 5MB/用户 • 硬件: 4 x dual core AMD 2.2 GHz • 用户档案:使用 Exchange Load Generator模拟4000 outlook 2003 在线用户, 100MB 邮箱大小, 每秒17本地传输
读操作, 总共减少的 IOPS/用户 ProLiant DL385 2 Dual-Core CPU (2.2GHz), 4GB RAM, 1500MMB3 users, U320 SCSI 24 DB disks, 4 Logs. Search/Indexing=OFF. Exchange 2007 beta – results subject to change
减少70% I/O Exchange 2003 vs. 2007 • 1.0 IOPS E2003 档案 • 250MB 邮箱 • 2GB + 5MB 数据库缓存 E2007
数据库读/写比例改变 ProLiant DL385 2 Dual-Core CPU (2.2GHz), 4GB RAM, 1500MMB3 users, U320 SCSI 24 DB disks, 4 Logs. Search/Indexing=OFF. Exchange 2007 beta – results subject to change
数据库日志比例改变 通过大数据库缓存减少数据库读 I/O 通过更多的检查点和I/O 累积减少数据库写I/O 在Exchange 2007增加比例以使日志记录和数据库I/O大致相同.
两个拷贝 群集 自动恢复 服务器 HCL 全冗余 重放 数据验证 1 个或 2个数据中心 群集连续复制 失效转移 有限影响 停用管理 传输删除邮件记录 备份选项 备份总体拥有成本 Q Q Q Logs DB Logs DB
一台机器 每个存储组 两份拷贝 重放 数据验证 一个数据中心 配置简单 本地连续复制 Logs DBs Logs DBs • 一个存储组一个数据库 • PFDB限制 • 手动激活 • 资源需求 • 备份选项 • 配置 • 备份总体拥有成本
存储设计新机会 • 除光纤通道共享存储外有更多的选择. • 理解其他存储方案的性能 • 群集连续备份不再依赖共享存储 • 群集连续备份和卷影复制等特性都启用了快速恢复
存储设计如何判断您的IOPS • IOPS 是管理组的数据库 I/Os 除以管理组的用户数. • 若有Exchange 2003 基线,应用到Exchange 2007. • 减少约 70% IOPS • 通过增加更多的内存减少数据库读操作 • 要计算您的IOPS,参考为Exchange 2003优化存储. http://www.microsoft.com/technet/prodtechnol/exchange/guides/StoragePerformance
存储设计如何计算容量 数据库 • 14 天删除邮件保留 增加约15% [MSIT 案例] • CI 增加5% • 增加约 10%空白空间 日志 • 推荐日志LUN大小 • 移动邮箱 示例 • 1000 用户, 250MB 邮箱 = 250GB • CI 12.5GB, 删除邮件保留 37.5GB, 空白空间 25GB • Total = 325GB
最大数据库大小 不要让单个数据库很大 • 便于备份恢复 • 离线碎片整理和修复 • 在线维护 • 再播种时间(1DB 25MB/sec)
存储设计邮箱档案 • Exchange 2003 IOPS/用户 帮助设计企业级存储架构. • Exchange 2007 IOPS/用户会因内存和用户数而变化 • 2000 1.0 IOPS != 4000 0.5 IOPS • 每个用户更少聚合检查点 • 2000 1.0 IOPS @8GB RAM 与16 或者 32GB RAM 不同 • 大内存时更少读操作
存储设计I/O其它方面 • 备份、恢复、重新播种操作需要显著的 I/O ,尤其当邮箱很大时. • 邮箱维护和在线碎片整理必须运行,是计划的任务,会导致显著的I/O. • 邮件生命周期(ELC)是计划的数据库爬取操作. • 内容索引
存储设计邮箱大小 Outlook缓存模式 • 在客户端排序和搜索 Outlook 在线模式 • 在服务器端排序和搜索 • 初始化索引创建很耗资源 • 在一个文件夹不要超过5000项目 ELC-邮件生命周期 • 数据库爬取与数据库大小相关. • 对删除/移动, ELC 5分钟处理100K 份信息 • ELC 很耗资源, 不要与其它任务(备份、维护)同时运行 * 2x2.8GHz Dual-Core, 4GB RAM
连续复制存储开销考虑 • 为数据库冗余,需要存储翻倍,可以使用便宜的存储 • 群集连续复制可使用非共享存储启用群集,如: SAS • 连续复制允许使用直连存储方案(DAS)
连续复制可用性考虑 • 每个存储组只能有一个数据库. • 每个存储组4 个LUN, 两个日志,两个数据库 (在线/复本) • 日志和数据库分别位于独立的磁盘 • 在线日志或数据库与复本分别位于独立的磁盘 • 本地连续复制要求有分开的存储控制器和PCI插槽
连续复制性能考虑 • 设计复本LUN在性能和容量匹配在线LUN • 复本是第一防线 • 将复本LUN放置在与在线LUN不同的存储中 • 复本 I/O 不影响生产环境 • 复本运行卷影备份时不影响生产环境
连续复制I/O 工作量变化 • 事务型I/O比无复本环境更多 • 需要更多缓存设置 • 在日志LUN推荐 25%:75% 读:写 X - 传统ExchangeI/O CR –使用连续复制时的额外 I/O
典型存储配置 SAN DAS iSCSI NAS Exchange 2007不支持
存储设计DAS 最佳实践 SATA • 使用全时负载循环企业SATA • RAID5时使用更快的RPM • Raid5 SATA 性能在 E2007较差,因为读写比例为1:1 SAS • SAS 是新的SCSI,可以提供更大的磁盘大小 • 使用SFF, 3.5寸容量 • 均衡 RPM 和I/O 需求 • 10k rpm 足够!
存储设计SAN 最佳实践 iSCSI - 隔离你的iSCSI网络 • 使用千兆 • MPIO 光线通道 • MPIO • WHQL认证的固件和驱动 • 使用存储厂商的队列深度设置
存储设计Raid类型 综合考虑性能和容量需求 • RAID10 最佳可靠性 • 磁盘投入多. • 磁盘损坏时性能不高 • RAID重建时性能不高 • 日志LUN应该是RAID10,100% 写操作 • RAID5 最有效利用容量 • 1:1 读写比例使RAID5 LUN性能比Exchange 2003时更差. • RAID6 提供比RAID5更佳的数据保护 • 性能比RAID5低,容量利用率低
存储设计 • RAID 5 – 磁盘损坏和重建的影响
存储设计Exchange测试 * Exchange 2003
存储设计LUN 优化 使用存储厂商设置 使用厂商推荐设置或者64 默认4KB 使用厂商推荐设置或者64K Diskpar(t) 日志: http://msexchangeteam.com/archive/2005/08/10/408950.aspx
邮件服务起影响磁盘I/O因素 • ESE 数据库 (.edb) • 事务日志 • 备份和恢复 • 数据库维护 • 邮件生命周期 • 连续复制 • 内容索引 • 页面调整
邮件服务起群集连续复制节点样例 • 2000 用户单独部署 • .3-.5 IOPS 每个用户 • 1GB 邮箱限额 • 12GB 内存 ((2000*5MB)+2GB) • 14 存储组,一个存储组一个数据库 • 200GB 数据库 • 4 core x 2GHz CPU • 页面缓存 12,298MB ** 300GB SAS * Best Practices in development for RTM
I/O 减少 Vs. MB/用户 I/O 每秒 MB/用户 I/O 每秒 1GB Mailbox Very Heavy profile 写每秒 读每秒
Exchange 2007的改变日志改变 • 数量支持到上百万 • 日志文件大小 • 1MB • 连续复制支持的最好粒度 • Checksum 单点错误恢复
Exchange 2007的改变引擎变化: 检查点 • 更多存储组= 更多检查点 • 更多检查点= • 与磁盘操作更少 • 在提交到磁盘时可在内存接受更多改动 • 通过保留脏页更长时间来优化物理写的次数 • 处理大数量的数据库改动 • 更多事务,更多用户 • 数据库写操作改进
I/O 减少 Vs. 检查点 I/O 每秒 检查点/用户 (KB) I/O 每秒 1GB Mailbox Very Heavy profile 写每秒 读每秒
Exchange 2007 I/O 减少缓存大小的优势 • 小内存 = 小缓存 = 更多磁盘I/O • 大内存 = 大缓存 = 更少磁盘I/O • 读操作显著减少 • 内存大小规则 • 2GB + 5MB/用户
给部署带来的价值采用64-bit Windows 和… • 提高数据密度 • 不再依然网络存储 • 不再强制要求高速 • 磁盘速度: 10krpm 是可接受的 • 有能力托管更多数据 • 大量独立的数据库 • 降低每个GB的费用,每个邮箱的费用
备份特性备份选项 • 本地/群集连续复制 – 第一防线 • 数据复本 • 不是备份 • 在线数据库 • 传统流数据到磁盘 • 传统流数据到磁带 • 卷影复制快照– 复制到磁盘或磁带 • 卷影复制克隆– 复制到磁盘或磁带 • 复本数据库 • 卷影复制快照–复制到磁盘或磁带 • 将备份I/O 转移到复本所在LUN • 仅适用本地/群集连续复制
备份设计对于大邮箱,需要新方法 通过连续复制,使用卷影复制备份复本 • 不影响生产环境的LUN • 检查完整性 每天全量备份 • 2000 用户 -每人2GB 邮箱,则共4TB • @175GB/小时 = 约23 小时 每周全量和每天增量备份 • 可接受,因为连续复制是第一防线 • 错开全量备份时间 • 样例: 14 DBs, 每晚全量备份2个, 12做增量 • 2000 用户 – 2GB 邮箱,共650GB • @175GB/hr = 3.7hrs
SG 1 LOG SG 8 LOG 45 GB 45 GB C : \ SG 1 TL C : \ SG 8 TL 6 LOG DISKS RAID 10 SG 2 LOG SG 9 LOG 300 GB SAS 45 GB 45 GB C : \ SG 2 TL C : \ SG 9 TL SG 3 LOG SG 10 LOG 45 GB 45 GB C : \ SG 3 TL C : \ SG 10 TL SG 4 LOG SG 11 LOG 45 GB 45 GB C : \ SG 4 TL C : \ SG 11 TL SG 5 LOG SG 12 LOG 45 GB 45 GB C : \ SG 5 TL C : \ SG 12 TL SG 6 LOG SG 13 LOG 45 GB 45 GB C : \ SG 6 TL C : \ SG 13 TL SG 7 LOG SG 14 LOG 45 GB 45 GB C : \ SG 7 TL OS LUNs Physical Disk 备份设计CCR LUN 布局 OS LUNs • 为每个存储组日志创建LUN • 为每个存储组数据库创建LUN • 使用挂载点组织本地磁盘 • 卷影复制备份和恢复需要单独的LUN SG 1 DB SG 8 DB 110 GB 110 GB C : \ SG 1 C : \ SG 8 SG 2 DB SG 9 DB C : \ SG 14 TL 110 GB 110 GB C : \ SG 2 C : \ SG 9 SG 3 DB SG 10 DB Physical Disk 110 GB 110 GB C : \ SG 3 C : \ SG 10 SG 4 DB SG 11 DB 110 GB 110 GB 38 DB DISKS C : \ SG 4 C : \ SG 11 RAID 10 300 GB SAS SG 5 DB SG 12 DB 110 GB 110 GB C : \ SG 5 C : \ SG 12 SG 6 DB SG 13 DB 110 GB 110 GB C : \ SG 6 C : \ SG 13 SG 7 DB SG 14 DB 110 GB 110 GB C : \ SG 7 C : \ SG 14
存储测试成功的存储测试要点 • 明白什么是成功的测试(你需要达到什么数字?) • 在存储能挂接的尽量多的生产环境服务器上测试 • 以大数据库测试 • 决定存储需要满足的吞吐量需求,并决定方案最大吞吐量. • 决定存储满足的备份吞吐量和I/O需求,以满足你的备份和恢复服务品质协议
存储测试Exchange 工具 Jetstress - 模拟 Exchange I/O 操作 容易使用,模拟数据精确. • 测试存储方案可靠性. • 验证存储方案满足性能需求. 测试端对端备份/恢复方案的性能和可靠性(如卷影复制) • 新MAPI工具“Swordfish”,模拟Outlook 2007客户端,代替 Loadsim 2003. • Exchange Load Generator (代替LoadSim)
存储测试Jetstress JetstressExchange 2007版本 • 新备份和恢复功能 • 向导型图形界面,与ExBPA类似 • 支持Exchange2007 (增加存储组和数据库数量) • 支持64位和32位操作系统 • 重新设计的引擎(更佳的调优方式) • 数据库创建/复制速度改进