- 系统状态备份的重要性以及保护域控制器的支持方法。
- Active Directory 中权威还原和非权威还原之间的区别以及何时使用每种还原方式。
- 恢复物理和虚拟数据中心的详细步骤,包括 SYSVOL 问题和 USN 回滚。
- 缓解策略:强制降级、元数据清理和域控制器重建。
当域控制器损坏或恢复错误时,后果不堪设想: 登录失败,组策略对象停止应用,复制功能失效,几乎没有任何线索。好消息是,只要遵循公认的备份和恢复方法,恢复物理或虚拟数据中心都有明确的程序。
在现代 Windows Server 环境中,还原域控制器需要对以下概念有深入的了解: 系统状态、权威/非权威恢复、SYSVOL、DFSR/FRS 和 USN 回滚如果草率处理这些问题,或者使用不兼容的成像工具,结果可能会出现大量难以诊断的隐性不一致之处。
为什么正确保护和恢复域控制器至关重要
Active Directory 是 Windows 域中身份验证和授权的核心。它存储用户、计算机、组、信任关系、组策略、证书和其他关键元素。这些信息主要存储在数据库中。 Ntds.dit以及相关的日志文件和文件夹 系统卷以及其他构成所谓“系统状态”的组成部分。
系统状态包括(但不限于): Active Directory 日志文件和数据、Windows 注册表、系统卷 (SYSVOL)、证书数据库(如果存在 CA)、IIS 元数据库、启动文件以及受保护的操作系统组件因此,任何认真的业务连续性策略都必须包括定期备份每个数据中心的系统状态。
当 Active Directory 数据库实际损坏、严重复制失败或出现其他问题时, 权限 系统卷域控制器可能停止处理查询、无法启动 Active Directory 服务,或者在整个林中引发级联错误。在这些情况下, 快速妥善的灾后恢复是避免严重事故演变成旷日持久的灾难的关键。.
在尝试恢复之前,区分真正的数据库问题和更常见的故障至关重要。很多时候, 原因在于 DNS、网络变更、防火墙或使用诸如此类工具修改的路由。 netsh 命令因此,在对 AD 数据库进行任何操作之前,最好先排除这些因素。
基本诊断和复制控制工具
如果出现数据损坏或复制失败的症状,首先明智的做法是使用本地工具检查环境状态。 DCDiag、Repadmin、ReplMon(旧版本)和事件查看器 在考虑采取激进的修复措施之前,他们是你最好的盟友。
连接器 DCDiag 对所有域控制器进行全面检查,找出复制、DNS、AD DS 服务等方面的问题。 Repadmin 它允许您查看复制状态、复制伙伴、USN水印并检测持久对象。在旧版本的Windows中, ReplMon 它以图形方式展示了域内的复制错误。
除了这些工具之外,还必须查看事件查看器中的“目录服务”和“DFS 复制”事件。 诸如 467 和 1018 之类的事件表明数据库确实已损坏。而事件 1113/1115/1114/1116 与启用或禁用输入/输出复制有关。
如果怀疑某个数据中心需要暂时隔离以防止其传播腐败,我们可以 使用 Repadmin 禁用入站和出站复制:
repadmin /options DCNAME +DISABLE_INBOUND_REPL
repadmin /options DCNAME +DISABLE_OUTBOUND_REPL
要恢复正常的复制功能,只需删除这些选项即可:
repadmin /options DCNAME -DISABLE_INBOUND_REPL
repadmin /options DCNAME -DISABLE_OUTBOUND_REPL
支持域控制器上的系统状态备份
为了能够有保障地恢复数据中心,拥有以下条件至关重要: 使用与 Active Directory 兼容的工具执行系统状态备份这些工具以受支持的方式使用 Microsoft 的备份和还原 API 以及卷影复制服务 (VSS)。
最常见的解决方案包括: Windows Server Backup,与 VSS 集成的第三方解决方案(例如 NAKIVO、Backup Exec 等)或较旧的公用设施,例如 备份 在 Windows 2000/2003 中,无论何种情况,都必须遵守 AD API,以确保数据库及其副本在恢复后的一致性。
Windows Server 2012 及更高版本新增了一项重要功能: Hyper-V 世代 ID (GenID)此标识符允许虚拟域控制器检测到其磁盘已回滚到之前的某个时间点。发生这种情况时, AD DS 生成一个新的 InvocationID,并将这种情况视为已从成功的备份中恢复。通知其复制伙伴,从而允许安全重写而不会导致 USN 回滚。
尊重这一点至关重要。 墓碑的一生这表示系统状态备份可以保留多长时间而不会重新引入很久以前删除的对象。在现代版本中,通常为 180 天,建议至少每 90 天执行一次备份,以确保足够的安全裕度。
导致美国海军逆转的未经授权的方法
Active Directory 中导致静默不一致的最危险原因之一是: 美国海军回滚当使用不受支持的技术回滚 AD 数据库的内容,而没有恢复 InvocationID 或通知复制伙伴时,就会出现这种情况。
典型场景是从……启动域控制器 磁盘映像 或者过去拍摄的虚拟机快照。无需使用兼容的系统还原。或者直接复制 Ntds.dit 文件,使用 Ghost 等映像程序,从损坏的磁盘镜像启动,或在阵列级别重新应用存储快照。
在这些情况下,域控制器继续使用与之前相同的 InvocationID,但其 本地美国海军计数器倒退其他数据中心会记住接收到的更改,最高可达较高的 USN 值,因此当回滚的数据中心试图发送已被识别的 USN 值时, 他们的合作伙伴认为自己已经掌握了最新信息,不再接受任何实质性的改变。.
结果是某些修改(例如, 用户创建、密码更改、设备注册、组成员变更、新的 DNS 记录这些错误不会从恢复后的数据中心复制到网络的其他部分,但监控工具可能不会显示明显的错误。这是一种极其危险的静默故障。
为了检测这些情况,Windows Server 2003 SP1 及更高版本的驱动程序会记录日志。 目录服务事件 2095 当检测到远程数据中心发送已确认的 USN 但 InvocationID 未发生变化时,系统会发出警报。 它会隔离受影响的域控制器,暂停 Netlogon,并阻止进一步的更改发生。 无法正确复现。
作为额外的法医证据,它可以 可在登记册中查阅 钥匙 HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters 和价值 Dsa 不可写如果设置了此值(例如 0x4),则表示通过 USN 反转检测将 DC 置于禁止写入状态。 手动修改此值以“修复”它是完全不受支持的。 这会导致数据库永久处于不一致状态。
域控制器发生损坏或回滚时的一般策略
处理损坏或恢复错误的域控制器时应遵循的步骤取决于以下几个因素: 域/林中的域控制器数量、系统状态有效副本的可用性、其他角色(FSMO、CA、全局编录)的存在情况以及问题的时间范围。.
如果域中还有其他健康的数据中心,并且 受损域控制器上没有独特的关键数据通常情况下,最快捷、最干净的方法是删除该域控制器并重建它。但是,如果它是唯一的域控制器,或者它托管着敏感角色和数据,则需要更谨慎地进行恢复(权威恢复或非权威恢复)。
一般来说,选项包括:
- 强制降级腐败的域控制器并将其从域中移除。然后进行元数据清理,并在适用情况下进行新的推广。
- 从有效的系统状态备份中恢复无论是以权威模式还是非权威模式。
- 使用 IFM(从介质安装)从另一个 DC 重建 DC当没有最近的副本,但有其他正确的 DC 时。
- 使用虚拟数据中心的 VHD 快照应用其他步骤将数据库标记为从备份中恢复(从备份中恢复的数据库 = 1),并确保生成新的 InvocationID。
如果明显怀疑发生了 USN 回滚(例如,在未遵循最佳实践的情况下从快照恢复虚拟机后),并且出现了事件 2095,那么最明智的做法通常是: 将该数据中心从服务中移除,不要尝试在现场“修复”它。除非能够恢复到回滚之前所获取的受支持系统状态的备份。
强制降职和元数据清理
当域控制器损坏严重,无法正常降级,或者恢复过程出现错误,而您希望防止问题扩散时,您可以采取以下措施: 强制降职.
在旧版本中,此操作是通过以下方式执行的: dcpromo /forceremoval什么 删除 AD DS 角色,而不尝试将更改复制到林中的其他部分。在现代环境中,向导程序已经发生了变化,但概念是一样的:从 AD 拓扑中删除有问题的 DC,而不让它参与进一步的复制。
强制降级后,必须从运行正常的域控制器执行命令。 元数据清理 使用工具 Ntdsutil此过程会从 AD 数据库中删除对已删除 DC 的所有引用(NTDS 设置对象、DNS 引用等),以便: 没有“幽灵”残余物会干扰复制。.
如果降级的控制器具有 FSMO 角色(PDC 模拟器、RID 主服务器、模式主服务器等),则需要: 转移或接管这些角色 根据具体情况,可以在降级之前或之后将其迁移到另一个域控制器。之后,可以在该服务器上重新安装操作系统,并将其提升回原来的域控制器。
Active Directory 中的非权威还原与权威还原
当存在有效的系统状态副本时,AD 恢复可以通过两种方式进行: 非权威的和权威的了解其中的区别是避免错过最新变化或重复使用过时数据的关键。
在一个 非权威性恢复DC 会回到之前的某个点,但一旦它开始运行, 其他域控制器被视为参考域控制器换句话说,启动后,恢复的域控制器会请求入站复制,并使用其他域控制器中缺失的更改更新其数据库。此选项在以下情况下非常理想: 还有其他健康的控制器,我们希望修复后的控制器能够赶上它们。.
在一个 威权复辟然而,文中明确指出: 恢复后的数据才是最终版本。 高于其他域控制器的版本号。这意味着,恢复后,恢复的对象将具有更高的版本号,以强制它们从该域控制器复制到域中的其他部分。这是在以下情况下的合适选择: 我们可能不小心删除了对象或组织单元,或者我们想将 SYSVOL 和 GPO 的内容还原到之前的状态并进行复制。.
一个重要的细节是,权威恢复并不一定需要针对整个数据库。使用该实用程序 Ntdsutil 可以将单个对象、子树(例如,组织单元)或整个域标记为权威对象。这为例如以下情况提供了相当大的灵活性: 仅检索用户、组、组织单元或子树 dc=mycompany,dc=local.
数据中心系统状态恢复的一般流程
使用兼容工具恢复数据中心(无论是物理数据中心还是虚拟数据中心)系统状态的基本方案始终类似: 启动进入目录服务还原模式 (DSRM),使用备份工具进行还原,然后重新启动.
总之,虚拟域控制器的典型步骤如下:
- 在 Windows 启动管理器中启动虚拟机 (通常是在启动时按 F5/F8)。如果虚拟机由虚拟机管理程序管理,则可能需要暂停虚拟机才能捕获按键操作。
- 在高级启动选项中,选择 目录服务恢复模式 (目录服务还原模式)。此模式启动服务器,但不以任何功能方式挂载 Active Directory 数据库。
- 使用 DSRM 管理员帐户登录 在 DC 最初提升期间定义(不是使用标准域管理员帐户)。
- 运行备份工具 使用(Windows Server Backup、NAKIVO 或其他兼容的备份软件),并选择将系统状态还原到所需的备份点。
- 完成恢复向导并 以正常模式重启 DC在非权威还原中,服务器将启动复制以与其他域控制器保持同步。
当我们谈到第三方备份产品时,例如 NAKIVO 备份和复制它的“应用程序感知”模式能够识别出正在恢复的机器是数据中心,并且 自动调整流程以保持 AD 一致性在大多数具有多个控制器的场景中,非权威模式下的完全恢复就足够了。
使用 Ntdsutil 进行权威恢复
如果您希望已恢复的域控制器上的更改优先于其他更改,则需要在非权威恢复之后添加一个额外的步骤: 使用 Ntdsutil 将对象标记为权威对象.
简化后的流程图如下:
- 以标准方式恢复系统状态,并保持服务器处于运行状态。 DSRM模式 (暂时不要以正常模式重启)。
- 打开一个 以管理员权限运行命令提示符 并运行
ntdsutil. - 使用以下命令激活 AD 实例 激活实例 ntds.
- 进入权威修复的语境 权威恢复.
- 使用类似命令
restore object <DN_objeto>orestore subtree <DN_subarbol>其中 DN 是要权威地恢复的对象或子树的专有名称。 - 确认交易,交易完成后, 以正常模式重启 DC 以便优先复制已标记的对象,而不是域中的其他对象。
这种类型的修复需要格外谨慎。 如果整个域已权威恢复,但备份文件较旧。备份后可能会丢失合法更改(例如,用户创建、密码更改或组修改)。因此,通常的做法是将权威还原限制在绝对必要的对象或树中。
SYSVOL 恢复和还原(FRS 与 DFSR)
SYSVOL 是域控制器的关键组件: 它存储启动脚本、组策略、安全模板和其他重要的共享资源。权限故障、文件损坏或复制问题都可能导致 GPO 无法使用或导致客户端出现异常行为。
根据 Windows Server 版本和迁移状态,SYSVOL 可能会被复制。 FRS(文件复制服务) 为什么 DFSR(分布式文件系统复制)SYSVOL 的权威恢复程序取决于使用的是哪一个。
要确定这一点,您可以检查注册表中的键值。 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\DFSR\Parameters\SysVols\Migrating Sysvols\LocalState如果此子键存在且其值为 3(已删除),则表示正在使用 DFSR。如果该子键不存在或其值不同,则表示当前环境仍在使用 FRS。
在采用 FRS 的环境中,SYSVOL 的权威恢复通常涉及调整该值。 布尔弗拉格斯 en HKLM\System\CurrentControlSet\Services\NtFrs\Parameters\Backup/Restore\Process 将其转换为特定值(例如,十进制 212 / 十六进制 0xD4),以表明此 DC 是权威来源。
如果 SYSVOL 由 DFSR 复制,则过程会稍微复杂一些:它涉及使用 ADSI 编辑 修改 SYSVOL 订阅对象(属性) 已启用 msDFSR y msDFSR选项在权威域控制器和其他域控制器上,强制执行 AD 复制。 dfsrdiag pollad 并在事件日志中确认出现 事件 4114、4602、4614 和 4604 证明 SYSVOL 已正确初始化和复制。
从 VHD 恢复虚拟域控制器
在虚拟化环境中,这种情况非常普遍。 域控制器的 VHD/VHDX 文件如果您没有系统状态备份,但有一个可用的“旧”VHD,您可以从该磁盘挂载新的DC,但您必须非常小心地执行此操作,以避免导致USN回滚。
建议是 不要直接以正常模式启动该虚拟机相反,你应该从之前的 VHD 启动。 DSRM打开注册表编辑器并导航至 HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters在那里,建议检查一下数值。 先前DSA修复次数统计 (如果存在)并且最重要的是,创建一个名为 的新 DWORD(32 位)值 从备份中恢复的数据库 值为 1。
选择此值后,Active Directory 将被告知数据库已从备份还原,这将强制执行此操作。 在正常模式下启动时生成新的 InvocationID这样,其他数据中心就会将其解释为新实例,并正确调整其复制水印,从而防止 USN 回滚。
在以正常模式重启域控制器后,建议检查事件查看器,特别是日志。 目录服务,寻找 1109活动此事件确认服务器的 InvocationID 属性已更改,并显示旧值和新值,以及备份时的最高 USN。此外,该值还显示了 先前DSA修复次数统计 它应该增加1。
如果这些事件没有出现,或者计数没有增加,则应检查操作系统版本和服务包,因为 某些修复行为取决于特定的斑块。总之,最好始终在原始 VHD 的副本上进行操作,保留完整版本以备需要重复该过程时使用。
实际场景和补充建议
在实践中,腐败或不当修复等问题经常出现在日常生活中: 手动修改 SYSVOL 中的权限、尝试更新 ADMX/ADML 模板、GPO 更改未同步等等。如果手动修改共享文件夹,就很容易造成不一致,例如: SYSVOL\Policies 不考虑复制。
如果主域控制器复制中断(AD 数据和 SYSVOL 均中断),并且出现“数据库恢复使用了不受支持的操作步骤。可能原因:USN 回滚明智的做法是:
- 检查与 直流诊断 y 重新管理 错误的程度以及是否存在“持久对象”。
- 检查事件 2095 及其值 Dsa 不可写 在注册表中。
- 评估是否可行 移除该数据中心并重建它 (如果有三名或更多其他健康的儿童,这通常是最佳选择)。
- 如果这是唯一的DC或评论家,请提出…… 系统状态恢复 从兼容的备份中备份,最好是最近的备份,并且备份日期在系统终止日期之前。
在具有多个控制器的域中,强烈建议尽可能保持域控制器的“纯净”状态: 无需额外角色或本地用户数据这样,如果一个域控制器发生故障或损坏,就可以基于另一个域控制器或通过 IFM 格式化并提升一个新的域控制器,从而大大降低恢复的复杂性。
此外,值得注意的是,还存在一些局限性,例如: 系统状态副本仅在墓碑期内有效。 (根据配置不同,保留 60、90 或 180 天)以避免恢复已删除的对象,并且 NTLM 机器密钥每 7 天更改一次。对于非常旧的恢复操作,可能需要…… 重置团队帐户 “Active Directory 用户和计算机”出现问题,甚至删除它们并重新加入域也会出现问题。
制定定期备份系统状态的程序, 清晰地记录 FSMO 角色、全局编录和复制拓扑结构在实验室环境中测试恢复步骤是一项耗时的投资,当域控制器损坏或有人未经思考就应用快照时,可以避免很多麻烦。
对字节世界和一般技术充满热情的作家。我喜欢通过写作分享我的知识,这就是我在这个博客中要做的,向您展示有关小工具、软件、硬件、技术趋势等的所有最有趣的事情。我的目标是帮助您以简单而有趣的方式畅游数字世界。

