如何恢复丢失的 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 数据的驱动器匹配的驱动器配置。
重置丢失服务器的域计算机帐户。执行操作:
打开 Active Directory 用户和计算机。
查找丢失服务器的计算机。
右键单击计算机名称,再单击“重置帐户”。
使运行 Microsoft Windows Server 2003 的新服务器联机,并以与丢失服务器相同的名称将其加入域。
使用与丢失服务器相同的逻辑分配配置所有的驱动器。
在 Exchange 源文件夹中打开命令提示符窗口,并运行以下命令:
setup /m:recoverserver
注意:
源文件夹是 DVD 或其他源媒体上的处理器类型标识符文件夹(\i386 或 \amd64)。
若要使 Setup 重新运行,必须先确定已恢复的角色。如果首次尝试恢复时的 Setup 控制台仍可以看到,已恢复的角色名称旁边有“COMPLETED”。否则,必须访问注册表并打开以下项:
HKEY_LOCAL_MACHINE\Software\Microsoft\Exchange\v8.0
v8.0 项下有几个包含服务器角色名称(例如“MailboxRole”)的子项。请检查每个子项。如果子项同时包含 UnpackedVersion 值和 ConfiguredVersion 值,并且两个值相同(诸如“8.0.685.23”之类的字符串),表示已成功恢复和安装了相应的服务器角色。请记下已成功恢复的角色。
注意:
UNRESOLVED_TOKEN_VAL(exRegistry) 备份要同时在注册表和 Active Directory 中修改的数据。在注册表中,打开以下项:
HKEY_LOCAL_MACHINE\Software\Microsoft\Exchange\v8.0
右键单击此项,选择“导出”并保存文件。
使用 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
更改 Setup 读取的变量,强制 Setup 忽略已恢复的角色而恢复尚未恢复的角色。这需要临时更改注册表和 Active Directory 中的信息:
使用 regedit.exe 对于每个已成功恢复的角色,通过对其在 HKLM\Software\Microsoft\Exchange\v8.0 下对应项添加 0 来将其重新命名,或者更改对应项的名称。
使用 AdsiEdit.msc 用 msExchCurrentServerRoles 的当前值减去与已恢复角色对应的值,然后将该属性修改为新值。例如,如果在安装了集线器服务器角色(值 = 32)、邮箱服务器角色(值 = 2)和 CAS 服务器角色(值 = 4)的服务器上成功恢复了邮箱角色,当前值为 38,用该值减去邮箱角色的值 2,得到 msExchCurrentServerRoles 的值为 36。
按照同样方法运行 Setup /m:RecoverServer 恢复其余所有未恢复的服务器角色。
完成恢复后,恢复注册表和 Active Directory 中编辑过的值:
使用 regedit.exe Setup 创建了与成功恢复的角色的先前重新命名项对应的新项。删除这些项,并将 HKLM\Software\Microsoft\Exchange\v8.0 下的每项重命名为其原来的名称。
使用 AdsiEdit.msc 将 msExchCurrentServerRoles 的值修改为其原来的设置。
有关 /m:RecoverServer 开关的详细信息,请参阅了解 Setup /M:RecoverServer。