AD域服务器|两台DC无法进行复制同步
注:本文由Colin撰写,版权所有!转载请注明原文地址,谢谢合作!
说明:前段时间公司两台域控出现了一些问题导致数据无法相互进行同步,DC之间也无法进行共享访问,网络用户无法通过计算机名映射的共享访问资源。几经折腾最后排除并解决了部分可能性的故障,但两台域控制器之间的用户与数据同步自己始终没能搞定。最终只有等到最初搭建域环境的同事回来,向他描述故障情况后,经过一番折腾最后我们才解决该故障。由此可见自己在这方面还有很多不足,以后还应该多多学习。另外,感觉在处理问题时,知识、工作经验的积累与胆大心细也非常重要..
正常情况下:
共两台域控(相互同步,当在一台域控出现故障的情况下,另一台域控仍然可以正常工作,域用户依然可以进行登陆验证。)
此处两台域控分别描述为DC01(windows 2003 Server)和DC02(Windows Server 2008 R2);
故障描述:
出现的问题是DC01(主域控)和DC02之间不能互相同步数据,甚至连两台DC之间也无法使用计算机名进行互访,但使用IP可以互相访问。最初排除的是DNS故障。由于未能同步,结果导致于部分域用户无法进行登陆验证。(提示:此工作站和主域间的信任关系失败。)甚至某些电脑无法加入域。需要在域服务器中将该计算机删除或将客户机改名才行。另外,直接关掉一台故障的域控制器用户也可以顺利加域,因此判断可能是DC之间互相不能同步,也不互相信任导致的。
注:下文主要记录解决同步问题的步骤,其它故障请自行排除。
原因分析:
可能的原因很多,如DNS服务未运行或解析存在问题问题,NetLogon服务未启动,Kerberos Key Distribution Center服务停止或文件复制服务未启动等等。可以先尝试手动进行同步操作试试,看会有什么错误提示。另外,建议使用Windows自带的事件查看器来查看具体的问题原因,并记录好事件代码。
手动同步操作如图:

注意查看事件管理器查看故障详细描述或记录事件ID。

在排除以上问题的情况下,在服务器上手动同步仍然不成功可以参考以下内容:
首先用命令行输入:dcdiag 检查一下有哪些测试未通过。
正常情况如图:

使用强制同步命令:repadmin /syncall /force
正常情况如下图:

