在 Windows Server 2008 上安装群集连续复制

 

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

上一次修改主题: 2008-12-19

尽管在 Windows Server 2008 上部署群集连续复制 (CCR) 的过程与在 Windows Server 2003 上部署 CCR 的过程类似,但两者之间还是存在一些明显的差别。在部署 CCR 之前,建议您完整地复习一下群集连续复制。此外,请确保符合规划群集连续复制中指定的所有要求。

在 Windows Server 2008 上安装 CCR 分为几个不同的阶段:

  1. 配置硬件设置,从建立和配置群集网络开始。

  2. 建立群集,先建立第一个节点,然后建立第二个节点。

  3. 配置群集网络以及丢失的群集检测信号的容错设置。

  4. 配置和保护文件共享见证。

  5. 在群集中安装主动和被动邮箱服务器角色。群集邮箱服务器 (CMS) 是在安装主动邮箱服务器角色期间创建的。

    note注意:
    建议您在完成每个阶段后再开始下一个阶段。完成所有阶段之后,建议您先验证 CCR 解决方案,然后再投入使用。

还必须执行一些安装后任务:

  • 调整故障转移控制设置。

  • 调整传输转储程序的默认配置。

  • 验证能否在群集节点之间移动 CMS。

  • 为连续复制活动启用多个网络。

执行下列任一引用过程之前,必须首先确保目标计算机安装了 Windows Server 2008 所需的操作系统组件。有关如何在 Windows Server 2008 上安装 Microsoft Exchange 先决条件的详细步骤,请参阅如何在 Windows Server 2008 或 Windows Vista 上安装 Exchange 2007 SP1 和 SP2 先决条件

下列各部分将更详细地介绍上述每一安装阶段。

网络的建立和配置

在 Windows Server 2008 上的双节点 CCR 环境中创建 CMS 时,必须有足够数量的可用 IP 地址。Windows Server 2008 故障转移群集引入了新的联网功能,这是基于传统群集中处理方式的一项重大转变。例如,Windows Server 2008 故障转移群集引入了对多个子网的支持,以及对动态主机配置协议 (DHCP) Internet 协议版本 4 (IPv4) 和 IPv6 的支持。在 Windows Server 2008 故障转移群集中运行时,Microsoft Exchange Server 2007 Service Pack 1 (SP1) 支持地理位置分散的群集在两个子网之间进行故障转移。这种支持包括单一副本群集 (SCC) 及 CCR 环境中的邮箱服务器。

note注意:
尽管 Windows Server 2008 故障转移群集支持 DHCP IPv4,但建议您在生产环境中采用静态 IP 地址。如果在故障转移群集中使用 DHCP IPv4,则建议您将 DHCP 服务器配置为提供无限期租约。

从 Windows Server 2008 故障转移群集开始,现在单个群集节点可以位于单独的路由网络中。由于并非所有的群集节点都将拥有与群集所知的所有网络的直接本地连接,所以这就需要依赖于 IP 地址资源的资源(例如,网络名资源)实施 OR 逻辑。这有助于当服务或应用程序故障转移到远程节点时 IP 地址和网络名资源进入联机状态。

所有与网络名资源关联的联机 IP 地址都将在域名系统(如果已对动态更新配置)中动态注册,其中的列表已经过排序,以便先将那些联机的 IP 地址资源返回到客户端。由于群集节点可以位于不同的路由网络,并且通信机制也已更改为使用通过用户数据报协议 (UDP)(单播)实现的可靠的会话协议,因此,对地理位置分散的群集的联网要求已不再适用。因此,组织可以部署跨两个物理数据中心的故障转移群集,而不必使用虚拟 LAN (VLAN) 技术跨两个位置覆盖群集子网。

