备用连续复制:具有备用群集的站点弹性

 

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

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

本主题详细介绍组织 Contoso 公司如何在站点弹性方案中使用备用连续复制 (SCR)。在此方案中,主数据中心出现故障,Contoso, Ltd. 决定激活辅助数据中心。激活辅助数据中心之后,会重新配置主数据中心,最终存储为控制开关中的主数据中心。Contoso 公司有两个数据中心:一个称为 Active Directory SITEA 的主数据中心和一个称为 Active Directory SITEB 的第二个备份数据中心。SITEA 位于俄勒冈州波特兰,SITEB 位于加利福尼亚州圣何塞。

SITEA 包含下列基础结构组件:

  • 目录服务器 DC1,还提供安全的、与 Active Directory 集成的域名系统 (DNS) 服务

  • 客户端访问服务器 CAS1

  • 集线器传输服务器 HUB1

  • 群集邮箱服务器 EXCMS1,在双节点单一副本群集 (SCC) EXCLUS1 中运行,其中包含 NODEA 和 NODEB。请注意:

    • 故障转移群集中的节点在 Windows Server 2008 操作系统上运行,故障转移群集使用多数节点和多数磁盘仲裁进行配置。

    • 群集邮箱服务器的网络名资源的 DNS 生存时间 (TTL) 值配置为五分钟。这是通过运行下列命令,然后停止并启动群集邮箱服务器来配置的。

      Cluster.exe res "Network Name (EXCMS1)" /priv HostRecordTTL=300
      
      note注意:
      HostRecordTTL 属性仅在运行 Windows Server 2008 的故障转移群集上可用。此命令无法在运行 Windows Server 2003 操作系统的故障转移群集上使用。

SITEB 包含下列基础结构组件:

  • 目录服务器 DC2,它还提供安全的、与 Active Directory 集成的 DNS 服务

  • 客户端访问服务器 CAS2

  • 集线器传输服务器 HUB2

  • 单一节点群集 DRCLUS1,该群集将用作备用故障转移群集。请注意:

    • 该群集中的节点 NODEC 是备用故障转移群集中的唯一节点,并且它运行的是 Windows Server 2008。备用故障转移群集使用多数节点仲裁进行配置。

      note注意:
      在运行 Windows Server 2003 的故障转移群集上,单节点备用故障转移群集应配置本地仲裁。
    • 被动邮箱服务器角色使用与 EXCLUS1 相同的安装路径安装在 NODEC 上。这是将 Setup /RecoverCMS 用作 SCR 目标激活过程的一部分来执行服务器恢复所必需的。若要使用服务器恢复过程,Exchange Server 的安装路径必须与 SCR 源计算机和 SCR 目标计算机的安装路径相同。如果将 Exchange Server 安装在 SCR 源计算机上的 %ProgramFiles%\Microsoft\Exchange Server 中,则它还必须安装在将作为 SCR 源服务器的 SCR 目标的所有计算机上的 %ProgramFiles%\Microsoft\Exchange Server 中。如果这些安装路径不匹配,则服务器恢复过程将失败,因为注册表中的安装路径不会与 Active Directory 中邮箱服务器对象的 msExchInstallPath 属性匹配。

    • 使用 Active Directory 用户和计算机管理单元,DRCLUS1 的计算机帐户配置为具有 EXCMS1 计算机对象上的完全权限。完成此操作以便 EXCMS1 的计算机帐户在由于 SITEA 故障而激活 SITEB 时可由 DRCLUS1 重置。

      note注意:
      此步骤仅用于运行 Windows Server 2008 的故障转移群集上。这是因为群集服务在本地系统的安全上下文中运行。当对两个故障转移群集使用同一群集服务帐户时,在运行 Windows Server 2003 的故障转移群集上不需要此步骤。

两个 Active Directory 站点中的所有服务器均配置为使用 Active Directory 集成的 DNS 服务器。两个 Active Directory 站点的 Active Directory 复制间隔均配置为 15 分钟。

