引起 Exchange 服务器磁盘 I/O 的因素

 

适用于: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

上一次修改主题: 2010-05-31

Microsoft Exchange Server 2007 中的服务器角色是:集线器传输服务器和边缘传输服务器(统称为传输服务器)、客户端访问服务器、统一消息服务器和邮箱服务器。每个服务器角色都具有不同的存储要求以及不同的备份和还原要求,在某种程度上是由于这些服务器角色每个都执行不同的功能:

  • 集线器传输服务器和边缘传输服务器执行以下任务:

    • 将邮件传入和传出组织。

    • 将邮件传入和传出邮箱服务器。

    • 传递统一消息服务器提交的语音邮件。

  • 客户端访问服务器是 Exchange 的客户端协议服务器,提供 Microsoft Outlook Web Access、Exchange ActiveSync、Outlook Anywhere 和其他 Internet 协议。

  • 统一消息服务器提供 Outlook Voice Access 以及传入传真支持。

  • 邮箱服务器是 Exchange Server 的核心,在此存储用户邮箱和公用文件夹。

  • 邮箱群集或单一副本群集 (SCC) 在共享磁盘主动/被动配置中使用群集服务。

  • 连续复制将日志文件传送到备用位置,该位置可以在使用本地连续复制 (LCR) 的独立服务器上,也可以在使用群集连续复制 (CCR) 的群集中,还可以在使用备用连续复制 (SCR) 的远程服务器上。

邮箱服务器角色

Exchange 2007 邮箱服务器角色是核心服务器角色,其他所有服务器角色均基于该角色构建。确定邮箱配置文件(包含每秒的用户输入/输出 (I/O) 以及容量)之后,就可以开始规划部署了。Exchange 服务器上承载的用户数通常取决于防止出现硬件瓶颈和提供在服务级别协议 (SLA) 内备份和还原数据的能力之间的平衡。

必须平衡三个存储要求才能获得成功的 Exchange 2007 部署。第一个要求是事务 I/O,即根据存储所需满足的每个 I/O 的延迟来评估的性能。第二个要求是备份/还原吞吐量,即将数据移动到备份媒体和从备份媒体中移出的速度。第三个要求是容量,即确保在为生产逻辑单元号 (LUN) 选择的独立磁盘冗余阵列 (RAID) 配置中和目标备份媒体中拥有足够的空间。

有关如何使用邮箱配置文件确定磁盘 I/O 大小要求的信息,请参阅邮箱服务器存储设计。例如,可能需要服务器承载 3,000 名用户,采用 0.4 IOPS 的配置文件,拥有 2 GB 的邮箱。性能要求将为 1,200 IOPS。必须确保可以备份和还原 6 TB 的信息。如果备份 SLA 为 4 个小时,则必须每个小时备份 1.5 TB 的数据或每秒备份 417 MB 的数据。如果备份解决方案每秒只能备份 300 MB 的数据,则必须使邮箱大小或用户数减少 28%。

在 Exchange 2000 Server 中,最佳实践是使用五个数据库填满一个存储组后再创建另一个存储组,但该做法受虚拟内存限制的影响。在 Exchange Server 2003 中,上述限制明显减少,最佳实践是为每个新数据库添加额外的存储组,直到创建最大存储组数。使用 Exchange 2007 时,I/O 占用将减少,因为增强了 Exchange Server 使用的基础数据库引擎“可扩展存储引擎 (ESE)”。

核心可扩展存储引擎增强

Exchange 2007 因为在 ESE 中进行了多项关键的设计更改,所以减少了 Exchange Server 的总体 I/O 占用。

  • 64 位操作系统和 64 位 Exchange Server 应用程序支持的数据库缓存要大得多,从 900 MB 增大到数十 GB,具体取决于总系统内存。

  • 许多新的缓存优化也有利于数据库读取操作。I/O 接合从 64 KB 增大到 1 MB,通过增大读取和写入更大 I/O 的机率来进一步减少磁盘 I/O。

  • 没有任何流式数据库文件,可安装文件系统 (IFS) 已删除。

作为 64 位应用程序,Exchange 2007 没有其早期 32 位应用程序的虚拟内存限制。Exchange 2007 邮箱服务器最多支持 50 个数据库和 50 个存储组,并且最多可以在一个存储组中放置 5 个数据库。但是,每台 Exchange 2007 邮箱服务器最多可以承载 50 个数据库。

每个存储组都会创建自己的独立事务日志,存储组是备份和还原的基本单元。在缺少缓存压力的情况下,ESE 在写入数据库之前写入事务日志的最大数据量为一个称作检查点深度的缓存。在存储组中使用一个数据库时,会将整个检查点深度分配给该数据库,从而增加了在缓存中多次更新数据库页面的可能性,只有最新的更新会写入数据库,因此减少了 I/O。

