在數據中心和工作環(huán)境、監(jiān)控系統(tǒng)等場景中,除了時間統(tǒng)一非常重要,預防時間的跳變也很重要。比如數據庫的數據主從復制、定時調度和心跳機制,不單單對時間的統(tǒng)一要求嚴格,大的時間跳變更會給數據庫帶來嚴重的事故;監(jiān)控系統(tǒng)中時間的統(tǒng)一可以清晰的還原事情發(fā)展的走向,但是意外的時間跳變可能給過程帶來誤差和錯覺。以前未使用過NTP時間服務器的工作環(huán)境新上架設備,意外的斷網斷電等未知的意外都可能造成時間的跳變,對這方面較為敏感的場景,我們可以將客戶時間設置為微調模式,來避免時間跳變造成的麻煩和不必要損失。
Window微調模式配置:運行regedit 打開注冊表
例1:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfig
MaxPosPhaseCorrection and MaxNegPhaseCorrection 最大校準時間范圍,即當電腦時間快于或慢于該值時,不進行校準,而記錄事件。(MaxPosPhaseCorrection :該項指定服務可進行的最大正時間校準量(以秒為單位)。如果服務確定某個更改幅度大于所需的幅度,它將記錄一個事件。(0xFFFFFFFF 是一種特殊情況,它表示總是校準時間。)域成員的默認值是 0xFFFFFFFF。獨立客戶端和服務器的默認值是 54,000,即 15 小時。)
例2:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfig
MaxAllowedPhaseOffset 嘗試校準最大偏移量,即當電腦時差大于該值時,直接同步,當時差小于該值時,時間以0.05秒漸進方式緩慢同步。
單位:秒,默認:1,現修改為60秒
配置完后需要重啟,w32tm服務,管理員運行cmd:net stop w32time && net start w32time
Linux微調模式配置:
微調方式在啟動NTP服務時加了個“-x”的參數,而默認的是不加“-x”參數。
首先要指定時間服務器地址:
請編輯各個節(jié)點的ntp.conf文件
[root@nascds10 ~]# vi /etc/ntp.conf
#基于網段的限制(限制在網段192.168.7.0) 默認 127.0.0.1 無限制,這里可以不進行操作
# Permit all access over the loopback interface. This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
#restrict 192.168.7.0 mask 255.255.255.255 nomodify notrap
#指定時間服務器地址
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 192.168.1.128 prefer #這里是時鐘服務器
broadcastdelay 0.008
配置ntpd的參數,我們主要強調的是要配置成"微調的模式" 也就是在options中要加入 -x的選項:
[root@nascds10 ~]# vi /etc/sysconfig/ntpd
SYNC_HWCLOCK=yes
OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"
重啟ntpd服務:server ntpd restart
當出現unsynchronised時,請檢查配置,如無誤,那就需要等待,ntpd服務開啟之后需要等待一段時間才能同步上。
ntpd命令有一個自我保護的機制:如果本機與上源時間相差太大,ntpd 不會運行時間同步操作,所以新設置的時間服務器一定要先 ntpdate 從上源取得時間初值, 然后啟動 ntpd服務。ntpd服務運行后,先是每64秒與上源NTP服務器同步一次,根據每次同步時測得的誤差值經復雜計算逐步調整自己的時間,隨著誤差減小,逐步增加同步的間隔。每次跳動,都會重復這個調整的過程。
注:
1. linux系統(tǒng)不同版本直接配置方式可能存在稍許不同,有些linux系統(tǒng)甚至可能并不使用ntpd服務來校時。
2.部分應用有提供web管理,有的web管理中提供了ntp相關配置,可直接通過web來配置。
上一篇:如何考量醫(yī)院內子鐘的部署
下一篇:什么才是“時間”的本質?