公用和专用网络都需要 IP 地址。与专用地址和公用地址有关的要求如下所述:

  • 专用地址   在每个节点上,每个用于群集专用网络的网络适配器都需要一个 IP 地址。可以使用静态 IPv4 地址或动态分配的 IPv6 地址。所使用的 IP 地址必须与公用网络的 IP 地址不在同一个子网或网络上。建议您使用 10.10.10.10 和 10.10.10.11(子网掩码为 255.255.255.0)作为节点的专用 IP 地址。

  • 公用地址   在每个节点上,每个用于群集公用网络(有时指“混合”网络)的网络适配器都需要一个 IP 地址。另外,故障转移群集和 CMS 也需要 IP 地址,以便客户端和管理员能够访问它们。所使用的 IP 地址必须与专用网络的 IP 地址不在同一个子网或网络上。可以使用静态 IPv4 地址、DHCP IPv4 地址或静态 IPv6 地址。

    important要点:
    群集网络的所有网络适配器都必须使用同一版本的 TCP/IP,也就是说,它们必须全部使用 IPv4 或全部同时使用 IPv4 和 IPv6。

群集邮箱服务器的网络最佳做法

还建议您对群集网络执行下列最佳实践:

  • 使用有意义的名称 建立群集后,将有很多机会使用有意义的群集节点名称、群集网络接口名称、群集名称和 CMS 名称。例如,用来与其他 Exchange 服务器和客户端通信的网络可以称为“公用网络”。用来在群集节点之间通信的网络可以称为“专用网络”。使用可以相互联系的名称,而不必复查拓扑结构映射。另一种有效的约定是将群集节点与 CMS 名称相关联。例如,使用 mbx01、mbx01-node1 和 mbx01-node2 分别代表 CMS 和两个节点。

  • 专用网络接口使用专用 IP 地址   有关可用于每个节点上的专用网络接口的 IP 地址范围和子网掩码的列表,请参见下表。

    专用网络接口使用的地址范围和子网掩码

    网络/节点 IP 地址范围 子网掩码

    专用/节点 1

    10.10.10.10-255

    255.255.255.0

    专用/节点 2

    10.10.10.11-255

    255.255.255.0

请注意以下事项:

  • 如果公用网络使用 10.x.x.x 网络和 255.255.255.0 子网掩码,建议您使用备用专用网络 IP 地址和子网掩码。

  • 不推荐使用任何类型的容错适配器或专用网络“成组”。如果需要专用网络冗余,请使用仅为群集使用配置的多个网络适配器。如果使用此技术,请确认固件和驱动程序为最新修订版,这一点很重要。有关在服务器群集中的兼容性信息,请联系您的网络适配器制造商。有关网络适配器在故障转移群集部署中成组的详细信息,请参阅 Microsoft 知识库文章 254101,网络适配器成组和服务器群集

建立故障转移群集

将第一个节点添加到群集时形成故障转移群集。此过程为群集提供唯一的网络名和唯一的网络 IP 地址。网络名和 IP 地址(共同构成群集的网络标识)随着节点的联机和脱机变化在群集节点之间移动。通常,在管理 CMS 时很少使用群集的网络标识。

如果您熟悉如何在以前的版本中部署故障转移群集或 Exchange 群集,将发现 CCR 群集的部署截然不同。如果以前不了解群集解决方案,将发现与典型的群集配置相比,部署要简单得多。

可以按照如何为群集连续复制创建 Windows Server 2008 故障转移群集中的说明构建新群集。

添加其他节点

在第一个节点上安装群集服务之后,您会发现在第二个节点上安装时需要的时间更短。这是因为安装程序使用第一个节点上配置的网络配置设置作为配置后续节点上的网络设置的基础。在添加并配置第二个节点之前,应先验证群集配置。可以通过从命令提示符运行 Cluster.exe group 来验证群集服务是否正在运行以及群集是否工作正常。输出结果应如下所示。

C:\>cluster group
Listing status for all available resource groups:
Group                   Node            Status
------------------ ---------------      ------
Cluster Group         <NODEName>        Online