已配置 SCR 以便事务日志文件从 EXCMS1 上的三个存储组复制到 NODEC 上的 SCR 目标。这是使用以下命令配置的:

Enable-StorageGroupCopy EXCMS1\SG1 -StandbyMachine NODEC
Enable-StorageGroupCopy EXCMS1\SG2 -StandbyMachine NODEC
Enable-StorageGroupCopy EXCMS1\SG3 -StandbyMachine NODEC
note注意:
若要在 SCR 的 EXCMS1 上同时启用所有存储组,请运行以下命令: Get-StorageGroup -Server EXCMS1 | Enable-StorageGroupCopy -StandbyMachine NODEC

每个存储组的 SCR 的运行状况和状态均使用 Exchange 命令行管理程序中的 Test-ReplicationHealthGet-StorageGroupCopyStatus cmdlet 验证。例如:

Get-StorageGroupCopyStatus EXCMS1\SG1 -StandbyMachine NODEC

群集邮箱服务器的移动已验证为按预期运行,如同备份和日志截断一样。

主站点故障和备份站点激活

突然,在没有任何警告的情况下,波特兰发生了大地震。虽然没有人员严重受伤,但对 SITEA 造成较大损坏,关键实用程序服务(如电、水、天然气)不得不断开连接。由于可能需要几个月时间 SITEA 才能由 Contoso 公司使用,因此决定执行 SITEB 的手动激活,使所有邮件数据和服务从该站点提供。

