现象:用户两台域控,GC(PDC)上面创建用户DC不能正常同步,DC上面创建用户GC能够同步,同时发现有一台文件服务器有些机器不能正常访问,提示共享无权限
原因:用dcdiag命令在GC上没有问题,在DC上发现墓碑时间问题,可以确定是墓碑时间超过默认的180天造成的,起因是由于用户前段时间GC的外部时钟源出现一次事故,导致GC时间回到1976年,造成两台域控时间墓碑时间
解决方法:
何修改默认的墓碑生存时间
1. Windows 2000和Windows 2003不带SP1的默认墓碑生存时间是60天,Windows 2003+SP1的默认墓碑生存时间是180天。
2. 修改墓碑生存时间的方法如下:
(1) 安装Windows 2003的管理工具。
(2) 运行adsiedit.msc,展开“Configuration”->“CN=configuration,DC=xxx......”-& gt;“CN=Services”->“CN=Windows NT”,右击“CN=Directory Service”->“属性”。
(3) 找到一个叫“TombstoneLifetime”的属性,设上您希望的值即可。
3. 由于配置分区是在整个森林中同步的,所以这个设置会自动复制到子域上,我们无需手动操作,但是会有一些延迟。
如果DC长时间没有复制,已经超过墓碑时间,如何恢复呢?
关于修复的详细信息,请参考以下文章:
Fixing Replication Lingering Object Problems (Event IDs 1388, 1988, 2042)
http://technet.microsoft.com/zh-cn/library/cc738018.aspx
http://technet.microsoft.com/zh-cn/library/34c15446-b47f-4d51-8e4a-c14527060f90
操作步骤:
1. 首先确认这个DC是否能够联系上GC,使用NSlookup命令来尝试解析GC的SRV记录,具体方法请参考:
How to verify that SRV DNS records have been created for a domain controller
http://support.microsoft.com/?id=816587
2. 在长时间没有复制的DC上运行net time [url=file://\\PDC_IP]\\PDC_IP[/url],使DC的时间与PDC同步。
3. 在长时间没有开机的DC上运行以下命令:
repadmin /removelingeringobjects ServerName ServerGUID DirectoryPartition /advisory mode
注:ServerName为长时间没有开机的DC的DNS名称,ServerGUID为DC的GUID名称,DirectoryPartition为分区名称,类似DC=example,DC=com。
确定DC的GUID请运行以下命令
repadmin /showrepl ServerName
4. 运行Regedit.exe 编辑注册表,定位到以下位置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
编辑Strict Replication Consistency,改为1。
注意:在对注册表进行操作前,应先备份注册表,“注册表编辑器”使用不当可造成严重问题,这些问题可能需要重新安装操作系统。Microsoft 不保证能够解决因为“注册表编辑器”使用不当而产生的问题。使用“注册表编辑器”需要您自担风险。
5. 然后在两台DC上都进行如下操作:
运行regedit,找到HKLM\System\CurrentControlSet\Services\NTDS\Parameters\Allow Replication With Divergent and Corrupt Partner,将这个键值设置为1。
如果没有,请您手动新建Allow Replication With Divergent and Corrupt Partner,类型为DW(双字节值)。
在做完以上操作后,重启DC,查看DC的复制情况。
如果域控比较重要,可以不执行降域操作,直接修改注册表,见步骤5
在出问题的DC上面修改或添加(如果没有)
建议:当两台域控同步完后,把此键值去掉,为了保障域控的安全
补充:修改注册表键值
HKLM\System\CurrentControlSet\Services\NTDS\Parameters\Allow Replication With Divergent and Corrupt Partner
其键值为1
该键值是允许DC在活动目录复制时忽略对于“墓碑”周期的检查,修改之后只是会造成部分被清除的对象会被复制。我建议您在完成一次域中所有DC同步之后,将该注册表键值关闭。
设置该注册表键值是为了在DC复制前不再检查数据源的最后更新时间是否超过“墓碑”记录周期。
修改该注册表键值不会产生大的负面影响,唯一的负面影响就是会将一部分已删除的对象加入到活动目录复制中去,增加部分网络流量。
在未设置该注册表键值前,对于超过“墓碑”记录周期的数据源,DC将停止和该数据源的复制。这是由于两台DC上已删除的对象可能不同,数据源可能还存在那 些未被garbage collect真正清理仍存在于Deleted Objects container中的对象。如果默认就不检查,则可能会将数据源中那些本应该已被清理的对象再次复制到目标DC上。
原因:用dcdiag命令在GC上没有问题,在DC上发现墓碑时间问题,可以确定是墓碑时间超过默认的180天造成的,起因是由于用户前段时间GC的外部时钟源出现一次事故,导致GC时间回到1976年,造成两台域控时间墓碑时间
解决方法:
何修改默认的墓碑生存时间
1. Windows 2000和Windows 2003不带SP1的默认墓碑生存时间是60天,Windows 2003+SP1的默认墓碑生存时间是180天。
2. 修改墓碑生存时间的方法如下:
(1) 安装Windows 2003的管理工具。
(2) 运行adsiedit.msc,展开“Configuration”->“CN=configuration,DC=xxx......”-& gt;“CN=Services”->“CN=Windows NT”,右击“CN=Directory Service”->“属性”。
(3) 找到一个叫“TombstoneLifetime”的属性,设上您希望的值即可。
3. 由于配置分区是在整个森林中同步的,所以这个设置会自动复制到子域上,我们无需手动操作,但是会有一些延迟。
如果DC长时间没有复制,已经超过墓碑时间,如何恢复呢?
关于修复的详细信息,请参考以下文章:
Fixing Replication Lingering Object Problems (Event IDs 1388, 1988, 2042)
http://technet.microsoft.com/zh-cn/library/cc738018.aspx
http://technet.microsoft.com/zh-cn/library/34c15446-b47f-4d51-8e4a-c14527060f90
操作步骤:
1. 首先确认这个DC是否能够联系上GC,使用NSlookup命令来尝试解析GC的SRV记录,具体方法请参考:
How to verify that SRV DNS records have been created for a domain controller
http://support.microsoft.com/?id=816587
2. 在长时间没有复制的DC上运行net time [url=file://\\PDC_IP]\\PDC_IP[/url],使DC的时间与PDC同步。
3. 在长时间没有开机的DC上运行以下命令:
repadmin /removelingeringobjects ServerName ServerGUID DirectoryPartition /advisory mode
注:ServerName为长时间没有开机的DC的DNS名称,ServerGUID为DC的GUID名称,DirectoryPartition为分区名称,类似DC=example,DC=com。
确定DC的GUID请运行以下命令
repadmin /showrepl ServerName
4. 运行Regedit.exe 编辑注册表,定位到以下位置:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters
编辑Strict Replication Consistency,改为1。
注意:在对注册表进行操作前,应先备份注册表,“注册表编辑器”使用不当可造成严重问题,这些问题可能需要重新安装操作系统。Microsoft 不保证能够解决因为“注册表编辑器”使用不当而产生的问题。使用“注册表编辑器”需要您自担风险。
5. 然后在两台DC上都进行如下操作:
运行regedit,找到HKLM\System\CurrentControlSet\Services\NTDS\Parameters\Allow Replication With Divergent and Corrupt Partner,将这个键值设置为1。
如果没有,请您手动新建Allow Replication With Divergent and Corrupt Partner,类型为DW(双字节值)。
在做完以上操作后,重启DC,查看DC的复制情况。
如果域控比较重要,可以不执行降域操作,直接修改注册表,见步骤5
在出问题的DC上面修改或添加(如果没有)
建议:当两台域控同步完后,把此键值去掉,为了保障域控的安全
补充:修改注册表键值
HKLM\System\CurrentControlSet\Services\NTDS\Parameters\Allow Replication With Divergent and Corrupt Partner
其键值为1
该键值是允许DC在活动目录复制时忽略对于“墓碑”周期的检查,修改之后只是会造成部分被清除的对象会被复制。我建议您在完成一次域中所有DC同步之后,将该注册表键值关闭。
设置该注册表键值是为了在DC复制前不再检查数据源的最后更新时间是否超过“墓碑”记录周期。
修改该注册表键值不会产生大的负面影响,唯一的负面影响就是会将一部分已删除的对象加入到活动目录复制中去,增加部分网络流量。
在未设置该注册表键值前,对于超过“墓碑”记录周期的数据源,DC将停止和该数据源的复制。这是由于两台DC上已删除的对象可能不同,数据源可能还存在那 些未被garbage collect真正清理仍存在于Deleted Objects container中的对象。如果默认就不检查,则可能会将数据源中那些本应该已被清理的对象再次复制到目标DC上。
重启问题解决
验证是否为域控制器创建了 SRV DNS 记录
SRV 记录是一个域名系统 (DNS) 资源记录,用于标识承载特定服务的计算机。SRV 资源记录用于定位 Active Directory 的域控制器。要验证域控制器的 SRV 定位器资源记录,请使用下列方法之一。
Active Directory 在以下文件夹中创建自己的 SRV 记录,其中 Domain_Name 为域名:
在这些位置,将显示以下服务的 SRV 记录:
此文件中的第一个记录是域控制器的轻型目录访问协议 (LDAP) SRV 记录。该记录应类似于如下形式:
要使用 Nslookup 来验证 SRV 记录,请按照下列步骤操作:
DNS 管理器
在运行 Microsoft DNS 服务的服务器上安装 Active Directory 后,可以使用 DNS 管理控制台来验证是否为每个 DNS 区域都创建了适当的区域和资源记录。Active Directory 在以下文件夹中创建自己的 SRV 记录,其中 Domain_Name 为域名:
Forward Lookup Zones/
Domain_Name/_msdcs/dc/_sites/Default-First-Site-Name/_tcp Forward Lookup Zones/
Domain_Name/_msdcs/dc/_tcp
在这些位置,将显示以下服务的 SRV 记录:
_kerberos
_ldap
_ldap
Netlogon.dns
如果使用非 Microsoft DNS 的服务器来支持 Active Directory,则可以通过查看 Netlogon.dns 来验证 SRV 定位器资源记录。Netlogon.dns 位于 drive :\%SystemRoot%\System32\Config 文件夹中。可以使用文本编辑器(如 Microsoft 记事本)来查看此文件。此文件中的第一个记录是域控制器的轻型目录访问协议 (LDAP) SRV 记录。该记录应类似于如下形式:
_ldap._tcp.
Domain_Name
Nslookup
Nslookup 是一个命令行工具,它显示的信息可以用来诊断域名系统 (DNS) 的基础结构。要使用 Nslookup 来验证 SRV 记录,请按照下列步骤操作:
- 在 DNS 上,单击“开始”,然后单击“运行”。
- 在“打开”框中,键入 cmd。
- 键入 nslookup,然后按 Enter。
- 键入 set type=all,然后按 Enter。
- 键入 _ldap._tcp.dc._msdcs.Domain_Name,其中 Domain_Name 为域名,然后按 Enter。
Server:localhost Address: 127.0.0.1 _ldap._tcp.dc._msdcs.Domain_Name SRV service location: priority = 0 weight = 100 port = 389 srv hostname = Server_Name.Domain_NameServer_Name.Domain_Name internet address = Server_IP_Address
参考
有关由 Netlogon 注册的 SRV 记录的更多信息,请参见 TechNet 文档
How DNS Support for Active Directory Works(DNS 如何支持 Active Directory 工作)中的“由 NetLogon 注册的 SRV 记”一节。要查看此文档,请访问下面的 Microsoft 网站: