如何恢复丢失的 Exchange Server

 

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

上一次修改主题: 2011-04-15

本主题介绍如何在 setup 命令中使用 /m:RecoverServer 开关从服务器丢失状态中恢复。运行 Microsoft Exchange Server 2007 的计算机的几乎所有设置都存储在 Active Directory 目录服务中。/m:RecoverServer 开关使用 Active Directory 中的信息,重建具有相同名称和设置的 Exchange 服务器。

如果在服务器恢复期间 Setup /m:RecoverServer 出错,并且 setup 运行失败,重新运行 /m:RecoverServer 可能也会失败。如果重新运行 Setup /m:RecoverServer 失败,可能是出现下列情况:

  • 无法完全恢复所有服务器角色。

  • 由于服务器包含已配置的角色,因此 Setup 无法恢复其余角色。

  • 由于在灾难恢复过程中其余角色无法恢复,因此无法卸载这些角色,要到灾难恢复成功后才能采取其他措施。

对于某些错误情况,重新运行 Setup 可以成功完成。但是,如果重新运行 Setup 失败,可以采取手动解决方法,使 Setup 继续运行,并尝试恢复首次未恢复的角色。此解决方法只能使 Setup 重新开始运行,而不能解决导致 Setup 首次运行失败的任何问题。必须在重新运行 Setup 之前诊断并解决相应的问题。

开始之前

若要在将安装 Exchange 2007 的计算机上执行以下步骤,必须为您使用的帐户委派以下角色:

  • Exchange Server 管理员角色和目标服务器的本地管理员组

有关权限、角色委派以及管理 Exchange Server 2007 所需的权限的详细信息,请参阅权限注意事项

该服务器应与它将替换的服务器同名,并且具有与包含 Exchange 数据的驱动器匹配的驱动器配置。

步骤

使用 /m:RecoverServer 开关恢复丢失的服务器

  1. 重置丢失服务器的域计算机帐户。执行操作:

    1. 打开 Active Directory 用户和计算机。

    2. 查找丢失服务器的计算机。

    3. 右键单击计算机名称,再单击“重置帐户”。

    使运行 Microsoft Windows Server 2003 的新服务器联机,并以与丢失服务器相同的名称将其加入域。

  2. 使用与丢失服务器相同的逻辑分配配置所有的驱动器。

  3. 在 Exchange 源文件夹中打开命令提示符窗口,并运行以下命令:

    setup /m:recoverserver 
    
    note注意:
    源文件夹是 DVD 或其他源媒体上的处理器类型标识符文件夹(\i386 或 \amd64)。

使用 /m:RecoverServer 开关恢复在恢复过程中失败的丢失服务器

  1. 若要使 Setup 重新运行,必须先确定已恢复的角色。如果首次尝试恢复时的 Setup 控制台仍可以看到,已恢复的角色名称旁边有“COMPLETED”。否则,必须访问注册表并打开以下项:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Exchange\v8.0

    v8.0 项下有几个包含服务器角色名称(例如“MailboxRole”)的子项。请检查每个子项。如果子项同时包含 UnpackedVersion 值和 ConfiguredVersion 值,并且两个值相同(诸如“8.0.685.23”之类的字符串),表示已成功恢复和安装了相应的服务器角色。请记下已成功恢复的角色。

    note注意:
    UNRESOLVED_TOKEN_VAL(exRegistry)
  2. 备份要同时在注册表和 Active Directory 中修改的数据。在注册表中,打开以下项:

    HKEY_LOCAL_MACHINE\Software\Microsoft\Exchange\v8.0

    右键单击此项,选择“导出”并保存文件。

  3. 使用 AdsiEdit (AdsiEdit.msc) 找到要恢复的服务器的 Exchange 服务器对象。例如,以下是某个服务器对象的路径:

    CN=<服务器名称>,CN=Servers,CN=Exchange Administrative Group (FYDIBOHF23SPDLT),CN=Administrative Groups,CN=<组织名称>,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=<域名称>

    记下 msExchCurrentServerRoles 属性的值,它是一个整数。服务器对象的此属性值表示在失败之前服务器对象上已配置的角色,将各个值相加可以得出此属性值,如下所示:

    服务器角色 角色值

    邮箱角色

    2

    客户端访问角色 (CAS)

    4

    统一消息角色

    16

    集线器传输角色

    32

    边缘传输角色

    64

  4. 更改 Setup 读取的变量,强制 Setup 忽略已恢复的角色而恢复尚未恢复的角色。这需要临时更改注册表和 Active Directory 中的信息:

    1. 使用 regedit.exe 对于每个已成功恢复的角色,通过对其在 HKLM\Software\Microsoft\Exchange\v8.0 下对应项添加 0 来将其重新命名,或者更改对应项的名称。

    2. 使用 AdsiEdit.mscmsExchCurrentServerRoles 的当前值减去与已恢复角色对应的值,然后将该属性修改为新值。例如,如果在安装了集线器服务器角色(值 = 32)、邮箱服务器角色(值 = 2)和 CAS 服务器角色(值 = 4)的服务器上成功恢复了邮箱角色,当前值为 38,用该值减去邮箱角色的值 2,得到 msExchCurrentServerRoles 的值为 36。

  5. 按照同样方法运行 Setup /m:RecoverServer 恢复其余所有未恢复的服务器角色。

  6. 完成恢复后,恢复注册表和 Active Directory 中编辑过的值:

    1. 使用 regedit.exe Setup 创建了与成功恢复的角色的先前重新命名项对应的新项。删除这些项,并将 HKLM\Software\Microsoft\Exchange\v8.0 下的每项重命名为其原来的名称。

    2. 使用 AdsiEdit.mscmsExchCurrentServerRoles 的值修改为其原来的设置。

详细信息

有关 /m:RecoverServer 开关的详细信息,请参阅了解 Setup /M:RecoverServer