SITEB 的激活以目录服务和 DNS 解析的验证开始。由于 SITEB 已经包含还承载与 Active Directory 集成的 DNS 的目录服务器,因此这些服务在 SITEA 中断时发现为状况良好的、当前的且未受较大影响的。验证目录服务和 DNS 之后,下一步是开始 SCR 目标的激活以及群集邮箱服务器的恢复。这是通过执行以下步骤完成的,以便:

  1. Exchange 命令行管理程序在 NODEC 上打开,且运行以下命令以准备用于装入的 SCR 目标。

    Restore-StorageGroupCopy -Identity EXCMS1\SG1 -StandbyMachine NODEC -Force
    Restore-StorageGroupCopy -Identity EXCMS1\SG2 -StandbyMachine NODEC -Force
    Restore-StorageGroupCopy -Identity EXCMS1\SG3 -StandbyMachine NODEC -Force
    
    important要点:
    SCR 源不可用时必须始终指定 Force 参数。
    note注意:
    除了如步骤 1 中所示分别运行三个 Restore-StorageGroupCopy 命令,还可以使用 Microsoft Exchange Server 2007 Service Pack 1 (SP1) 附带的名为 GetSCRSources.ps1 的新脚本,并将脚本的输出通过管道传递给单个 Restore-StorageGroupCopy 任务,如下所示: GetSCRSources | Restore-StorageGroupCopy -StandbyMachine $env:ComputerName -Force
  2. 使用“DNS 管理”管理单元从 DNS 中删除 EXCMS1 的现有 DNS 记录。

    note注意:
    此步骤仅用于运行 Windows Server 2008 的故障转移群集上。这是因为群集服务在本地系统的安全上下文中运行。当对两个故障转移群集使用同一群集服务帐户时,在运行 Windows Server 2003 的故障转移群集上不需要此步骤。
  3. 对所有存储组禁用 SCR,以便为 /RecoverCMS 进程做好准备。如果未对所有存储组禁用 SCR,则 Setup /RecoverCMS 将失败。通过使用以下命令,可以禁用 SCR:

    Disable-StorageGroupCopy -Identity EXCMS1\SG1 -StandbyMachine NODEC -Confirm:$False
    Disable-StorageGroupCopy -Identity EXCMS1\SG2 -StandbyMachine NODEC -Confirm:$False
    Disable-StorageGroupCopy -Identity EXCMS1\SG3 -StandbyMachine NODEC -Confirm:$False
    
  4. 群集邮箱服务器 (EXCMS1) 使用用于安装的 /RecoverCMS 选项进行恢复。NODEC 上的恢复使用下列命令执行恢复:

    Setup.com /RecoverCMS /CMSName:EXCMS1 /CMSIPAddress:<IPAddress>
    

    请注意以下事项:

    • 上述命令中的 CMSIPAddress 的值可能是与 EXCMS1 的原始 IP 地址不同的 IP 地址。这是因为 EXCMS1 从站点外恢复。也就是说,它最初包含在 SITEA 中,而被恢复到 SITEB。

    • Setup /RecoverCMS 将在发生 DNS 复制后成功完成,并刷新恢复服务器的 (NODEC) DNS 缓存。如果安装失败,则应从主域控制器 (PDC) 和 NODEC 使用 NSLookup,以验证是否正确的 IP 地址解析到 NODEC,然后在验证之后重新运行安装。

    • 在运行 Windows Server 2003 的故障转移群集上,EXCMS1 的计算机对象在 Setup /RecoverCMS 过程中被重置。此重置需要复制到本地 Active Directory 站点以便安装成功完成。如果 PDC 不在本地 Active Directory 站点中,请确保 PDC 和本地 Active Directory 站点之间存在起作用的 Active Directory 站点链接。

    • 完成安装恢复过程之后,EXCMS1 已恢复到 SITEB,且现在它包含在称为 DRCLUS1 的单一节点 SCC 中的 NODEC 上。

    • 作为群集邮箱服务器恢复操作的结果,EXCMS1 的 DNS TTL 已还原为默认值 20 分钟。应通过运行以下命令,然后停止并启动群集邮箱服务器将其设置回五分钟。

      Cluster.exe res EXCMS1 /priv HostRecordTTL=300
      
  5. 下一步,使用 Mount-Database 任务装入三个存储组中的数据库。

  6. 在此方案中不需要执行其他服务器角色(具体地说,是客户端访问和集线器传输)的恢复操作,因为 CAS2 和 HUB2 已经存在于 SITEB 中。

    note注意:
    作为客户端访问服务器的恢复操作的一部分,需要将外部 URL 重新配置为指向 SITEB 中的客户端访问服务器。
    note注意:
    本示例方案不包括恢复边缘传输服务器。如果边缘传输服务器存在于 SITEA,并且也在站点故障期间丢失,则需要使新的边缘传输服务器在 SITEB 中联机,且需要将 Contoso 简单邮件传输协议 (SMTP) 域的邮件交换器 (MX) DNS 记录更新为指向新的边缘传输服务器。
  7. 如果 Contoso 组织包含其他 Active Directory 站点,邮件将排队到主 Active Directory 站点。EXCMS1 的站点成员身份信息已复制到所有其他 Active Directory 站点之后,可手动重试包含将发往主站点的邮件的 SMTP 队列。(没有手动重试时,传输引擎将在 12 小时内再次自动尝试排队。)这将重新分类邮件。重新分类邮件之后,邮件将传递到 SITEB 中的 EXCMS1。

此时,只要由客户端使用的 DNS 服务器和其他服务器具有 EXCMS1 的正确 IP 地址,所有客户端应可以使用其原始访问方法(例如,Microsoft Outlook Web Access、Exchange ActiveSync 和 Microsoft Office Outlook)访问其邮箱。

主站点重新配置