在继续之前,还建议您查看事件日志中可能要求干预的错误和警告。有关如何在群集中添加第二个节点的详细步骤,请参阅如何为群集连续复制创建 Windows Server 2008 故障转移群集

配置群集网络

将这两个节点添加到群集后,必须配置群集网络组件。具体来说,必须配置网络以进行群集访问和客户端访问,还必须配置丢失的群集检测信号的容错设置。我们还建议使用更有意义的名称来重命名群集网络。

下表详细说明为群集网络配置群集检测信号时的可用选项。

配置群集网络的选项

选项 说明

允许群集使用此网络(专用网络)

如果希望群集服务仅使用此网络进行跨节点通信,请仅选择此选项。客户端将无法使用此网络连接到 CMS。

允许群集使用此网络并允许客户端通过此网络(混合网络)进行连接

如果希望群集服务使用网络适配器进行群集节点间通信和与外部客户端的通信,则选中这两个选项。群集服务将使用此网络进行节点间通信,并且客户端将能够使用此网络连接到 CMS。

不允许群集使用此网络(非托管网络)

如果不希望在群集中使用网络或希望让群集服务管理网络,请仅选择此选项。这样,群集服务将无法使用此网络进行节点间通信,客户端也无法使用此网络连接到 CMS。

在 CCR 环境中部署的 CMS 要求在每一个节点中至少支持两个网卡。在 Exchange 2007 SP1 中,由群集服务管理且为群集使用和客户端连接而启用的任何网络(例如,已配置为混合网络)均可用于连续复制功能,包括种子设定、日志传送和重新设定种子。这是使用 Exchange 2007 SP1 中名为 Enable-ContinuousReplicationHostName 的新 cmdlet 完成的。

note注意:
配置群集网络的一种方法是首先创建初步网络配置,然后在仅选择网络测试的情况下(例如,跳过库存测试、存储测试和系统配置测试),运行故障转移群集管理工具中的验证配置向导。如果仅运行网络测试,则该过程不会花费很长时间。您可以根据验证报告按需要更改网络配置。配置好整个群集后,建议您重新运行验证配置向导并选择所有测试。

配置丢失的群集检测信号的容错设置

配置好群集通信和网络优先级后,建议您配置丢失的群集检测信号的特定容错设置。这样就可以将群集节点之间的网络连接的群集服务监视配置为容许较短的中断。在网络中断时间很短的情况下,这可防止故障转移。建议您将所有节点上的专用和混合群集网络都配置为容许丢失十个检测信号。此设置级别对应的时间大约为 12 秒。

有关如何配置群集网络组件的详细步骤,请参阅如何为故障转移群集配置群集网络

配置群集邮箱服务器网络名资源的 TTL 设置

有以下两种部署方案,其中的练习中断和恢复选项都会更改指派给 CMS 的 IP 地址:

  • CMS 部署在多子网环境中。

  • 使用备用群集恢复发生故障的群集。

这两种方案中,CMS 的名称都不会改变,但指派给 CMS 的 IP 地址将改变。对于 IP 地址已更改的 CMS,在使用新 IP 地址更新 DNS 并更新所有本地 DNS 高速缓存前,与其通信的客户端和其他服务器将无法重新建立与该 CMS 的连接。为尽量缩短将 DNS 更改通知到客户端和其他服务器的时间,建议您将 CMS 的网络名资源的 DNS TTL 值设置为五分钟。

note注意:
在大多数环境中,建议只为 CMS 网络名称资源设置 DNS TTL 值。不过,在使用非 Exchange 管理工具通过群集名称连接到群集进行管理的环境中,建议为群集网络名称资源设置 5 分钟的 TTL 值。