发现我们的故障原因是同步时访问被拒绝,无法进行同步,最后成功同步时间为2014/01/22 08:00:00
原因是两台域之间有超过60天未进行同步,数据库中存在延迟对象,无法进行同步。解决办法就是删除延迟对象或进行松散同步。
(官方说明:Active Directory 复制发现下列分区中存在的对象已经从 本地域控制器(DC) Active Directory 数据库中删除。 在逻辑删除生存时间过期之前,部分直接或可传递的复制 伙伴没有复制该删除。已经从 Active Directory 分区 删除并垃圾收集的对象,如果仍然存在于同一域中其他 DC 的可写入分区中或林中其他域中的全局编录服务器的 只读分区中,被称作“延迟对象”。
此事件被记录到日志,因为源 DC 包含的延迟对象不存在于 本地 Active Directory 数据库上。此复制被阻止。
解决此问题的最佳方案是标记并删除林中的所有延迟对象。)
解决问题:
方案A:
首先使用命令检查哪些条目不能测试通过并排除故障:
dcdiag
在DC1上启用严格复制:
Repadmin /regkey <DC_List> +strict
详细信息请查看下面这篇文档:
http://technet.microsoft.com/zh-cn/library/cc835086
然后使用下面的命令来进行强制复制
repadmin /kcc
repadmin /syncall /force
查看事件日志是否相关的错误复制信息,如果有我们可以根据相关错误信息来删除这些过期信息。
在两台DC上分别执行如下命令:
repadmin /removelingeringobjects ServerName ServerGUID DirectoryPartition
详细信息请查看下面这篇文档:
Use Repadmin to remove lingering objects
http://technet.microsoft.com/en-us/library/cc785298(WS.10).aspx
方案B:(我们使用这种方案成功解决问题)
首先使用命令检查哪些条目不能测试通过并排除故障:
dcdiag
尝试使用下面的命令来进行强制复制:
repadmin /syncall /force
查看事件日志是否相关的错误复制信息,如果有我们可以根据相关错误信息来删除这些过期信息。
删除延迟对象,在两台DC上分别执行如下命令:
repadmin /removelingeringobjects ServerName ServerGUID DirectoryPartition
命令示例:
repadmin /removelingeringobjects DC1 aaaaaaaa-0000-0000-0000-aaaaaaaaaaaa
dc=dg,dc=feikk,dc=com /advisory_mode
repadmin /removelingeringobjects DC2 bbbbbbbb-1111-1111-1111-bbbbbbbbbbbb
dc=dg,dc=feikk,dc=com /advisory_mode
更改注册表为松散复制示例:
Value Path: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters
Value Name: Allow Replication With Divergent and Corrupt Partner(如没有此键值可以直接增加)
Value Type: REG_DWORD
Value Data: 1
Value Path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
Value Name: Strict Replication Consistency
Value Type: REG_DWORD
Value Data: 0
点击“立即复制副本”后会迅速提示复制完成。复制成功后,请在注册表中做如下调整:
删除:
Value Path: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NTDS\Parameters
Value Name: Allow Replication With Divergent and Corrupt Partner
Value Type: REG_DWORD
Value Data: 1
将以下注册表设定值恢复成1:
Value Path: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
Value Name: Strict Replication Consistency
Value Type: REG_DWORD
Value Data: 1
现在再检查一下两台DC之间是否可以自动同步了。
如果依然存在问题,请参考以下文章可能会更加全面:
http://blog.sina.com.cn/s/blog_491d1f3701010j2j.html
http://adirectory.blog.com/2012/07/active-directory-replication-troubleshooting/
AD域服务器|两台DC无法进行复制同步的更多相关文章
- 如何变更站点 AD 域服务器IP地址
在 winserver 2012 单森林单域,多站点环境中,想把某一个站点AD 域服务器IP地址更改,要如何操作,才能保证客户端正常运行,不影响客户端的运行.有些朋友也经常提出类似问题. 想在不影响 ...
- AD 域服务简介(一)- 基于 LDAP 的 AD 域服务器搭建及其使用(转)
一.前言 1.1 AD 域服务 什么是目录(directory)呢? 日常生活中使用的电话薄内记录着亲朋好友的姓名.电话与地址等数据,它就是 telephone directory(电话目录):计算机 ...
- stp域中两台switch互联接口出现两口均为root口 并且在现有stp区域中无法确定根桥设备位置;分析其原因并赋予解决办法
stp域中两台switch互联接口出现两口均为root口 并且在现有stp区域中无法确定根桥设备位置:分析其原因并赋予解决办法 1.于上图描述了案例中当前组网环境的各交换机位置与stp状态情况 : ...
- windows server 2008 r2 AD域服务器设置
域控制器是指在"域"模式下,至少有一台服务器负责每一台联入网络的电脑和用户的验证工作,相当于一个单位的门卫一样,称为"域控制器(Domain Controller,简写为 ...
- AD域服务器组策略实现文件夹重定向 保护文件安全
网络管理员或许都遇到过类似的烦恼.如系统崩溃后,原来存放在 C盘的应用程序专署数据都丢失了;或者桌面上的文件莫名其妙少了,等等.有时候,我们也千方百计提醒员工不要把文件存放在桌面上,但是他们总是不听 ...
- freeradius整合AD域作anyconncet认证服务器
一.服务器要求 Radius服务器:centos6.6.hostname.selinux disabled.stop iptables AD域服务器:Windows Server 2008 R2 E ...
- Server 2008 R2部署active directory服务器-ad域
一.部署AD域: 系统环境:Windows server 2008 R2 标准版 ip:172.16.1.149服务器开机后会自动弹出一个初始配置任务窗口(这个不要随便关闭,因为我不知道关闭后能在哪里 ...
- JAVA使用Ldap操作AD域
项目上遇到的需要在集成 操作域用户的信息的功能,第一次接触ad域,因为不了解而且网上其他介绍不明确,比较费时,这里记录下. 说明: (1). 特别注意:Java操作查询域用户信息获取到的数据和域管理员 ...
- win2008 ad域控搭建
一.前言 1.1 AD 域服务 什么是目录(directory)呢? 日常生活中使用的电话薄内记录着亲朋好友的姓名.电话与地址等数据,它就是 telephone directory(电话目录):计算机 ...
随机推荐
- Android成长日记-ViewPager的使用
ViewPager在安卓应用中主要用于作为程序的引导页面,欢迎页面,以及其他的动画效果,下面将给你讲述ViewPager的使用 在Android3.0以上的Api中,提供了ViewPager的接口,所 ...
- UVa1636 Headshot
数据结构学得心累,做点小题换心情 原题是PDF格式查看的,贴过来好麻烦,果断放弃 已知前一次尝试结果是0,则可以得知: 下一次若仍是0,则遇到了一个00串 下一次若是1,则遇到了一个01串 SHOOT ...
- Queue 先进先出队列的操作
1.Queue定义 System.Collections.Queue类表示对象的先进先出集合,存储在 Queue(队列) 中的对象在一端插入,从另一端移除. 2.优点 1.能对集合进行顺序处理(先进先 ...
- spring容器初始化执行某个方法
在做web项目开发中,尤其是企业级应用开发的时候,往往会在工程启动的时候做许多的前置检查. 比如检查是否使用了我们组禁止使用的Mysql的group_concat函数,如果使用了项目就不能启动,并指出 ...
- linux下memcache的运用,和php结合小案例。
由于是采用脚本安装的memache,所以软件的依赖关系我就不操心了,脚本已经帮我装好了和php的关联关系,实在是很省心.后续如果有需要,我会针对windows和linux各写一个安装和配置的说明,一来 ...
- Swift开发之 (01) 语法
一 Swift Swift,苹果于2014年WWDC(苹果开发者大会)发布的新开发语言,可与Objective-C*共同运行于Mac OS和iOS平台,用于搭建基于苹果平台的应用程序. Swift是一 ...
- 机器学习笔记--KNN算法1
前言 Hello ,everyone. 我是小花.大四毕业,留在学校有点事情,就在这里和大家吹吹我们的狐朋狗友算法---KNN算法,为什么叫狐朋狗友算法呢,在这里我先卖个关子,且听我慢慢道来. 一 K ...
- Objective -C学习笔记 之copy(复制)
//自定义类对象实现copy需要遵守copy协议(否则程序崩溃),实现必须实现的协议方法,里面的代码就决定了你的copy是深是浅 #import <Foundation/Foundation.h ...
- 获取字符串中每个字符出现的次数(利用TreeMap)
案例:"aababcabcdabcde",获取字符串中每一个字母出现的次数要求结果:a(5)b(4)c(3)d(2)e(1)分析1:定义一个字符串(可以改进为键盘录入)2:定义一个 ...
- centos搭建 nginx一直报错 file not found.
百度了半天找到别人的解决办法 记录下 摘要: file not found. nginx php 这个问题是你配置文件的问题: 查看就是了不要管 nginx 如何开启解析 PHP 的功能? # 成功安 ...