两台域服务器同步
- 云服务器
- 2025-09-09
- 8
准备工作
确认角色分配
- 主域控制器(PDC Emulator):默认情况下,第一台安装的DC会成为PDC Emulator操作主机,它负责时间同步基准和其他关键功能,后续新增的DC将从该服务器获取初始数据。
- 辅助域控制器:作为只读副本存在,接收来自主DC的更新。
网络连通性检查
| 项目 | 要求 | 验证方法 |
|---|---|---|
| IP互通 | 确保两台机器可互相ping通 | ping <对方IP> |
| DNS解析 | FQDN能正常解析 | nslookup <域名> |
| 端口开放 | LDAP(389)/Global Catalog(3268)等必要端口未被防火墙阻挡 | 使用工具如Test-NetConnection或第三方扫描软件 |
系统版本匹配
建议两台服务器运行相同版本的Windows Server操作系统(例如都是Windows Server 2019),避免因功能差异导致兼容性问题。
实施步骤
提升权限至企业管理员
登录到每一台DC上,打开“Active Directory用户和计算机”,将当前用户添加到内置组“Enterprise Admins”,此组成员拥有跨林的管理权限。

创建新域控制器
如果尚未建立第二台DC,则通过以下流程添加:
- 打开“服务器管理器” → “添加角色和功能”;
- 选择“Active Directory域服务”;
- 在向导中指定该计算机将成为现有域的新DC;
- 根据提示完成安装过程,包括复制现有AD数据库的内容。
对于已存在的第二台DC,跳过此步。
配置站点拓扑结构
进入“Active Directory站点和服务控制台”(AD Sites and Services MMC插件):

- 右键点击默认站点(Default-First-Site-Name),选择属性;
- 调整复制协议参数,如间隔时间、带宽限制等;
- 确保两个DC位于同一站点内,以便自动建立直接复制伙伴关系。
手动强制立即复制
若希望快速同步而非等待计划任务触发,可以使用PowerShell命令:
Sync-ADObject -Identity "CN=Users,DC=yourdomain,DC=com" -SourceServer old_dc_name -DestinationServer new_dc_name
或者针对整个目录:

RepAdmin /syncall /AdeP /r /d:new_dc_name /s:old_dc_name
注意替换实际的新旧DC名称。
验证同步状态
查看事件日志中的成功事件ID 19(知识一致性检查器事件),表明复制已完成且无错误,同时可通过以下方式进一步确认:
- 比较双方OU内的相同对象属性是否一致;
- 检查NTDS Settings对象的元数据版本号是否相同;
- 使用dcdiag /v工具诊断潜在问题。
常见问题排查
| 现象 | 可能原因 | 解决方案 |
|---|---|---|
| 无法建立复制伙伴 | 网络不通/防火墙阻拦 | 检查物理连接及安全策略设置 |
| KCC生成失败 | 站点间链接成本过高 | 降低子网掩码范围或重新规划IP地址段 |
| 密码不同步 | Kerberos票据过期时间不一致 | 统一设置所有DC上的账户锁定阈值 |
| 组策略应用延迟 | 客户端缓存未刷新 | 执行gpupdate /force强制更新 |
维护建议
- 定期监控复制健康状况:利用性能监视器跟踪“DS Replication Objects”计数器集;
- 备份重要数据:至少每周一次完整备份NTDS.dit文件;
- 测试故障转移能力:模拟主DC宕机后,观察辅助DC能否接管身份验证请求;
- 更新补丁及时打满:保持两台DC的系统补丁级别一致,防止漏洞利用风险。
相关问题与解答
Q1: 如果两台域控之间出现时间偏差过大怎么办?
A1: Active Directory依赖精确的时间同步来保证令牌有效性,应启用NTP服务并配置可靠的外部时间源(如互联网上的pool.ntp.org),同时确保所有DC都指向同一个内部根时钟服务器,可以通过注册表键值HKLMSYSTEMCurrentControlSetServicesW32TimeParameters下的Type设为NTP进行调整。
Q2: 如何防止脑裂现象发生在多站点部署中?
A2: 采用Hub-and-Spoke模型设计站点架构,即选择一个中心枢纽站点作为所有其他分支站点的唯一连接点,这样可以避免形成环路导致冲突的写入操作,合理设置知识一致性延迟(KCC)也能减少此类