默认情况下,群集服务为网络名称资源的 DNS TTL 使用的值是 20 分钟。尽管可使用 DNS 管理工具直接在 DNS 数据库中手动调整主机名的 TTL 值,但在每次刷新 DNS 中的网络名注册时,DNS 数据库中的值都将被覆盖并被设置为群集服务的默认值 20 分钟。每当启动、移动 CMS 或 CMS 发生故障或故障转移后重新联机时,都会刷新 DNS 中的网络名注册。

在 Windows Server 2008 中,已对故障转移群集中的网络名资源添加了一个新的专有属性。新属性名为 HostRecordTTL,可以使用 Cluster.exe 对其进行配置。

note注意:
该属性仅在 Windows Server 2008 故障转移群集中可用。在 Windows Server 2003 故障转移群集中没有此属性。对于运行 Windows Server 2003 的故障转移群集,群集服务的默认值 20 分钟始终适用。

有关如何配置 CMS 网络名资源的 DNS TTL 值以在多子网 CMS 或备用群集部署中使用的详细步骤,请参阅如何为网络名称资源配置 DNS TTL 值

配置群集仲裁

配置好群集网络后,下一步骤就是将故障转移群集配置为使用节点和文件共享多数仲裁资源。有关如何将故障转移群集配置为使用节点和文件共享多数仲裁模型的详细步骤,请参阅如何配置多数节点和文件共享仲裁

验证故障转移群集

Windows Server 2008 包括名为验证配置向导的新向导,用于验证故障转移群集的运行状况和配置。建议在群集中安装 Exchange 2007 之前运行此向导。通过在安装 Exchange 2007 之前运行此向导,可以确定并解决群集中可能防碍安装 Exchange 的配置问题。

验证配置向导包括四组测试,旨在验证群集是否满足获得 Microsoft 支持的必要条件。除了要求群集解决方案应带有“为 Windows Server 2008 而设计”兼容性徽标之外,这些要求也是必需的。

这四组测试分别是:库存、网络、存储和系统配置。由于 CCR 不使用共享存储,所以无需运行“存储”测试组。如果对没有任何群集存储资源的故障转移群集(如为 CCR 设计的故障转移群集)运行“存储”测试组,则“存储”测试组将失败。由于为 CCR 设计的故障转移群集本来就不应该有共享存储,所以完全可以忽略“存储”测试组的所有故障。

有关如何验证故障转移群集的详细步骤,请参阅如何验证故障转移群集配置

群集邮箱服务器的安装和配置

通过在每个节点上执行一些步骤,可以在群集中安装邮箱服务器角色。建立并验证了群集之后,并且在将群集配置为使用文件共享见证的多数节点集 (MNS) 仲裁,应先在主动节点上安装邮箱服务器角色。有关如何在主动节点上安装邮箱服务器角色的详细步骤,请参阅如何在 Windows Server 2008 上的 CCR 环境中安装主动群集邮箱角色

在主动节点上安装邮箱服务器角色和 CMS 并验证第一个存储组的配置之后,应在被动节点上安装邮箱服务器角色。有关如何在被动节点上安装邮箱服务器角色的详细步骤,请参阅如何在 Windows Server 2008 的 CCR 环境中安装被动群集邮箱角色

安装了邮箱服务器角色之后,可以选择优化故障转移设置。有关优化故障转移的详细信息,请参阅如何为群集连续复制微调装入和故障转移设置

安装后的任务

在这两个节点上安装邮箱服务器角色并创建 CMS 之后,应执行一些安装后任务。这些任务包括:

  • 为连续复制活动启用多个网络。

  • 调整故障转移控制设置。

  • 调整传输转储程序的默认配置。

  • 验证能否在群集节点之间移动 CMS。

为连续复制活动启用多个网络

在 Microsoft Exchange Server 2007 的正式发布 (RTM) 版中,所有的日志文件复制和种子设定都是通过公用网络进行的。在 Exchange 2007 SP1 中,可以为连续复制活动启用配置为混合网络的任一群集网络。此活动包括存储组种子设定与重新设定种子以及日志传送。

