备用连续复制:数据库可移植性

 

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

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

本主题将详细介绍一个方案,在该方案中 Woodgrove Bank 组织将使用备用连续复制 (SCR) 和数据可移值性从单个数据库故障中进行恢复。在此方案中,会发现 SCR 源数据库存在物理损坏,因此管理员决定激活 SCR 目标数据库。在激活期间,会禁用 SCR,将 SCR 目标数据库作为生产数据库装入,并重新设置用户邮箱的宿主。将数据访问还原到客户端后,将重新为存储组启用 SCR 以便还原针对 SCR 目标的冗余和保护。

SCR 和数据库可移植性

Woodgrove Bank 已经部署了 Microsoft Exchange Server 2007 Service Pack 1 (SP1),并决定使用 SCR 提供远程邮箱服务器上存储组的冗余副本。两个邮箱服务器都位于同一 Active Directory 目录服务器站点上,并且都被配置为使用 Active Directory 集成的 DNS 服务器。将 Active Directory 站点的 Active Directory 复制间隔配置为 15 分钟。

配置 SCR,以便为包含单一数据库 MBX1 的单一存储组 SG1 复制事务日志文件。EXMBX1 是 SCR 源计算机,而 EXMBX2 是 SCR 目标计算机。存储组文件(其中包括事务日志文件)和数据库文件的路径分别是 E:\SG1 和 D:\SG1\MBX1.EDB。这些路径同时用于源计算机和目标计算机。

使用以下命令配置这些分配:

Enable-StorageGroupCopy EXMBX1\SG1 -StandbyMachine EXMBX2

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

Get-StorageGroupCopyStatus EXMBX1\SG1 -StandbyMachine EXMBX2 | fl

为了在 SCR 目标激活过程中节省时间,使用存储组和数据库对 EXMBX2 进行预配置,EXMBX2 将用作数据库可移植性操作的一部分。将存储组和数据库分别命名为 SG1PORT 和 MBX1PORT。

important要点:
SG1PORT 和 MBX1PORT 要与 SCR 目标的存储组和数据库文件分开。因此,SG1PORT 和 MBX1PORT 的路径应配置为与 SCR 目标路径不冲突的临时路径。
note注意:
创建 MBX1PORT 后,建议先将其装入然后卸除,这样即可删除所有存储组文件和数据库文件。

SCR 目标激活

邮件管理员注意到会出现一个应用程序事件日志条目,指示 SCR 源数据库已发生物理损坏。由于已为 SG1 启用 SCR,所以应立即决定为 SG1 手动激活 SCR 目标数据库,并还原数据可用性。通过卸除 SG1 中的数据库开始激活 SCR 目标副本。随后,使 SCR 目标数据库可用于装入,接着重新设置受影响邮箱数据库上的邮箱的宿主。这是通过执行以下步骤完成的,以便:

  1. 使用以下命令卸除 SCR 源数据库:

    Dismount-Database EXMBX1\SG1\MBX1
    
  2. 禁用 SCR 和使 SCR 目标数据库可用于装入的过程需要运行 Restore-StorageGroupCopy cmdlet。此任务将存储组的数据库标记为可装入,并提供因将数据库装入存储组而导致的数据丢失报告(如果存在)。该任务还可以验证被动副本的存储组文件位置上是否存在由存储组的主动副本生成的所有日志文件。如果有日志文件丢失,此操作将尝试复制丢失的日志文件。使用以下命令禁用 SCR 并使目标数据库可用于装入:

    Restore-StorageGroupCopy EXMBX1\SG1 -StandbyMachine EXMBX2
    
