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裡新增一個任務計劃,定時執行下面命令
w32tm /config /syncfromflags:manual /manualpeerlist:time。stdtime。gov。tw
w32tm /config /update
1。
2。
沒有Windows域環境,在每臺client裡新增一個任務計劃,定時執行下面命令
當然還可以更改登錄檔,來設定時間同步,步驟如下
一、服務端配置 (Ntp伺服器,客戶端將根據這臺伺服器的時間進行同步)
1、微軟鍵+R鍵,進入“執行”,輸入“regedit”,進入登錄檔
2、 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type 右鍵修->修改 為 NTP (預設就是NTP,可以對一下如果已經是NTP不用改)
3、修改HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer的Enabled的值為1(原來為0)
4、修改HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config裡的“AnnounceFlags”值為5(原來為a)
5、重啟時間服務
net stop w32time && net start w32time
6、按開始->執行,輸入“services。msc”進入服務,將windows time服務start方式設定為Auto
二、客戶端配置
1、找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServer,修改值為設定的NtpServer的IP,後加,0x1。如:“172。31。4。51,0x1”。注意,IP後面跟上逗號和0x1。
2、修改HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient裡的 “SpecialPollInterval”,
這個代表時間間隔,多長時間和Ntp伺服器同步一次,單位為秒,原來的值為“93a80” (十六進位制的)
3、修改 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\Config裡的UpdateInterval的值,我這裡改為5,但其實我不確定這個要不要設定,我自己在試的過程中發現這個不設定好像就同步不到了,所以我才設定,網上其他人說的配置沒有這一步。這個原來的預設值是360000(十進位制的)。
4、設定 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxNegPhaseCorrection 為 FFFFFFFF(原來為d2f0,十六進位制)
設定 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxPosPhaseCorrection 為 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