在 Exchange 2007 SP1 中,只能为连续复制启用指定为混合网络的群集网络。混合网络指同时为群集访问通信(节点间通信)和客户端访问通信配置的任一群集网络。不能为连续复制启用配置为群集访问但不是客户端访问的群集网络(有时称为专用网络)。

通过混合网络对日志传送提供的支持是使用名为 Enable-ContinuousReplicationHostName 的新 cmdlet 进行配置的。同样,可使用 Disable-ContinuousReplicationHostName cmdlet 关闭此功能。当 CCR 环境中拥有 CMS 后,管理员可以在群集的两个节点上运行 Enable-ContinuousReplicationHostName 并指定两个 IP 地址和两个主机名。此后,如果配置成功且确认混合网络运行正常,系统会随机选择一个混合网络进行日志复制。

有关如何为连续复制活动启用群集网络的详细步骤,请参阅如何在 Windows Server 2008 上启用冗余群集网络的日志传送和种子设定

note注意:
每次运行 Enable-ContinuousReplicationHostName cmdlet 时,除了指定主机名、IP 地址及在故障转移群集上创建的群集组以外,还要在包含 CMS 的 Active Directory 域中创建一个计算机帐户。在 Windows Server 2008 中,默认情况下,对于没有委派域管理员权限、未授予“创建计算机对象”和“删除计算机对象”访问控制条目 (ACE) 的用户,最多可添加 10 个计算机帐户。如果频繁运行 Enable-ContinuousReplicationHostNameDisable-ContinuousReplicationHostName cmdlet 的 Exchange 管理员没有域管理员权限或上述 ACE,很快会达到 10 个帐户的限制。知识库文章 307532 当群集服务帐户修改计算机对象时如何解决其故障中介绍了解决以上问题的方法。知识库文章 251335 域用户无法将工作站或服务器加入到域中中提供了其他信息。

种子设定和重新设定种子是使用 Update-StorageGroupCopy cmdlet 在 CCR 环境中执行的。在 Exchange 2007 SP1 中,该 cmdlet 已经过扩展,包含新参数 DataHostNames。该参数用于指定应使用哪个网络进行种子设定或重新设定种子。该参数的值是包含以下任何一种名称的多值列表:完全限定的域名 (FQDN) 或主机名。任一种名称都必须标识被动节点。

调整故障转移控制设置

CCR 包含的属性可以控制 CMS 的故障转移行为。可以使用 Set-MailboxServer cmdlet 来配置这些属性。提供这些属性是为了让您能够控制下列两个决策算法:

  • 算法 1   算法 1 用于控制在故障转移时是否装入数据库。在进行故障转移时,如果检测到数据库的丢失日志数小于所配置的日志数,则会自动装入该数据库。可以使用名为 AutoDatabaseMountDial 的值配置可接受的丢失日志数。此参数在 Active Directory 中由名为 msExchDataLossForAutoDatabaseMount 的 Exchange Server 属性表示,具有三个值:LosslessGood AvailabilityBest Availability。Lossless 表示丢失的日志数为 0;Good Availability 表示丢失的日志数为 3;默认值 Best Availability 表示丢失的日志数为 6。有关如何配置这些值的详细步骤,请参阅如何为群集连续复制微调装入和故障转移设置

  • 算法 2   算法 2 用于确定使用旧数据联机是否比脱机更重要。如果基于算法 1 无法装入数据库,则可以设置执行第二次检查的时间。通过 ForcedDatabaseMountAfter 属性可配置等待时间。该值以小时为单位,默认值为 unlimited。

    important要点:
    达到 ForcedDatabaseMountAfter 的值时,将装入数据库,无论存储组副本是落后 1 个日志、落后 10 个日志,还是落后 1,000 个日志,这可能导致丢失大量的数据。因此,如果服务级别协议 (SLA) 允许发生丢失大量数据的情况,则不应使用此参数。