important要点:
如果 SCR 源不可用,则必须将 Force 参数添加到 Restore-StorageGroupCopy 命令。
  1. 完成 Restore-StorageGroupCopy 命令后,管理员应验证数据库是否处于干净关闭状态。如果数据库处于异常关闭状态,管理员则可以通过对数据库运行 Exchange Server 数据库实用程序 (Eseutil) 恢复模式 (Eseutil /r) 使其处于干净关闭状态。有关如何运行 Eseutil 恢复模式的详细步骤,请参阅如何运行 Eseutil /R(恢复)

    note注意:
    如果 SCR 源 (EXMBX1\SG1) 和将用于数据库可移植性的 SCR 目标存储组 (EXMBX2\SG1PORT) 具有相同的存储组前缀(例如,E00 或 E01),则无需在恢复模式下运行 Eseutil。重播所有已复制的日志文件后,最终的数据库装入操作将使数据库处于干净关闭状态。
  2. 数据库处于干净关闭状态后,管理员会使用存储组文件和数据库文件的新位置,运行两个命令来更新 Active Directory。使用下列命令将 SG1PORT 和 MBX1PORT 的路径从临时路径更改为 SCR 目标的存储组和数据库文件的路径:

    Move-StorageGroupPath EXMBX2\SG1PORT -SystemFolderPath E:\SG1 -LogFolderPath E:\SG1 -ConfigurationOnly
    Move-DatabasePath EXMBX2\SG1PORT\MBX1PORT -EdbFilePath D:\SG1\MBX1.EDB -ConfigurationOnly
    
  3. 接下来,数据库必须允许其本身可以在还原操作期间被覆盖。选中 Exchange 管理控制台中数据库对象属性上的“还原时可以覆盖此数据库”复选框,可以实现此操作。也可以在 Exchange 命令行管理程序中使用以下命令来执行此任务:

    Set-Mailboxdatabase EXMBX2\SG1PORT\MBX1PORT -AllowFileRestore:$true
    
  4. 将数据库配置为允许在还原期间被覆盖后,管理员可以使用以下命令装入数据库:

    Mount-Database EXMBX2\SG1PORT\MBX1PORT
    
  5. 装入数据库后,必须为驻留在 SCR 源数据库上的邮箱重新配置以指向 EXMBX2 上的 MBX1PORT。通过运行 Get-Mailbox cmdlet 并通过管道将输出传输到 Move-Mailbox cmdlet 可以实现此操作。在此过程中,通过管道传输到 Move-Mailbox cmdlet 的 Get-Mailbox cmdlet 的输出中不包含 Microsoft Exchange 系统助理和系统邮箱非常重要。可以通过运行以下命令来完成此操作:

    Get-Mailbox -Database EXMBX1\SG1\MBX1 |where {$_.ObjectClass -NotMatch '(SystemAttendantMailbox|ExOleDbSystemMailbox)'}| Move-Mailbox -ConfigurationOnly -TargetDatabase EXMBX2\SG1PORT\MBX1PORT
    

此时,可以进行对 MBX1PORT 的客户端访问。但是,将邮箱从 EXMBX1\SG1\MBX1 移动到 EXMBX2\SG1PORT\MBX1PORT 后,用户能否访问其邮箱取决于多个因素:

  • Active Directory 复制延迟   根据目录服务器的数量,更新传播到整个环境可能需要一段时间。

  • 客户端访问方法   使用新路径更新用户客户端访问服务器使用的目录服务器后,运行 Microsoft Office Outlook 2007 的邮件客户端和非 Outlook 客户端将可以访问用户的邮箱。如果原始服务器已关闭或不可用,运行 Outlook 2003 和早期版本的邮件客户端将要求使用新的服务器名更新用户的桌面邮件配置文件。如果原始服务器处于联机状态并且可用于响应客户端请求,运行 Outlook 2003 和早期版本的邮件客户端会通过原始服务器自动使用新的服务器名更新桌面邮件配置文件,而不必手动修改桌面邮件配置文件。

SCR 目标激活后还原冗余

客户端可以访问其邮箱和邮箱数据后,最后的步骤是通过重新启用 SCR 来重新建立冗余。这可以通过从 EXMBX1 删除所有剩余的存储组和数据库文件来实现。删除文件后,可以将 EXMBX1\SG1\MBX1 路径移动到临时位置,而使 EXMBX1 成为 EXMBX2 的 SCR 目标。完成以上操作后,冗余即被还原到该环境。