由于辅助站点 (SITEB) 当前正在充当主数据中心,必须重新配置原始主数据中心 (SITEA),以便当前包含在 SITEB 中的服务不会与在 SITEA 准备好激活以供再次使用之后引入的服务冲突。应使用下列步骤以管理员控制的方式使 SITEA 联机:

  1. 首先使目录服务和 DNS 名称解析服务联机,并通过使 DC1 联机完成此操作。

  2. DC1 联机之后,使 CAS1 和 HUB1 联机。

    请注意,使 HUB1 联机之后,管理员应验证其队列中的任何邮件是否已传递。如果邮件在队列中滞留,则可通过使用下列命令再次提交邮件。

    Retry-queue [queue name] -Resubmit $True
    
  3. 使承载群集 EXCLUS1 的节点联机。出于此方案的目的,首先使 NODEA 联机,然后使 NODEB 联机。

  4. 当使两个节点均联机时,群集邮箱服务器将保持为脱机状态。这包括组成群集邮箱服务器的所有资源,最明显的是其网络名资源。该资源无法联机,因为 EXCMS1 已联机,且使用同一网络名称。使 EXCMS1 在 NODEA 或 NODEB 上联机将导致网络上的名称冲突。

  5. 在当前拥有包含群集邮箱服务器的资源组的节点上,管理员必须从故障转移群集中清除群集邮箱服务器及其资源。为此,管理员先从包含群集邮箱服务器的群集组中删除任何非 Exchange 资源。然后,管理员在 NODEA 上运行下列命令:

    Setup.com /ClearLocalCMS /CMSName:EXCMS1
    

    请注意:

    • 从 EXCLUS1 中清除群集邮箱服务器及其资源之后,建议使用“群集管理员”或“故障转移群集管理”管理单元验证是否已删除所有群集邮箱服务器资源。

    • EXCLUS1 当前是具有两个被动节点 NODEA 和 NODEB(每个节点已安装被动邮箱服务器角色)的故障转移群集。此时,EXCLUS1 中没有群集邮箱服务器。

  6. 由于群集节点正在运行 Windows Server 2008,因此,在运行 Setup /ClearLocalCMS 之后,会禁用虚拟计算机对象 (VCO)。若要重新启用 VCO,请单击“开始”,指向“所有程序”,指向“管理工具”,然后单击“Active Directory 用户和计算机”。展开域,展开“计算机”,右键单击“EXCMS1 VCO”,然后单击“启用帐户”。

  7. 为了准备从 SITEB 到 SITEA 的控制开关,将使 NODEA 成为 SITEB 中 EXCMS1 上包含的存储组的 SCR 目标。这是通过在 NODEC 上使用以下命令完成的:

    Enable-StorageGroupCopy EXCMS1\SG1 -StandbyMachine NODEA
    Enable-StorageGroupCopy EXCMS1\SG2 -StandbyMachine NODEA
    Enable-StorageGroupCopy EXCMS1\SG3 -StandbyMachine NODEA
    
    note注意:
    如果由原始故障转移群集使用的存储未受 SITEA 故障的影响,且如果三个存储组的原始数据库及其事务日志仍存在于 NODEA 上,则可能会将其用于连续复制用途,而不必对 NODEA 上的每个存储组重新执行完全种子设定。如果现有文件不可用,或者如果为原始群集邮箱服务器配置了循环日志记录,则必须通过运行 Update-StorageGroupCopy cmdlet 对每个存储组重新进行完全种子设定。

SCC 在此方案中用于示例用途。如果恢复方案使用群集连续复制 (CCR) 环境中的群集邮箱服务器,则建议使用其他步骤,其中也通过用数据库和日志文件将其分段来为控制开关准备被动节点。该步骤完全出于优化目的,以消除将 CCR 环境移回 SITEA 之后为被动存储组设定种子的需要。通过以下两种方法之一执行该任务:

  • 挂起所有三个 SCR 目标的连续复制,然后将存储组文件和数据库从 NODEA 复制到 NODEB 上的适当位置。

  • 启用 NODEB 作为 EXCMS1 的 SCR 目标。

原始主站点的控制开关

