首页> 系统技术> AD域服务器时间偏差故障处理经验分享

[文章]AD域服务器时间偏差故障处理经验分享

精帖 收藏
0 146 0

【摘要】

        在Active Directory域中,由于身份验证Kerberos协议的因素,默认情况下,所有时钟的时间偏差必须在5分钟之内,同时,Active Directory在域控制器之间使用多主复制模型,DCs的时间与PDC主机时间同步,终端的时间与任一DCs的时间同步,因此,只需要确保PDC主机时间准确性,一般情况下,终端的之间很难出现问题。但是,如果PDC主机时间出现偏差,那Active Directory 域内的终端均受影响,间接导致业务问题。

因此,保障Active Directory PDC时间准确性是非常关键且必要的。



【正文】

        网络时间协议(NTP)是Windows服务器和工作站中Windows时间服务(WTS)使用的默认时间同步协议。

        NTP是通过端口123上的UDP实现的,可以在广播和多播模式下运行,也可以通过直接查询来运行。

       在Active Directory部署中,林根域PDC模拟器是整个林中所有域控制器,成员服务器和基于Windows的工作站的唯一且唯一的来源,以下为官方对Active Directory域时间同步架构的说明:

           

n  林根域中的所有域控制器都与PDC角色所有者同步时间。

n  子域中的所有域控制器都将与具有父域的任何域控制器或其自身域的PDC仿真器同步时间。

n  子域中的所有PDC角色所有者将其时间与父域中的域控制器同步(可能包括林根域中的PDC Emulator FSMO角色所有者)。

n  所有域成员计算机(服务器/工作站/任何其他设备)都与各自域中的域控制器计算机同步时间。

为了保持准确性,微软建议将林根域PDC主机时间与可靠的外部时间源配置同步。

        近期,某客户Active DirectoryPDC主机时间出现约3min的延迟,该客户的PDC主机配置了单台外网的时间服务器作为时间源,同时所有的域控制器作为内网的服务器和交换机等网络设备的时间源。

针对于时间源存在异常的故障,进行了如下的检查:

1)     首先检查PDC主机上配置的时间源是否被修改,在cmd中运行w32tm /query /source命令看到时间源设置和之前相同,没有发生改变。

2)     检查PDC主机是否可以正常和时间源通信,ping时间源返回结果是可以正常通信的,检查发现通信是正常的。

3)     根据上述两步操作,推测故障点为指向的PDC主机无法从外部时间源获取时间,导致出现异常。

4)     查看PDC主机系统日志发现,日志ID47的日志中说明PDC主机无法正常和NTP服务器同步时间,推测故障原因为外部时间源异常或通信存在问题。

  

5)     为优先恢复生产,首先重新配置PDC主机的外部时间源,在cmd中执行:

w32tm /config /manualpeerlist:" ntp.aliyun.com, ntp1.aliyun.com" /syncfromflags:manual /reliable:yes /update

将时间源配置为为ntp.aliyun.com, ntp1.aliyun.com

6)     cmd中运行w32tm /resync将同步时间的命令下发给PDC主机和其他的域控制器。

7)     PDC主机的cmd中运行运行w32tm /monitor命令查看所有的域控制器时间与PDC主机的偏差,所有域控制器时间都恢复正常。

         本地故障的主要原因为AD环境下PDC主机所指定的NTP服务器出现异常,导致AD服务器无法正常进行时间的同步,最终出现延迟,避免该情况出现的主要方案有配置多个NTP服务器,使PDC主机可以正常获取到时间信息,并且对外网的时间源进行监控。

1)     指定多台权威NTP服务器,比如ntp.aliyun.com, ntp1.aliyun.com,当一台NTP服务器出现宕机时,会切换至另一台NTP服务器继续获取时间信息。

        

2)     AD时间出现异常时,系统会产生ID47的日志,作为外部时间源异常的告警信息,可以针对该日志进行检测和告警,第一时间通知管理员NTP时间存在异常。

3)     AD每日巡检中加入检测NTP服务器是否可以正常提供时间服务的部分,通过在PDC主机上运行w32tm /resync命令,观察返回结果,判断PDC主机是否可以与NTP服务器正常同步时间。

      

4)     当前环境下AD服务器作为整个环境的权威时间源,时间的精确性要求很高,AD的巡检中建议加入针对各地域控制器与PDC主机时间偏差的检测和告警部分,运行w32tm /monitor命令,可以看到域控制器与PDC主机的时间偏差,如果偏差超过阈值触发告警及时通知管理员。

      5)   一些业务系统受时间准确性要求比较高,建议针对于这些业务系统的时间准确性的监控和告警,具体的监控方案待具体评估,主要可以考虑通过Zabbix或者计划任务等方式进行监控和告警 .  




系统技术
最近热帖
{{item.Title}} {{item.ViewCount}}
近期热议
{{item.Title}} {{item.PostCount}}