规划备用连续复制

 

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

上一次修改主题: 2008-09-11

尽管部署备用连续复制 (SCR) 与部署本地连续复制 (LCR) 类似,但必须注意二者之间的重要差异。对于 SCR,必须满足下列常规要求。

备用连续复制的常规要求

在为任何存储组启用 SCR 之前,建议您熟悉下列 SCR 源和目标要求:

  • 一个源可以有多个目标。例如,一个源可以有一个与该源同在一个数据中心的目标,以及在另一个数据中心的第二个目标。每个源可以拥有的目标数量没有限制。但建议每个源的目标不超过四个。如果配置的目标超过四个,则需要验证对源服务器是否有其他影响,并依此进行规划。

  • 每个目标可以有多个源服务器。源和目标系统都必须运行 Exchange 2007 SP1。操作系统可以是 Exchange 2007 SP1 支持的任何操作系统(例如,Windows Server 2008 或 Windows Server 2003);但是,所有 SCR 目标计算机都必须运行与其 SCR 源计算机相同的操作系统。如果 SCR 源及其目标使用不同的操作系统(例如,SCR 源使用 Windows Server 2003,而 SCR 目标使用 Windows Server 2008,反之亦然),则不受支持。

  • SCR 目标计算机必须装有 Exchange 2007 SP1 邮箱服务器角色。如果 SCR 目标计算机是群集节点,则该节点必须是被动节点(例如,安装了被动群集邮箱角色),并且群集不能包含任何群集邮箱服务器。

  • 如果您计划在 SCR 目标激活过程中使用备用群集和群集邮箱服务器恢复功能 (Setup /RecoverCMS),则在使用 SCR 时,必须更加小心地规划 Exchange Server 安装路径。若要使用服务器恢复过程,Exchange Server 的安装路径必须与 SCR 源计算机和 SCR 目标计算机的安装路径相同。如果将 Exchange Server 安装在 SCR 源计算机上的 %ProgramFiles%\Microsoft\Exchange Server 中,则在作为 SCR 源服务器的 SCR 目标的所有计算机上,也必须将它安装在 %ProgramFiles%\Microsoft\Exchange Server 中。如果二者的安装路径不匹配,Setup /RecoverCMS 将失败,这是因为注册表中的安装路径与 Active Directory 目录服务中邮箱服务器对象的 msExchInstallPath 属性的值不匹配。

  • 如果在激活过程中需要恢复群集邮箱服务器,则在激活过程中使用 Setup /RecoverCMS 之前,必须对群集邮箱服务器上的所有存储组禁用 SCR。如果没有对所有存储组禁用 SCR,则 Setup /RecoverCMS 将失败。

  • SCR 源及所有目标上的存储组和数据库路径不得与其他任何存储组或数据库路径相冲突。在使用 SCR 时,您必须更加小心地规划存储组和数据库路径,这是因为 SCR 源使用的存储组和数据库路径将用于 SCR 源的所有目标的存储组和数据库副本。

  • SCR 源和 SCR 目标计算机必须在同一 Active Directory 域中,但是它们可以位于同一 Active Directory 站点上,也可以位于不同站点上。

  • 在使用 Exchange 2007 企业版时,每个目标计算机最多可以支持 50 个 SCR 目标(50 个复制存储组);在使用 Exchange 2007 标准版时,最多可以支持 5 个 SCR 目标。

SCR 目标计算机的限制

当将被动节点或独立邮箱服务器配置为 SCR 目标时,将禁止使用以下功能:

  • 指定为 SCR 目标的独立邮箱服务器不能为任何存储组启用 LCR。Microsoft Exchange 复制服务按设计无法处理其他源的 LCR 和复制管理,也没有针对这一目的进行修改。

  • 指定为 SCR 目标的被动节点必须是不含任何群集邮箱服务器的故障转移群集的成员。此群集称为“备用群集”。有关备用群集的详细信息,请参阅高可用性

SCR 和公用文件夹数据库

SCR 和公用文件夹复制是内置到 Exchange 中的两种极为不同的复制形式。由于连续复制和公用文件夹复制之间有互操作性限制,当 Exchange 组织中的多个邮箱服务器具有公用文件夹数据库,而且启用了公用文件夹复制时,不应该将公用文件夹数据库驻留在 SCR 环境中。