批准 SITEA 的使用之后,可以执行从 SITEB 到 SITEA 的数据和服务的手动开关和控制开关。执行完成控制开关的步骤有效地反向执行用于激活 SITEB 的步骤:

  1. 第一步是卸除 EXCMS1 上的所有数据库。完成此步骤以便停止事务日志文件生成并准备 NODEA 上 SCR 目标的激活。可以使用 Exchange 管理控制台卸除数据库,也可以使用 Exchange 命令行管理程序中的 Dismount-Database cmdlet 卸除数据库。

  2. 在 NODEA 上,管理员准备用于装入的所有存储组。该任务通过运行以下命令执行:

    Restore-StorageGroupCopy -Identity EXCMS1\SG1 -StandbyMachine NODEA
    Restore-StorageGroupCopy -Identity EXCMS1\SG2 -StandbyMachine NODEA
    Restore-StorageGroupCopy -Identity EXCMS1\SG3 -StandbyMachine NODEA
    

    请注意:

    • 在前面的三个命令中,未使用 Force 参数,因为 SCR 源服务器可用。因为未使用 Force 参数,该任务将自动尝试从 SCR 源复制所有日志文件。

    • 完成每个任务之后,管理员应验证每个存储组的所有日志文件是否已复制到 NODEA,且是否已禁用 SCR。

    • 如果 NODEB 也配置为 SCR 目标,则继续之前需要禁用并还原它。在此方案中,我们建议首先在 NODEB 上,再在 NODEA 上运行 Restore-StorageGroupCopy,然后在 NODEA 上运行 Setup /RecoverCMS

  3. 应停止 DRCLUS1 上的群集邮箱服务器 (EXCMS1)。应使用 Exchange 管理控制台中的管理群集邮箱服务器向导,或使用 Exchange 命令行管理程序中的 Stop-ClusteredMailboxServer cmdlet,从 NODEC 执行此任务。

  4. EXCMS1 的 A 记录应使用“DNS 管理”管理单元从 DNS 中删除。

    note注意:
    仅故障转移群集在 Windows Server 2008 上运行时需要删除 EXCMS1 的 A 记录。如果故障转移群集在 Windows Server 2003 上运行,则不需要执行该步骤。
  5. 群集邮箱服务器 (EXCMS1) 使用用于安装的 /RecoverCMS 选项进行恢复。NODEA 上的恢复使用下列命令执行恢复:

    Setup.com /RecoverCMS /CMSName:EXCMS1 /CMSIPAddress:<IPAddress>
    

    请注意:

    • 上述命令中 CMSIPAddress 的值可能为 EXCMS1 的原始 IP 地址。这是因为正在将 EXCLUS1 恢复回其原始位置。

    • 完成安装恢复过程之后,EXCMS1 已恢复到 SITEA,且现在它包含在称为 EXCLUS1 的双节点 SCC 中的 NODEA 上。

    note注意:
    SCC 在此方案中再次用于示例用途。如果恢复方案使用 CCR 环境中的群集邮箱服务器,则可能需要执行其他步骤。在这种情况下,/RecoverCMS 操作从 NODEA 到 NODEB 挂起连续复制。管理员必须对存储组运行 Resume-StorageGroupCopy 以再次建立复制和重播活动。然后,管理员应验证是否已恢复复制活动。如果如前面所述的 NODEB 的分段未成功,则需要对存储组的被动复制重新设定种子。
    • 作为群集邮箱服务器恢复操作的结果,EXCMS1 的 DNS TTL 已还原为默认值 20 分钟。应通过运行以下命令,然后停止并启动群集邮箱服务器将其设置回五分钟:

      Cluster.exe res "Network Name (EXCMS1)" /priv HostRecordTTL=300
      
  6. 使用 Mount-Database cmdlet 装入三个存储组中的数据库。

  7. 其他服务器角色(名为客户端访问服务器角色和集线器传输服务器角色)的恢复操作不需要在该方案中执行,因为 CAS1 和 HUB1 已经存在于 SITEA 中。

    note注意:
    作为客户端访问服务器的恢复操作的一部分,需要将外部 URL 重新配置为指向 SITEA 中的客户端访问服务器。
    note注意:
    本示例方案不包括恢复边缘传输服务器。如果边缘传输服务器正在使用中,则 Contoso SMTP 域的邮件交换器 (MX) DNS 记录需要更新为指向正确的边缘传输服务器。
  8. 如果 Contoso 组织包含其他 Active Directory 站点,邮件将在主 Active Directory 站点排队。EXCMS1 的站点成员身份信息已复制到所有其他 Active Directory 站点之后,可手动重试包含将发往主站点的邮件的 SMTP 队列。(没有手动重试时,传输引擎将在 12 小时内再次自动尝试排队。)这将重新分类邮件。重新分类邮件之后,邮件将传递到 SITEA 中的 EXCMS1。

  9. 此时,只要由客户端使用的 DNS 服务器和其他服务器具有 EXCMS1 的正确 IP 地址,所有客户端应可以使用其原始访问方法(例如,Outlook Web Access、Exchange ActiveSync 和 Outlook)访问其邮箱。此外,已将 DNS 更改复制到 SITEB 之后,且已复制 EXCMS1 的站点成员身份之后,集线器传输服务器会将邮件路由到正确的 Active Directory 站点。管理员还可以手动强制可能位于 HUB1 或 HUB2 上的任何队列中的邮件的重新提交。该任务可以通过运行以下命令执行:

    Retry-queue [queue name] -Resubmit $True
    

