zoukankan      html  css  js  c++  java
  • Windows服务器时间不同步问题

    一台域内的服务器时间不停地被修改,我先向用户收集了一些信息

    只有这一台出现此问题,其他服务器均为正常(补充一下,问题快解决完的时候用户告诉我一个重要的消息,就是时间被修改了一段时间后自动会被修改回去)

    系统版本服务器用途(考虑是否有软件会造成此问题)日志信息是否为虚拟机

    1.系统版本是Server 2008 数据中心版

    2.用途就是一台做图的服务器

    3.日志信息如下图,这个日志是系统日志,事件ID为1,时间从2016-7-21 00:50:59 被改为

    2016-07-21 08:32:31

    4.是Vmware虚拟机

    wKiom1eu4VqzJwkMAAEoVenQh48520.png

    = = 第一天

    1)确定服务器的时间服务是否为正常启动

    wKiom1eu4vazYfXOAADwk3yClcY287.png

    2)查看虚拟机是否和Esxi主机进行了时间同步,没有勾选的话不会和Esxi主机进行时间同步

    wKiom1eu45CThFUBAAGlyAhp2xk403.png

    3)因为用户的并不是管理域的,我让用户询问了一下DC的IP地址,然后使用net time进行时间同步

    之前处理过一个问题也是时间不同步,使用了net time后就好了,net time \ip或者计算机名称 /set即可,会立马同步时间

    = = 第二天

    1)第二天用户告诉我时间又被更改了,结合上次的时间更改间隔,其实时间更改是具有规律性的,每7小时41分钟左右就会进行更改

    2)其实net time这条命令非常的鸡肋!想要更好地解决方法还需要借助w32tm命令

    在这台服务器上运行命令,查看此机的NTP服务器列表

    w32tm /query/peers

    然后修改NTP服务器列表(双引号中用空格分开)引号中的服务器填写PDC服务器的FQDN

    w32tm /config /update/manualpeerlist:"SERVER1-FQDN SERVER2-FQND"(这里我设置的是10.138.207.22,FQDN我不能说...)

    3)运行如下命令,开启debuglog。

    w32tm/debug /enable /file:c:w32time.log /size:10000000 /entries:0-116

    Debug日志可以查看到服务器到底从哪里同步的时间

    wKioL1eu5_mAY01dAAANcunxQ7c510.png

    另外,如果要更改Debug日志路径的话,可以更改注册表的值

    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfig

    = = 第三天

    1)时间接着又被修改,之前开启的Debug日志这时候便起到了作用,打开Debug日志后,找啊找,找到三个IP地址

    10.142.10.33 新加坡的一台域控

    10.138.207.26 北京的一台域控

    10.138.164.167本机IP

    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesW32TimeParameters下NtpServer的值是time.windows.com,可能是这个值造成的问题吧,将它改为34(切记这里输入34的FQDN)

    2)将此目录下的注册表导出

    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesW32Time

    进行分析,黄色部分标明的地方全部改为0(就是不生效的意思),系统默认是启用读取虚拟机时间的所以需要将其关闭,必须重启计算机才生效,VMICTimeProvider(虚拟机时间提供源)

    wKiom1eu6lyh0JtxAABlgL9S87g886.png

    3)使用w32tm /query /configuration 命令查看配置

    [TimeProviders]

    NtpClient (Local)

    DllName:C:Windowssystem32w32time.dll (Local)

    Enabled: 1 (Local)

    InputProvider: 1(Local)

    CrossSiteSyncFlags:2 (Local)

    AllowNonstandardModeCombinations:1 (Local)

    ResolvePeerBackoffMinutes:15 (Local)

    ResolvePeerBackoffMaxTimes:7 (Local)

    CompatibilityFlags:2147483648 (Local)

    EventLogFlags: 1(Local)

    LargeSampleSkew: 3(Local)

    SpecialPollInterval:3600 (Local)

    Type: NT5DS(Local)

    NtpServer: (Undefined or NotUsed)竟然没有NTP Server,正常情况下这里会显示我们手动指定的PDC

    之前设置的无效了?这个我们需要使用w32tm命令就行设置

    = = 第四天

    1)接着分析Debug日志,从日志信息中可以看到服务器有两个时间同步源

    两个源分别是10.138.207.22 另一个10.142.10.33(新加坡域控)

    wKiom1eu8G6TizHsAAAffZsBxvQ368.png
    wKioL1eu8KGzdrJVAAAclqSwB7s358.png

    2)10.142.10.33并不是PDC,理论上客户端不应该和它进行时间同步,因为都没有手动指定10.33

    10.138.207.22,这是我们之前一直指定的时间同步源,于是让用户找人在207.22上运行了netdom query fsmo 查看PDC是否为207.22,结果PDC是10.34,34也是一台新加坡的域控也是PDC,207.22和10.33是一个子域

    3)时间一直被修改的原因:因为我们设置的时间源是207.22,所以他会向207.22进行同步,但是10.34是我们子域中的PDC主机,域客户端默认都会向PDC进行时间同步

    = = 最终解决

    1)难道之前设置34为NTPServer没有生效吗(设置NTPServer)

    1.w32tm /config/manualpeerlist:PDCFQDN /syncfromflags:manual/reliable:yes /update

    2.net stop w32time & net start w32time (重启服务)

    2)查看注册表下值

    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeParameters ,看到值已经修改为了PDC的FQDN

    wKiom1eu9_TQXli8AACAeAvzvbQ680.png

    3)经过几天观察,用户反馈最近几天没有时间被修改的日志,问题得以解决

    = = 总结

    1)w32tm /query/peers 查看NTP服务器列表

    2)netdom query fsmo 确认PDC主机是哪台服务器

    3)w32tm /config/manualpeerlist:PDCFQDN /syncfromflags:manual /reliable:yes /update

    修改时间同步源

    4)w32tm/debug /enable /file:c:w32time.log /size:10000000 /entries:0-116(开启时间Debug)

    5)这次问题解决的难点在于系统莫名其妙的有两个时间同步源,所以有时候时间被更改了,一段时间后又发现时间恢复了正常,这时候输入上条命令将PDC设置为NtpServer后重新启动w32time服务

    如果出现了时间不同步问题,按照以上几点进行排查,相信问题可以得到解决

  • 相关阅读:
    解决IE9下JQuery的ajax失效的问题
    npm更新到最新版本的方法
    animate.css配合wow.min.js实现各种页面滚动效果
    Bootstrap导航点击菜单跳转与点击缩放菜单折叠按钮缓冲效果插件jquery.singlePageNav.min.js
    对json对象进行截取并按照某关键字进行排序
    巧用 position:absolute
    EasyUI Datagrid 分页
    Cssreset
    杂记
    for循环遍历json(附习题及答案)
  • 原文地址:https://www.cnblogs.com/mschen/p/6609459.html
Copyright © 2011-2022 走看看