win2012 R2的ntp时间同步设置解析

2019-10-29 14:21:04 浏览数 (1)

NTP时间同步是一种时间同步网络技术。目前有多种时间同步技术,每一种技术都各有特点,不同技术的时间同步精度也存在较大的差异.

常用同步技术

时间同步技术  准确度        覆盖范围

短波授时      1~10毫秒     全球

长波授时      1毫秒         区域

GPS           5~500纳秒    全球

电话拨号授时  100毫秒       全球

互联网授时(NTP) 1~50毫秒 全球

SDH传输网授时 100纳秒       长途

另外,还有两个相对简单的、低精度的互联网时间协议:Time协议(RFC868)和Daytime协议(RFC867),可以提供1s校准精度的广域网时间同步。

在win2012 R2版本里,没有了internet互联网时间,需要使用另外的方式去做时间同步

可以分几种场景:

一、没有Windows域环境

集群中的每个服务器首先都要能上网,每个服务器需要执行下面的操作

开启 NTP Client 服务

1、打开 命令行 终端, 输入:gpedit.msc,打开组策略管理器

2、按照如下路径 计算机配置管理模板系统windows 时间服务时间提供程序 找到服务器设置文件

3、双击 配置 Windows NTP 客户端

4、将 Ntp Server项,输入将要同步到的时间服务器IP地址(也可输入域名),注意 0x9 或 0x1 必须要有;在 类型 项, 选择 NTP;点击 应用---确定 按钮;

5、启动 NTP 客户端;启用NTP客户端;点击 应用--确定 按钮

6、执行下面命令更新组策略

gpupdate /force

7、检查W32Time服务是否启动,启动类型为 自动启动

二、有Windows域环境

只需要对域控制器执行操作,其他域里面的client都不需要动

更改方法跟情况一的一样,修改组策略-》更新组策略-》检查W32Time服务是否启动

如果对client设置了组策略,那么client会应用组策略的配置,而不是跟域控制器同步时间

三、没有外网的环境

服务器如果不能连外网,而当前环境有ntpd服务器

在第4步里把ntp server的地址改为内网ntpd服务器的地址即可

注意点:Windows是使用ntpd命令的方式跟NTP服务器同步时间,也就是当client和server的时间相差太大的时候,client无法与server进行时间同步

也就是,无论是有域环境还是没有域环境,无论是用组策略还是不用组策略都是这样

这个跟Linux的ntpdate命令 ntpd命令相同,Linux的ntpdate命令无论client与server时间相差多大都可以跟server同步,而ntpd命令当时间相差太大则无法同步

网上还有另一种方法不用修改组策略

有Windows域环境,在每台client里添加一个任务计划,定时执行下面命令

代码语言:javascript复制
w32tm /config /syncfromflags:manual /manualpeerlist:time.stdtime.gov.tw
w32tm /config /update

没有Windows域环境,在每台client里添加一个任务计划,定时执行下面命令

当然还可以更改注册表,来设置时间同步,步骤如下

一、服务端配置 (Ntp服务器,客户端将根据这台服务器的时间进行同步)

1、 微软键 R键,进入“运行”,输入“regedit”,进入注册表

      2、 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeParametersType    右键修->修改 为 NTP  (默认就是NTP,可以对一下如果已经是NTP不用改)

      3、修改HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpServer的Enabled的值为1(原来为0)  

      4、修改HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfig里的"AnnounceFlags"值为5(原来为a)

      5、重启时间服务  

               net stop  w32time  && net start w32time

      6、按开始->运行,输入"services.msc"进入服务,将windows time服务start方式设置为Auto

二、客户端配置

      1、找到 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeParametersNtpServer,修改值为设置的NtpServer的IP,后加,0x1。如:"172.31.4.51,0x1"。注意,IP后面跟上逗号和0x1。

      2、修改HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpClient里的 "SpecialPollInterval", 这个代表时间间隔,多长时间和Ntp服务器同步一次,单位为秒,原来的值为"93a80" (十六进制的)

     3、修改 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersConfig里的UpdateInterval的值,我这里改为5,但其实我不确定这个要不要设置,我自己在试的过程中发现这个不设置好像就同步不到了,所以我才设置,网上其他人说的配置没有这一步。这个原来的默认值是360000(十进制的)。

     4、设置 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfigMaxNegPhaseCorrection 为 FFFFFFFF(原来为d2f0,十六进制)

            设置 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfigMaxPosPhaseCorrection 为 FFFFFFFF(原来为d2f0,十六进制)

            MaxNegPhaseCorrection这个代表慢于NTP服务器的时间,如果本地时间超过NTP服务器MaxNegPhaseCorrection秒,就不同步;

            MaxPosPhaseCorrection这个代表快于NTP服务器的时间,如果本地时间超过NTP服务器MaxNegPhaseCorrection秒,就不同步

     5、重启w32time服务      net stop  w32time  && net start w32time      

     6、按开始->运行,输入"services.msc"进入服务,将windowns time服务start方式设置为Auto

0 人点赞