note注意:
由于数据库可移植性只能用于邮箱数据库,因此,激活公共文件夹数据库的 SCR 目标副本仅可作为恢复服务器或群集邮箱服务器操作(例如,Setup /m:recoverServer 或 Setup /recoverCMS)的一部分予以执行。

以下是在 Exchange 组织中使用公用文件夹数据库和 SCR 的建议配置:

  • 如果在 Exchange 组织中具有单个邮箱服务器,而且该邮箱服务器是独立邮箱服务器或 SCC 中的群集邮箱服务器,则该邮箱服务器可以驻留公用文件夹数据库,并可以对包含公用文件夹数据库的存储组启用 SCR(假如未对该存储组启用 LCR)。在此配置中,Exchange 组织中只有一个公用文件夹数据库。因此,禁用公用文件夹复制。在这种情况下,可以使用 SCR 实现公用文件夹数据库冗余;SCR 可维护公用文件夹数据库的两个副本。

  • 如果具有多个邮箱服务器,其中只有一个邮箱服务器包含公用文件夹数据库,而且该邮箱服务器是独立邮箱服务器或 SCC 中的群集邮箱服务器,则该邮箱服务器可以驻留公用文件夹数据库,并可以对包含公用文件夹数据库的存储组启用 SCR(假如未对该存储组启用 LCR)。在此配置中,Exchange 组织中只有一个公用文件夹数据库。因此,禁用公用文件夹复制。在这种情况下,也可以使用 SCR 实现公用文件夹数据库冗余。

  • 如果要将公用文件夹数据迁移到启用了 SCR 的存储组中,可以使用公用文件夹复制,将公用文件夹数据库的内容从独立邮箱服务器或 SCC 中的群集邮箱服务器移动到已启用 SCR 的存储组。成功完成复制后,应该删除已启用 SCR 的存储组之外的所有公用文件夹数据库,而且不应该在 Exchange 组织中驻留任何其他公用文件夹数据库。

  • 如果要将公用文件夹数据迁移到启用了 SCR 的存储组之外,可以使用公用文件夹复制,将公用文件夹数据库的内容从存储组移动到独立邮箱服务器或 SCC 中的群集邮箱服务器。成功完成复制后,应该删除已启用 SCR 的所有存储组内部的所有公用文件夹数据库,而且不应该在已启用 SCR 的存储组中驻留所有后续公用文件夹数据库。

当 Exchange 组织中存在多个公用文件夹数据库,而且一个或多个公用文件夹数据库驻留在启用了 SCR 的存储组中时,如果 SCR 源存储组出现故障且需要激活 SCR 目标公用文件夹数据库,则仅当驻留公用文件夹数据库的存储组的所有日志可用时,才能使它成为可装入的存储组。如果因 SCR 源出现故障而导致任何日志丢失或不可用,则将无法激活公用文件夹数据库的 SCR 目标副本。在这种情况下,必须使 SCR 源联机才能确保数据不会丢失,或者必须在 SCR 源上重新创建公用文件夹数据库,而且必须使用公用文件夹复制从 SCR 目标副本之外的公用文件夹数据库恢复其内容。

SCR 和备份

不能备份 SCR 目标副本。LCR 和 CCR 支持活动副本和被动副本的备份。SCR 仅支持 SCR 源的备份。当对 SCR 源存储组进行受支持的备份时,将更新 SCR 目标的数据库头,并截断日志文件。如果为 SCR 源存储组启用了 CCR 或 LCR,当对 SCR 源存储组的活动或被动副本进行备份时,将更新 SCR 目标的数据库头,并截断日志文件。

SCR 和还原

如果使用早期版本的数据库替代 SCR 源数据库,则必须分别使用 Suspend-StorageGroupCopyResume-StorageGroupCopy 先暂停再恢复存储组的连续复制。该过程需要使用正确的日志生成信息更新 Microsoft Exchange 复制服务。如果没有先暂停再恢复连续复制,则复制服务将有过期的日志生成信息,并将停止复制日志文件。

SCR 和日志文件截断