Exchange 邮箱数据组件

下表介绍邮箱服务器角色的活动以及每项活动对磁盘 I/O 的影响。

Exchange 2007 中的邮箱服务器角色活动

活动 活动对磁盘 I/O 的影响

ESE 数据库(.edb 文件)

邮箱服务器将所有邮件均存储在 ESE 数据库中。随机访问 ESE 数据库,尽管 I/O 接合可能产生更大的 I/O,但是该数据库仍使用 8 KB 的页面大小。为了确保可靠性,并且在某些情况下由于性能原因,数据库应位于不包含事务日志的磁盘上。

事务日志文件(.log 文件)

对数据库所做的所有更改都首先提交给事务日志,该日志是按顺序写入到磁盘的内容。写入的大小各不相同:从 512 字节到日志缓冲区大小。

内容索引

内容索引是一种随机工作量,与数据库位于同一个 LUN 上,通常大约是数据库大小的 5%。因为内容索引在后台运行,在邮件到达时为邮件编制索引,所以对磁盘 I/O 的影响最小。

分页

如果某个进程请求内存中的某个页面,但是系统在所请求的位置中未找到该页面,则会发生页面错误。如果该页面位于内存的其他位置,则该错误为软页面错误。如果必须从磁盘中检索该页面,则该错误为硬页面错误。大多数处理器都可以处理大量的软页面错误,不会有任何后果。但是,硬页面错误可能会造成明显的延迟。连续的高磁盘分页率表明内存不足。

内容转换

在 Exchange 中存储数据的本机方法是使用传输中性封装格式 (TNEF) 封装的 MAPI 邮件。这使 MAPI 邮件可以通过 SMTP 进行传输,并可以为 MAPI 客户端(如 Microsoft Outlook)提供 MAPI 邮件。非 MAPI 客户端要求 MIME 格式的邮件。此格式要求 Exchange 执行从 TNEF / MAPI 到 MIME 格式的内容转换过程。大多数内容转换在客户端访问服务器和集线器传输服务器上执行。

但是,旧版 Web 分布式创作和版本管理 (WebDAV) 应用程序(如 Microsoft Entourage)可以直接访问邮箱服务器。在此方案中,内容转换过程直接发生在 Exchange 2007 邮箱服务器上。旧版 WebDAV 客户端要求数据必须在客户端访问服务器上进行转换时,可以通过访问 /Exchange 虚拟目录从 Exchange 2007 邮箱服务器访问此数据。(某些工具可以通过访问 /ExAdmin 虚拟目录来访问数据。)数据在邮箱服务器的 Tmp 目录中转换,然后发送至客户端访问服务器。

对 Tmp 目录的使用通常在非 MAPI 客户端用户移至新服务器后达到最大。由于用户首次连接到其邮箱时可能存在大量的内容转换,因此会出现这种情况。

为了提高性能,Tmp 目录与分页文件或操作系统不应在相同的 LUN 上。

数据库维护

Exchange 2007 信息存储要求对每个数据库定期运行联机维护。影响磁盘 I/O 的两项任务,一是硬删除早于配置的保留策略的邮件和邮箱,二是对数据库进行联机碎片整理。因为备份数据库将暂停可能正在进行的数据库的联机碎片整理,所以必须考虑为备份和数据库维护提供独占的时间范围来完成其任务。

备份和还原

数据备份过程要求从数据库和事务日志文件卷读取数据。这种额外的 I/O 可能会影响用户响应时间,在营业时间应避免这种操作。软恢复过程要求 ESE 回放所有事务日志文件。这会导致 I/O 配置文件成为顺序读取流。因此,如果事务日志文件位于具有快速按顺序访问磁盘能力的磁盘上,恢复性能将会有所改善。避免此情况的一种方法是使用连续复制,连续复制使您能够从数据库的主动副本卸载基于卷影复制服务(VSS) 的备份,使其转移到数据库的被动副本。

将删除的数据库页清零

如果将邮箱服务器配置为将删除的数据库页清零,每次从数据库删除项目时,系统会删除相关的多个页面。Exchange 将用零覆盖删除的页面。在 Microsoft Exchange Server 2007 的正式发布 (RTM) 版本中,仅在联机流式备份时才运行此功能,备份期间该功能会导致较多的物理磁盘 I/O。在 Exchange Server 2007 Service Pack 1 (SP1) 中,在联机维护期间可以启用此功能。

除了数据库文件访问之外,还有其他活动会引起磁盘 I/O。下表列出这些活动和对磁盘 I/O 的影响。

影响磁盘 I/O 的其他活动

活动 活动对磁盘 I/O 的影响

文件夹中的项目数