调整传输转储程序

“传输转储程序”是集线器传输服务器角色的一个功能,使用本地连续复制 (LCR) 或 CCR 时必须配置此功能,并且仅供 LCR 和 CCR 环境使用。传输转储程序在发生非计划中断之后提交最近送达的邮件。使用 LCR 或 CCR 时,应始终启用传输转储程序。通过设置每个存储组可用的存储空间量并设置在传输转储程序中保留邮件的时间,可以在整个组织范围启用传输转储程序。

集线器传输服务器会维护最近传递到 CMS 的邮件队列。如果故障转移不是无损的,CCR 自动请求站点中的每台集线器传输服务器重新从传输转储程序队列提交邮件。在 LCR 环境中,重新提交的请求作为 Restore-StorageGroupCopy 任务的一部分执行。重新提交时,信息存储会自动删除重复的邮件,并重新传递丢失的邮件。可以使用 Set-TransportConfig cmdlet 更改传输转储程序的默认配置设置,这些设置在存储组级别应用。在 Exchange 2007 SP1 中,您还可使用 Exchange 管理控制台配置传输转储程序值。

我们建议您将每个存储组的最大大小(MaxDumpsterSizePerStorageGroup 参数)配置为可发送的最大邮件大小的 1.5 倍。例如,如果邮件的最大大小为 10 MB,应将 MaxDumpsterSizePerStorageGroup 参数的值配置为 15 MB。对于没有设置最大邮件大小的组织,建议您将每个存储组的最大大小配置为组织中发送的平均邮件大小的 1.5 倍。

我们还建议您将每个存储组的最长保留时间(MaxDumpsterTime 参数)配置为 07.00:00:00,也就是 7 天。此时间量足以保证在发生较长时间中断的情况下,也不会丢失电子邮件。使用传输 Dumpster 功能时,集线器传输服务器上需要具有额外的磁盘空间,以便驻留传输转储程序队列。所需的存储空间量大约等于 MaxDumpsterSizePerStorageGroup 的值与包含集线器传输服务器的 Active Directory 站点上使用连续复制的所有邮箱服务器上存储组数的乘积。

有关如何启用并配置传输转储程序的详细步骤,请参阅如何配置传输 Dumpster

验证 CCR 解决方案

安装完 CCR 解决方案或对配置进行重大更改之后,建议验证 CMS 的运行状况和状态,还要验证是否已正确配置这两个节点支持 CMS。

建议您通过运行 Test-ReplicationHealth cmdlet、Get-StorageGroupCopyStatus cmdlet 和 Get-ClusteredMailboxServerStatus cmdlet 验证 CMS 的运行状况和状态:

  • Test-ReplicationHealth cmdlet 是 Exchange 2007 SP1 中的新增功能。此 cmdlet 设计用于主动监视连续复制和连续复制管道。Test-ReplicationHealth cmdlet 检查复制、群集服务以及存储组复制和重播状态的所有方面,以提供复制系统的完整概述。有关 Test-ReplicationHealth cmdlet 的详细信息,请参阅 Test-ReplicationHealth

  • Get-StorageGroupCopyStatus cmdlet 提供每个存储组的当前复制状态信息。有关如何查看 CCR 环境中存储组状态的详细步骤,请参阅如何使用 Exchange 管理外壳查看群集连续复制副本的状态

  • Get-ClusteredMailboxServerStatus cmdlet 提供 CMS 的基本运行状态。有关如何获得 CMS 的基本运行状态的详细步骤,请参阅如何查看群集邮箱服务器的状态

建议使用 Move-ClusteredMailboxServer cmdlet 将 CMS 移动到每个节点来验证这两个节点都能使 CMS 联机。在 Exchange 2007 SP1 中,还可以使用 Exchange 管理控制台中的管理群集邮箱服务器向导在节点之间移动 CMS,以验证这两个节点是否都可以使 CMS 联机。