备份站点的重新配置

完成从 SITEB 到 SITEA 的手动控制开关之后,SITEB 可作为备份数据中心返回到其操作状态。这包括从 SITEB 中的故障转移群集中清除备用群集邮箱服务器,以及通过将 NODEC 重新启用为 EXCMS1 上三个存储组的 SCR 目标。这是通过执行以下步骤完成的,以便:

  1. 控制开关期间,停止在 SITEB 中的 DRCLUS1 上运行的群集邮箱服务器,以便在 SITEA 中的 EXCLUS1 上引入它。将 EXCMS1 成功放回 EXCLUS1 上的产品之后,需要从 DRCLUS1 中删除其配置信息。您可以通过从包含群集邮箱服务器的群集组中删除任何非 Exchange 资源、然后运行以下命令,从而清除配置信息,并从 DRCLUS1 中完全删除 EXCMS1:

    Setup.com /ClearLocalCMS /CMSName:EXCMS1
    
  2. 由于群集节点正在运行 Windows Server 2008,因此,在运行 Setup /ClearLocalCMS 之后,会禁用 VCO。若要重新启用 VCO,请单击“开始”,指向“所有程序”,指向“管理工具”,然后单击“Active Directory 用户和计算机”。展开域,展开“计算机”,右键单击“EXCMS1 VCO”,然后单击“启用帐户”。

  3. 从 DRCLUS1 中清除群集邮箱服务器及其资源之后,管理员应使用“群集管理员”或“故障转移群集管理”管理单元验证是否已删除所有群集邮箱服务器资源。

  4. 已配置 SCR 以便事务日志文件从 EXCMS1 上的三个存储组复制到 NODEC 上的 SCR 目标。这是使用以下命令进行配置的:

    Enable-StorageGroupCopy EXCMS1\SG1 -StandbyMachine NODEC
    Enable-StorageGroupCopy EXCMS1\SG2 -StandbyMachine NODEC
    Enable-StorageGroupCopy EXCMS1\SG3 -StandbyMachine NODEC
    
    note注意:
    在启用 SCR 以便将存储组从 EXCMS1 复制到 NODEC 之前,必须确保不存在任何存储组或数据库路径冲突。还必须确保已从原始路径中删除了所有旧的和不需要的存储组和数据库文件。
  5. 然后每个存储组的 SCR 的运行状况和状态均使用 Test-ReplicationHealthGet-StorageGroupCopyStatus cmdlet 验证。节点之间群集邮箱服务器的移动,以及备份和日志截断操作也应按预期工作来验证。完成所有验证之后,主数据中心和辅助数据中心现在以 Exchange 2007 邮件系统形式返回到其原始操作模式。