随着核心邮箱文件夹中项目数量的增长,联机模式下 Outlook 用户执行任务的物理磁盘开销也增加了。在缓存 Exchange 模式下使用 Outlook 时,会在客户端执行索引和搜索活动。第一次按邮件大小排序收件箱时需要创建新索引,这将需要许多磁盘 I/O。以后执行该操作时开销就会非常低了。索引数量设定为静态值,因此,经常使用多种不同方法排序文件夹的用户就可能超出该限制并导致额外的磁盘 I/O。

BlackBerry

有关 BlackBerry 和 Exchange 2007 的详细信息,请查看 Research In Motion (RIM) 网站上的 BlackBerry Enterprise Server for Microsoft Exchange 网页上的性能基准指南。

note注意:
UNRESOLVED_TOKEN_VAL(exNote3rdPartyURL)

公用文件夹

如果服务器上驻留有公用文件夹,将产生额外的 I/O 负载。但是,如果服务器上不存在文件夹内容的副本,那么相对于用户邮箱访问产生的 I/O,公用文件夹数据库存在所产生的 I/O 几乎可以忽略不计。

备份

备份邮箱时需要进行认真的规划。以下各节提供了一些有关 VSS 和流式联机备份的注意事项。每个解决方案都进行了调整,以在成本、时间和可靠性等方面达到平衡。大多数管理员都会为联机数据库维护、碎片整理以及操作系统维护定义时间。这些活动会争用备份时间。平衡备份、维护和生产负载时需要特别小心。较大的邮箱可能会导致无法在 SLA 内完成每日完整备份策略。减小完整夜间备份的影响的常用策略是执行每周完整备份和每日差异备份。使用此策略时,需要恢复完整备份,然后恢复最新的差异备份。

卷影复制服务

有关 Exchange 2003 的 VSS 基础知识和 VSS 最佳实践的详细信息,建议您参阅 Best Practices for Using Volume Shadow Copy Service with Exchange Server 2003(使用 Exchange Server 2003 的卷影复制服务的最佳实践)。除了该文章中介绍的信息之外,在 Exchange 2007 中还必须要考虑两个与 VSS 有关的重要事项:

  • 较大的邮箱

  • 备份 CCR 和 LCR 副本的能力

尽管可以对生产数据或副本数据执行 VSS 备份,但是建议您备份副本并避免影响生产物理磁盘。

使用 LCR 时,Exchange 2007 将事务日志复制到同一服务器上的独立磁盘中。对副本使用 VSS 克隆时,应在不同的物理磁盘上配置副本存储,以便克隆操作和校验与完整性检查不会影响生产物理磁盘。对副本使用 VSS 快照时,应在不同的物理磁盘上配置副本存储,以便校验和完整性检查及后续的磁带流式传输不会影响生产物理磁盘。

使用 CCR 时,Exchange 2007 将事务日志复制到独立的服务器上。此服务器是群集中的节点,但是目标副本不会保留在共享存储上。使用 VSS 克隆时,可以使用不同的物理磁盘对被动节点上的副本运行校验和完整性检查,从而隔离备份过程。使用 VSS 快照时,校验和完整性检查及后续的磁带流式传输不会影响生产服务器或物理磁盘。

流式联机备份

与数据通常在存储设备内部移动的基于硬件的 VSS 备份不同,使用流式备份时,服务器将负责移动数据。校验和完整性检查过程对性能的影响不会成为问题,因为在备份期间会检查每个页面。在并行备份情况下,多个数据流可能会使备份媒体的限制更加重要,无论是千兆比特的以太网连接的磁带还是光纤通道连接的磁带都是如此。对于许多客户而言,备份 SLA 窗除以其流式备份媒体每分钟的吞吐量,可以限制允许的存储组大小。例如,如果存储组的 SLA 为 1 小时,并且每秒可以备份 100 MB 的数据,则最大存储组大小将为 360 GB。

客户端访问服务器

客户端访问服务器使邮箱服务器不必再处理许多无状态的任务(假定角色安装在不同的物理服务器上),并提供一个统一命名空间,无论位于哪个邮箱服务器上,用户只需要指向一个名称即可。Internet 邮件访问协议版本 4 (IMAP4)、邮局协议版本 3 (POP3) 和 HTTP 等 Internet 协议由客户端访问服务器提供。Outlook Anywhere、ActiveSync、自动发现服务、可用性服务和 Web 服务是由客户端访问服务器提供的功能的其他示例。

客户端访问服务器受 CPU、内存和网络瓶颈影响,但它占用的磁盘 I/O 非常少。简单邮件传输协议 (SMTP) 通信是运行 Exchange 2003 和 Exchange 2000 的前端服务器中一个潜在的磁盘 I/O 考虑事项,现在为集线器传输服务器和边缘传输服务器独有。

下表介绍客户端访问服务器角色的活动以及每项活动对磁盘 I/O 的影响。

Exchange 2007 中的客户端访问服务器角色活动

