还原虚拟域控制器

在灾难恢复场景中,必须定期备份系统状态才能还原物理或虚拟域控制器 (DC)。 系统状态包括 Active Directory 数据和日志文件、注册表、系统卷以及操作系统的各种元素。 与 Active Directory 兼容的备份应用程序可确保在还原流程后本地数据库与已复制 Active Directory 数据库的一致性,其中包括向复制伙伴通知调用 ID 重置操作。 虚拟托管环境和磁盘或 OS 映像应用程序允许管理员绕过 DC 系统状态还原期间的标准检查和验证。

如果 DC 虚拟机 (VM) 失败,但未发现更新序列号 (USN) 回滚的迹象,则可通过两种方式来还原该 VM:

  • 如果系统在失败之前具有有效的系统状态数据备份,则可使用用于在逻辑删除生存期内创建此备份且与 Active Directory 兼容的备份实用工具来还原它。 默认逻辑删除生存期为 180 天,因此应定期备份 DC,且至少每 90 天备份一次。 有关确定逻辑删除生存期的详细信息,请参阅确定林的逻辑删除生存期

  • 如果你有虚拟硬盘 (VHD) 文件的工作副本但没有系统状态备份,则可删除现有 VM,并使用以前的 VHD 副本来还原它。 请务必在 DSRM 中启动 VM,然后按还原系统状态备份中所述的方法配置注册表属性。 然后,以正常模式重启 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,则是否已以正常模式将其启动?

      • 如果没有,则应通过以下操作来还原 DC:在 DSRM 中启动它,将从备份注册表值还原的数据库设为 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 的系统状态数据备份:

  1. 启动 DC 的 VM,然后按 F5 键访问 Windows 启动管理器

  2. 如果系统提示输入连接凭据,请执行以下步骤:

    • 立即选择 VM 上的“暂停”键以暂停进程。

    • 输入连接凭据。

    • 选择 VM 上的“播放”键。

    • 在 VM 窗口中进行选择,然后按 F5 键。

    如果 Windows 启动管理器未打开,且 DC 开始以正常模式启动,则请关闭 VM 以暂停此流程。 根据需要多次重复此步骤,直到能够访问“Windows 启动管理器”。 无法从“Windows 错误恢复”菜单访问 DSRM。 因此,如果出现“Windows 错误恢复”菜单,请关闭 VM 并重试。

  3. Windows 启动管理器中,按 F8 键以访问高级启动选项。

  4. 高级启动选项中选择目录服务还原模式,然后按 Enter 键在 DSRM 中启动 DC。

  5. 对用于创建系统状态备份的工具使用适当的还原方法。 如果使用了 Windows Server 备份,则请按执行 AD DS 的非权威还原中的指示进行操作。

使用 VHD 文件还原虚拟 DC

如果没有在发生虚拟机故障之前已创建的系统状态数据备份,则可使用此 VHD 文件来还原 VM 上运行的 DC。 在开始之前,请务必创建此 VHD 文件的副本。 如此一来,如果在还原过程中出现问题或遗漏某一步骤,则可使用复制的 VHD 进行重试。

警告

不应将此程序用于替代定期规划且安排的备份。 Microsoft 不支持使用此程序执行的还原。 仅当没有替代方法时再使用此程序。

如果任一 VM 已启动计划在正常模式下用于此还原的 VHD 的副本,则请勿使用此过程。

若要使用 VHD 文件还原虚拟 DC,请执行以下操作:

  1. 使用以前的 VHD 在 DSRM 中启动虚拟 DC。

    • 请勿以正常模式启动 DC。 如果错过 Windows 启动管理器屏幕且 DC 开始以正常模式启动,则请关闭 VM 以免其启动。
  2. 通过选择开始然后输入 regedit.exe 并选择注册表编辑器来打开注册表编辑器。

    • 如果显示用户帐户控制对话框,则请确认显示的操作是否与预期一样,然后选择

    • 在注册表编辑器中,展开路径 HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters

    • 查找名为 DSA Previous Restore Count 的值。 如果参数存在,请记下设置。 否则,设定值为默认的 (0)。 如果未显示值,请不要手动设置该值。

  3. 右键单击“Parameters”项,选择“新建”,然后选择“DWORD (32 位) 值”

  4. 输入新名称 Database restored from backup,然后按 Enter 键。

  5. 双击刚刚创建的值以打开编辑 DWORD (32 位) 值对话框,然后找到值数据字段并输入 1

  6. 以正常模式重启 DC。

  7. DC 重启时,右键单击开始然后选择事件查看器来打开事件查看器。

  8. 展开应用程序和服务日志,然后选择目录服务日志。 确保事件显示在详细信息窗格中。

  9. 右键单击目录服务日志,然后选择查找

  10. 查找内容字段中键入 1109,然后选择查找下一个

  11. 对于事件 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.
    
  12. 关闭“事件查看器”

  13. 使用“注册表编辑器”验证“DSA Previous Restore Count”中的值是否等于前一个值加 1。 如果未显示正确的值,且在事件查看器中未找到事件 ID 1109 的对应条目,则请验证 DC 的服务包是否为最新。

    注意

    不能在同一个 VHD 上再次尝试此过程。 可以从步骤 1 重新开始,在 VHD 副本或尚未在正常模式下启动的其他 VHD 上重试。

  14. 关闭注册表编辑器

其他内容

有关虚拟化 DC 的详细信息,请参阅使用 Hyper-V 虚拟化域控制器