在 Exchange 2007 RTM 中,进行了规则强制执行,这样在连续复制环境中不会删除日志文件,除非已将日志文件备份并重播到数据库副本中。在使用 SCR 时,对该规则做了修改。SCR 引入了多数据库副本的概念。SCR 允许在所有 SCR 目标计算机检查日志文件后,在 SCR 源上截断这些日志文件。SCR 源上的日志截断并不需要等所有日志都被重播到所有 SCR 目标中,因为 SCR 目标副本可以配置很大的日志重播延迟。但是,如果存储组的一个或多个 SCR 目标停机,则在 SCR 源上不会发生日志截断。为了在 SCR 源上进行日志截断,SCR 目标计算机必须联机,并且可供 SCR 源访问。

在 SCR 目标上,后台线程每隔三分钟运行一次,以确定是否有任何日志文件需要截断。如果满足以下三个条件,日志文件将在 SCR 目标上被截断:

  • 日志文件已在 SCR 源上截断。

  • 日志文件生成顺序在存储组的日志文件检查点之下。

  • 日志文件比 ReplayLagTime + TruncationLagTime 旧。(有关这些参数的说明,请参阅备用连续复制主题中的“SCR 的 Cmdlet 更新”。)

在使用 SCR 扩展的 LCR 或 CCR 环境中,如果满足以下三个条件,将在 LCR 或 CCR 环境中的主动副本和被动副本上截断日志文件。

  • 日志文件已备份。

  • 日志文件生成顺序在存储组的日志文件检查点之下。

  • 所有 SCR 目标都已经检查了日志文件。

针对 SCR 优化 Windows 2003 网络

尽管在 Windows Server 2008 中使用 SCR 时无需优化网络,但在 Windows Server 2003 中使用 SCR 时,建议您根据特定网络链接的速度和延迟优化 Windows Server TCP/IP 设置。具体地说,可能需要在 SCR 源计算机和 SCR 目标计算机上调整传输控制协议 (TCP) 接收窗口大小和 Request for Comments (RFC) 1323 窗口缩放选项。此外,最好配置地址解析协议 (ARP) 缓存过期设置,并在 Windows 注册表中禁用 Windows Server 2003 可伸缩网络包 (SNP) 的高级 TCP/IP 选项。

除了这些建议以外,如果在您的环境中使用了 IP 安全 (IPsec) 协议,建议您在整个 SCR 环境中一致地配置 IPsec。即,SCR 源及其所有 SCR 目标都使用 IPsec,或者 SCR 源或其任一目标都不使用 IPSec。如果仅将一个节点配置为使用 IPsec,则 IPsec 安全关联过程可能会导致数据包延迟或数据包丢失。

TCP 接收窗口和 RFC 1323 缩放选项

TCP 接收窗口大小是一次用一个连接可以接收的最大数据量(字节)。发送计算机在等待从接收计算机返回确认和 TCP 窗口更新之前,只能发送最大数量的数据。最好调整此设置,以便提高日志传送期间的吞吐量。

若要优化 TCP 吞吐量,发送计算机应当传输足够多的数据包,以填充发送方和接收方之间的管道。网络管道的容量基于管道的带宽及其延迟(往返时间)。延迟越长,则容量越大,这是因为将有更多的时间用于在两次确认之间发送数据。通过增加 TCP 窗口大小,系统可以通过发送更多数据来利用两次确认之间的时间。


TCP/IP 标准允许的接收窗口大小高达 65,535 字节,这是可以在 16 位 TCP 窗口大小字段中指定的最大值。若要在高带宽、高延迟的网络上提高性能,通过使用 RFC 1323“TCP Extensions for High Performance”中所述的可缩放窗口,Windows Server TCP/IP 支持通告接收窗口大小大于 65,535 字节的能力。使用窗口缩放时,会话中的主机可以协商允许多个大型数据包(例如那些在文件传输协议中经常使用的数据包)在接收方缓冲区中挂起的窗口大小。RFC 1323 详细说明了一种方法,这种方法通过允许 TCP 在建立连接时协商窗口大小的缩放系数,来支持更大的接收窗口大小。

通过修改下面两个注册表项,可以在运行 Windows Server 2003 的计算机上优化 TCP 接收窗口大小和 RFC 1323 窗口缩放选项:TCPWindowSizeTCP1323Opts。有关这些功能的详细信息,请参阅 Microsoft 知识库文章 224829 描述 Windows 2000 和 Windows Server 2003 TCP 功能

建议您使用 Exchange 2007 邮箱服务器角色存储要求计算器的版本 13 或更高版本,根据网络链接和网络延迟来确定这些注册表项的最佳设置。若要下载该计算器,请参阅 Exchange 团队博客上的 Exchange 2007 Mailbox Server Role Storage Requirements Calculator。存储计算器还包括在服务器上输入注册表值的逐步说明。