活动 活动对磁盘 I/O 的影响

协议日志记录

协议日志记录是按顺序写入的内容,如果被启用,会导致性能问题并占用磁盘空间来存储日志。保留您选择记录的协议的历史记录时,可以验证该协议是在执行预期的工作还是遇到了通信问题,还可确定来自 Internet 的攻击。

内容转换

所有 Exchange 2007 协议的内容转换均在客户端访问服务器上进行。旧版 Outlook Web Access 客户端的旧版 WebDAV 内容转换在 Exchange 2003 邮箱服务器上进行。客户端请求必须在客户端访问服务器上转换的数据时,将从 Exchange 2003 邮箱服务器访问此数据,在邮箱服务器的 TMP 文件夹中转换数据,并将此数据发送到客户端访问服务器。为了提高性能,TMP 文件夹与页面文件和操作系统不应在相同的 LUN 上。

分页

如果某个进程请求内存中的某个页面,但是系统在所请求的位置中未找到该页面,则会发生页面错误。如果该页面位于内存的其他位置,则该错误为软页面错误。如果必须从磁盘中检索该页面,则该错误为硬页面错误。大多数处理器都可以处理大量的软页面错误,不会有任何后果。但是,硬页面错误可能会造成明显的延迟。连续的高磁盘分页率表明内存不足。

在用户使用 Internet 客户端通过 POP3 或 IMAP4 协议访问邮箱数据的方案中,磁盘 I/O 将成为客户端访问服务器的问题。因为传输引擎会将所有传入邮件转换为 MAPI,在将邮件发送到 POP3 或 IMAP4 客户端之前,该客户端需要将其转换回多用途 Internet 邮件扩展 (MIME)。此转换在客户端访问服务器上进行,如果邮件大于 64 KB,则该转换将在磁盘上进行。如果大量用户使用 POP3 或 IMAP4,则应将进行转换的临时文件夹放在专用的快速磁盘上。

传输服务器

集线器传输服务器和边缘传输服务器是 Exchange 2007 的桥头和网关服务器。其主要任务是发送和接收邮件。许多公司将传输服务器部署成两个组:

  • 反垃圾邮件和防病毒保护(边缘传输服务器)

  • 路由(集线器传输服务器)

边缘传输服务器的主要职责是避免 Exchange 基础结构收到包含垃圾邮件或病毒的传入邮件。集线器传输服务器则对干净的邮件进行分类并将其传递到正确的邮箱服务器。对这些服务器的存储的影响会有所不同,这取决于每秒处理的邮件数以及这些邮件的平均大小。

下表介绍边缘传输服务器和集线器传输服务器的活动以及每项活动对磁盘 I/O 的影响。

Exchange 2007 中边缘传输服务器角色和集线器传输服务器角色的活动

活动 活动对磁盘 I/O 的影响

ESE 数据库(mail.que 文件)

Exchange 2007 边缘传输服务器和集线器传输服务器将所有邮件均存储在 ESE 数据库中。随机访问 ESE 数据库,并使用 8 KB 的页面大小。为了确保可靠性,并且在某些情况下由于性能原因,数据库应与事务日志位于不同的磁盘上。

事务日志文件(.log 文件)

对数据库所做的所有更改都首先提交给事务日志,该日志是按顺序写入到磁盘的内容。写入的大小各不相同:从 512 字节到日志缓冲区大小。

协议日志记录和邮件跟踪日志

邮件跟踪日志记录和协议日志记录是按顺序写入的内容,如果被启用,则会导致性能问题并占用磁盘空间来存储日志。保留您选择记录的协议的历史记录时,可以验证该协议是在执行预期的工作还是遇到了通信问题,还可确定来自 Internet 的攻击。

内容转换

在集线器传输服务器上,来自 Internet 的传入邮件在传递前转换为 MAPI。此内容转换过程在 TMP 文件夹中进行。为了提高性能,TMP 文件夹与分页文件和操作系统不应在相同的 LUN 上。

分页

如果某个进程请求内存中的某个页面,但是系统在所请求的位置中未找到该页面,则会发生页面错误。如果该页面位于内存的其他位置,则该错误为软页面错误。如果必须从磁盘中检索该页面,则该错误为硬页面错误。大多数处理器都可以处理大量的软页面错误,不会有任何后果。但是,硬页面错误可能会造成明显的延迟。连续的高磁盘分页率表明内存不足。

代理

传输服务器的自定义通过代码(称为代理)完成,代码在公共语言运行时环境中运行并由事件触发。某些代理记录数据,这样将影响磁盘性能并占用磁盘空间来存储日志。

统一消息服务器

有关调整统一消息服务器大小的详细信息,请参阅 Determining the Number of Users an Exchange 2007 Unified Messaging Server Can Support

note注意:
UNRESOLVED_TOKEN_VAL(exBlog)