在灾难恢复方案中,必须定期备份系统状态才能还原物理或虚拟域控制器(DC)。 系统状态包括 Active Directory 数据和日志文件、注册表、系统卷以及操作系统的各种元素。 与 Active Directory 兼容的备份应用程序确保在还原过程后确保本地和复制的 Active Directory 数据库一致,包括通知复制合作伙伴调用 ID 重置。 虚拟托管环境和磁盘或 OS 映像应用程序允许管理员绕过 DC 系统状态还原期间发生的标准检查和验证。
如果 DC 虚拟机 (VM) 失败且未出现更新序列号 (USN) 回滚的迹象,可通过两种方式还原 VM:
如果您的系统在故障之前有有效的系统状态数据备份,则可以使用支持 Active Directory 的备份实用工具在墓碑生命周期内还原这些备份。 默认墓碑生存期为 180 天。 你应该定期备份你的域控制器,至少每 90 天备份一次。 有关确定墓碑生存期的详细信息,请参阅 确定整片林的墓碑生存期。
如果虚拟硬盘(VHD)文件有一个工作副本,但没有系统状态备份,则可以删除现有 VM,并使用以前的 VHD 副本还原它。 请确保在 DSRM 中启动 VM,然后按照 还原系统状态备份中所述配置注册表属性。 之后,请以正常模式重启 DC。
确定备份 DC 的最佳方法
有多种方法可以备份 DC,但哪种方式最适合您的 DC 部署取决于多种因素。
如果 DC 上没有关键数据,或者 DC 关闭之前没有备份:
强行从 DC 中移除 AD DS 角色。
删除失败的域控制器的计算机帐户。
如有必要,请在将成为下一个 DC 的替换服务器上安装 AD DS 角色。
如果有系统状态备份,请按照 还原系统状态备份中的说明还原 DC。
如果 VHD 文件中有以前版本的 DC,请按照使用 VHD 文件还原虚拟 DC 中的说明进行作。
如果以前的版本在支持 VM-GenerationID 参数的 Hyper-V 上运行 Windows Server 2012,则针对新 VM 部署 VHD,然后以正常模式重启 VM。
如果以前的版本运行不同版本的 Windows Server,是否已在正常模式下启动它?
如果没有,则通过在 DSRM 中启动 DC 来还原 DC,将从备份注册表值还原的数据库设置为 1,然后在正常模式下重启它。
如果是,请断开虚拟 DC 与网络的连接,在 VM 的不同副本上恢复并保存任何必需的唯一数据,然后不要再次在网络上使用原始 DC。 此外,请从原始 DC 中删除其 AD DS 角色或重新安装 OS,然后将该角色安装到 DC 的新版本。
如果尝试还原 RODC,请按照以下步骤操作:
如果原始 DC 发生故障之前有系统状态数据备份,请使用它还原 DC。
如果没有系统状态备份,但具有以前版本的 DC 的 VHD 文件,请删除失败的 DC,然后使用 VHD 文件中的备份创建并启动一个新 VM。
如果没有这些备份之一,请运行以下命令从域控制器中删除 AD DS 角色:
dcpromo /forceremoval运行命令后,在替换服务器上安装 AD DS 角色,使其成为 RODC。
还原系统状态备份
如果 DC VM 存在有效的系统状态备份,则可以按照用于备份 VHD 文件的备份工具的还原过程安全地还原备份。
重要
若要正确还原 DC,必须在 DSRM 中启动 DC,而不是正常模式。 如果在系统启动期间错过了进入 DSRM 的机会,请在它完全进入正常模式之前关闭 DC 的 VM。 在 DSRM 下启动 DC 非常重要,因为在正常模式下启动 DC 会递增 USN,即使 DC 与网络断开连接也是如此。 有关 USN 回滚的详细信息,请参阅 USN 和 USN 回滚。
还原虚拟 DC 的系统状态备份
若要还原虚拟 DC 的系统状态数据备份,请执行以下作:
启动 DC 的 VM,然后按 F5 键访问 Windows 启动管理器。
如果系统提示输入连接凭据,请执行以下步骤:
立即选择 VM 上的 “暂停 ”按钮以暂停进程。
输入连接凭据。
选择 VM 上的 “播放 ”按钮。
在 VM 窗口中选择,然后按 F5 键。
如果 Windows 启动管理器 未打开并且 DC 开始处于正常模式,请关闭 VM 以暂停进程。 根据需要多次重复此步骤,直到你能够访问 Windows 启动管理器。 无法从 Windows 错误恢复菜单访问 DSRM。 因此,关闭 VM,如果出现 Windows 错误恢复菜单,请重试。
在 Windows 启动管理器中,按 F8 键访问高级启动选项。
在 “高级启动选项”下,选择 “目录服务还原模式”,然后按 Enter 键在 DSRM 中启动 DC。
对用于创建系统状态备份的工具使用适当的还原方法。 如果使用 Windows Server 备份,请按照执行 AD DS 的非授权还原中的说明进行操作。
使用 VHD 文件还原虚拟 DC
如果没有早于 VM 故障的系统状态数据备份,可以使用 VHD 文件还原 VM 上运行的 DC。 在开始之前,请确保创建 VHD 文件的副本。 这样,如果在过程中遇到问题或错过了步骤,可以使用复制的 VHD 重试。
警告
不应将此过程用作定期计划的备份的替代。 Microsoft不支持使用此过程执行的还原。 仅当没有替代项时,才使用此过程。
如果任何 VM 已启动计划用于正常模式下还原的 VHD 副本,请不要使用此过程。
若要使用 VHD 文件还原虚拟 DC,请执行以下步骤:
使用以前的 VHD,在 DSRM 中启动虚拟 DC。
- 不要在正常模式下启动 DC。 如果您错过了Windows 启动管理器屏幕,并且域控制器开始以正常模式启动,请关闭虚拟机以阻止其启动。
选择“开始”,然后输入
regedit.exe并选择“注册表编辑器”,打开注册表编辑器。如果显示 “用户帐户控制 ”对话框,请确认显示的作是否按预期方式显示,然后选择“ 是”。
在注册表编辑器中,展开路径
HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters。查找一个名为 DSA 上一次还原计数 的值。 如果存在该值,请记下该设置。 否则,设置值为默认值 (0)。 如果未显示任何值,请不要手动设置该值。
右键单击 “参数 ”键,选择“ 新建”,然后选择 “DWORD”(32 位)值。
输入新的名称“从备份还原的数据库”,然后按 Enter 键。
双击刚刚创建的值以打开 “编辑 DWORD(32 位)值 ”对话框,然后找到 “值”数据 字段并输入 1。
在正常模式下重启 DC。
DC 重启时,右键单击“ 开始”,然后选择 “事件查看器”,打开事件查看器。
展开 “应用程序和服务日志”,然后选择 “目录服务 日志”。 确保事件显示在详细信息窗格中。
右键单击 目录服务 日志,然后选择“ 查找”。
在 “查找内容 ”字段中,输入 1109,然后选择“ 查找下一步”。
对于事件 ID 1109,应至少看到一个条目。 如果未看到此条目,请继续执行下一步。 否则,双击该条目并查看文本。 确认文本显示对 InvocationID 进行了更新,如以下示例输出中所示:
Active Directory has been restored from backup media, or has been configured to host an application partition. The invocationID attribute for this directory server has been changed. The highest update sequence number at the time the backup was created is <time> InvocationID attribute (old value):<Previous InvocationID value> InvocationID attribute (new value):<New InvocationID value> Update sequence number:<USN> The InvocationID is changed when a directory server is restored from backup media or is configured to host a writeable application directory partition.关闭 事件查看器。
使用 注册表编辑器 验证 DSA 上一还原计数 设置的值是否等于以前的值加 1。 如果不存在正确的值,并且无法在 事件查看器中找到事件 ID 1109 的条目,请验证 DC 的 Service Pack 是否为最新服务包。
注释
不能在同一 VHD 上再次尝试此过程。 可以从步骤 1 重新开始,在 VHD 副本或尚未在正常模式下启动的其他 VHD 上重试。
关闭 注册表编辑器。
其他内容
有关虚拟化 DC 的详细信息,请参阅 使用 Hyper-V 虚拟化域控制器。