适用场景:主域控健康在线,备域控硬件彻底损坏,甚至无法开机。
示例环境均为脱敏地址:主域控 DC-A、损坏备域控 DC-B、新备域控 DC-C,域名 example.com。
结论先行
只要域里还有一台健康的域控,AD 域通常仍能正常运转。用户登录、认证、组策略一般不会中断。
所以这件事的定性不是“抢修”,而是“重建”:
1. 把已经彻底损坏的旧备域控从域里干净地清理掉;
2. 让一台新服务器以干净身份重新加入域;
3. 再将其提升为新的备域控。
整个过程主域控风险很低,但有一个关键步骤不能跳过:元数据清理。
一、备域控坏了,主域控没事,先不要慌
很多管理员第一反应是:域控坏了,是不是整个域都完了?
不是。
AD 域是多主复制架构。只要域里还有一台健康域控,例如本文的 DC-A,整个域通常仍能正常提供服务。备域控的价值本来就是冗余,它挂了,意味着冗余没了,但不代表服务立刻中断。
因此,正确思路是:
不把坏掉的备域控当成“必须原样救回”的设备;
而是把它当成一个需要从 AD 中干净移除的旧节点;
然后用新服务器重新补齐冗余。
真正要小心的,是旧域控在 AD 数据库和 DNS 中留下的“户口”。
二、为什么不能直接重装一台“顶替”?
这是最容易踩的坑:
新机器装好系统,改成和旧备域控一样的名字,然后直接提升为域控。
结果可能有两种:
1. 提升直接报错;
2. 更糟:看起来提升“成功”了,但后续复制报错、客户端定位异常,出现各种灵异问题。
原因是旧域控在 AD 里留下了一整套对象和记录,例如:
NTDS Settings对象;计算机账户;
DSA GUID;
DNS 中的 A 记录;
DNS 中的 SRV 记录;
_msdcs区域下的相关 CNAME 记录。
这些不会因为机器硬件损坏就自动注销。
如果新机器顶着同一个名字直接入伙,AD 会认为“档案和本人对不上”,安全通道、Kerberos、复制拓扑都可能出问题。
所以正确顺序永远是:
先让域忘记旧域控,再让新机器以干净身份加入。
三、重装前必须确认的三件事
1. 确认旧备域控真的救不回来了
元数据清理不可逆。
一旦执行清理,旧备域控的 AD 数据库就永远无法再连回当前域。哪怕以后硬盘修好了,这台机器也只能按全新机器重新处理。
所以动手前必须确认:
硬盘或系统彻底损坏;
或者已经决定不原样恢复这台旧机器。
2. 确认 FSMO 五大角色不在旧备域控手里
在健康域控上执行:
netdom query fsmo备域控通常不持有 FSMO 角色,但“通常”不等于“一定”。
如果发现角色在故障域控上,需要先在健康域控上把角色夺取过来,否则清理之后这些角色可能悬空。
3. 给健康域控做一次系统状态备份
动 AD 之前先留后路,这是纪律。
wbadmin start systemstatebackup -backupTarget:<备份盘> -quiet四、重建步骤
第 1 步:体检健康域控
先确认现有域控 DC-A 是健康的。
dcdiag /s:DC-A
repadmin /replsummary重点看:
dcdiag是否无Fail;repadmin /replsummary是否干净;SYSVOL、NETLOGON共享是否正常。
如果基座本身不健康,不要急着往上盖楼。
第 2 步:清理旧备域控元数据
Windows Server 2012 以后,图形界面通常就够了:
1. 打开 ADUC;
2. 进入 Domain Controllers OU;
3. 右键删除旧备域控 DC-B;
4. 勾选“此域控制器已永久脱机”;
5. 顺手勾选删除 DNS 引用。
这个“已永久脱机”的勾选,本质上就是元数据清理的开关。
如果是更老的域环境,例如 Windows Server 2008/2003,可能需要使用 ntdsutil 手动清理。
清理完成后,到“Active Directory 站点和服务”中确认:
旧备域控
DC-B的服务器节点已经消失。
第 3 步:人工复查 DNS
自动清理也可能有遗漏。重点检查三类记录:
1. 正向区域的 A 记录;
2. 区域属性里的 NS 记录;
3. _msdcs.<域名> 下以 DSA GUID 命名的 CNAME 记录。
另外,反向区域的 PTR 记录也建议扫一眼。
残留的 SRV/CNAME 记录,是日后客户端间歇性定位失败的经典祸源。
第 4 步:安装新系统并配置网络
给新备域控 DC-C 安装与 DC-A 相同或更高版本的 Windows Server。
网络配置注意:
配置静态 IP;
DNS 只指向健康域控
DC-A;不要填公网 DNS,例如
8.8.8.8;校准时间,Kerberos 默认容忍约 5 分钟偏差。
如果 DNS 填错,加域和提升阶段的 SRV 解析可能莫名其妙失败。
第 5 步:加入域
使用图形界面或 PowerShell 将 DC-C 加入现有域。
Add-Computer -DomainName example.com -Restart如果希望沿用旧备域控的名字 DC-B,必须确保上一步元数据清理彻底。
如果加入时报“账户已存在”,通常说明元数据没清干净,需要回头补课。
第 6 步:安装角色并提升为域控
在服务器管理器中安装 AD DS,然后选择:
“将此服务器提升为域控制器”
提升时选择:
“将域控制器添加到现有域”
建议勾选:
DNS 服务器;
全局编录 GC;
站点选择旧备域控原来的站点;
设置并记录 DSRM 密码。
然后执行先决条件检查,安装完成后系统会自动重启。
第 7 步:调整 DNS 指向
提升完成后,调整两台域控的 DNS:
DC-C网卡 DNS:首选127.0.0.1,备用DC-A;DC-A网卡 DNS:备用指向DC-C。
两台域控互为解析,这是双域控环境的标准姿势。
第 8 步:验证并迁移遗留服务
这一步最容易虎头蛇尾。
旧备域控 DC-B 生前可能还兼着别的服务,例如:
DHCP 作用域里的 DNS 选项;
打印机、交换机、Linux 主机、备份软件中写死的旧 IP;
其他静态配置里指向
DC-B的地址。
需要逐一排查,把旧地址替换为新备域控 DC-C 的地址。
验证命令可以参考:
dcdiag /s:DC-C /v
repadmin /replsummary
repadmin /showrepl
net share
netdom query fsmo重点确认:
复制正常;
DNS 正常;
SYSVOL/NETLOGON 共享正常;
FSMO 角色仍在健康域控或已正确安排;
客户端能够正常定位域控。
五、常见坑总结
1. 不清理元数据,直接同名提升
后续复制、Kerberos、客户端定位都可能出问题。
2. DNS 指向公网 DNS
加域和提升阶段容易因 SRV 解析失败而报错。
3. 漏删 _msdcs 下的 CNAME 记录
这是客户端间歇性定位失败的常见原因。
4. 忘记检查 FSMO 角色
清理后角色可能悬空。
5. 忘记迁移 DHCP 和静态 IP 配置
旧备域控 IP 被写死在各种设备里,清理后服务可能异常。
6. 没有验证复制就收工
重建完成不等于复制健康,必须验证。
六、速查清单
七、总结
备域控硬件彻底损坏,并不是天塌了。
只要还有一台健康域控,域服务通常仍然在线。真正重要的是按正确顺序重建:
先清理旧域控元数据,再让新服务器加入并提升为域控。
不要直接重装一台“顶替”旧机器,也不要跳过 DNS 复查和复制验证。把这两步做扎实,新备域控才能真正补回冗余,而不是给域里埋下新的隐患。