note注意:
UNRESOLVED_TOKEN_VAL(exBlog)

ARP 缓存过期

ARP 缓存是将 IP 地址映射到媒体访问控制 (MAC) 地址的内存中的表。每次出站数据包被发送到条目中的 IP 地址时,就会引用 ARP 缓存中的条目。默认情况下,Windows Server 2003 自动调整 ARP 缓存的大小,以满足系统的需要。如果在连续两分钟内某个条目未被任何传出数据报使用,则从 ARP 缓存中删除该条目。所引用的条目则在十分钟后从 ARP 缓存中删除。手动添加的条目不会自动从缓存中删除。

由 Microsoft 内部 IT 部门进行的内部测试表明,在 CCR 和 SCR 环境中默认 ARP 缓存过期设置会导致数据包丢失。当发生数据包丢失时,发送服务器必须重新传输丢失的数据。在连续复制环境中,请务必尽快将日志文件复制到被动节点,因丢失数据包而重新传输数据会对日志传送吞吐量造成负面影响。

可以在 Windows 注册表中修改 ArpCacheMinReferencedLife TCP/IP 参数,以控制 ARP 缓存过期。此参数确定了所引用的条目在被删除之前必须在 ARP 缓存表中保留多长时间。在内部,Microsoft 发现 ArpCacheMinReferencedLife 注册表值的最佳设置与网络上路由器所用的 ARP 缓存过期值相等,该值是 4 小时。

在自己的环境中修改 ArpCacheMinReferencedLife 值之前,建议您使用 Microsoft 网络监视器或类似的捕获工具,来收集和分析用于将日志从主动节点复制到被动节点的网络接口上的网络流量。有关修改 ArpCacheMinReferencedLife 注册表值的详细步骤,请参阅 Appendix A:TCP/IP Configuration Parameters

可缩放网络包的高级 TCP/IP 功能

Windows Server 2003 可缩放网络包 (SNP) 是 Windows Server 2003 的单独更新,其中包含有状态和无状态减负功能以便对 Windows 网络堆栈加速。该更新包括 TCP Chimney 减负、接收端缩放 (RSS) 和网络直接内存访问 (NetDMA)。

TCP Chimney 是有状态减负。通过 TCP Chimney 减负,可以将 TCP/IP 处理中的一些负载转移到可以在硬件中进行 TCP/IP 处理的网络适配器。

RSS 和 NetDMA 是无状态减负。如果一台计算机中有多个 CPU,Windows 网络堆栈会将“接收”协议的处理限定到一个 CPU。RSS 解决此问题的方法是,将从网络适配器接收的数据包平均分摊到多个 CPU 上。NetDMA 允许在外围组件互连 (PCI) 总线上使用直接内存访问 (DMA) 引擎。TCP/IP 堆栈可以使用 DMA 引擎复制数据,而不是中断 CPU 来处理复制操作。相关的组件 TCPA 是另一个减负功能,此时可以使用 PCI 总线上的硬件 DMA 引擎来协助进行接收处理。

虽然在一些环境中这些功能可以提供网络性能优势,但在某些情况下,由于使用了其他技术而不能使用这些功能。例如,如果使用了以下任一技术,则不能使用 TCP Chimney 减负和 NetDMA:

  • Windows 防火墙

  • Internet 协议安全 (IPsec)

  • Internet 协议网络地址转换 (IPNAT)

  • 第三方防火墙

  • NDIS 5.1 中间驱动程序

此外,一些环境存在已知问题,包括使用 Microsoft Exchange 的环境,在这些环境中使用上述功能时网络性能会降低。有关某些已知问题的详细信息,请参阅 Exchange 团队博客文章 Windows 2003 Scalable Networking pack and its possible effects on Exchange

note注意:
UNRESOLVED_TOKEN_VAL(exBlog)

建议您在运行于 Windows Server 2003 操作系统上的 SCR 环境中,对操作系统和系统中的每个网络接口卡 (NIC) 禁用所有功能。可以按以下方式禁用这些功能:

有关 SNP 的详细信息,请参阅知识库文章 912222 Microsoft Windows Server 2003 可伸缩网络包发行版Scalable Networking网站。