分布式集群服務(wù)器時(shí)間同步
服務(wù)器端項(xiàng)目經(jīng)常依賴服務(wù)器系統(tǒng)時(shí)間對(duì)api校驗(yàn)和業(yè)務(wù)操作降允,在分布式集群服務(wù)器的環(huán)境下剧董,各個(gè)服務(wù)器的本地系統(tǒng)時(shí)間可能各不相同,這時(shí)系統(tǒng)時(shí)間就有差錯(cuò)翅楼,可能會(huì)導(dǎo)致網(wǎng)絡(luò)請(qǐng)求校驗(yàn)失敗或業(yè)務(wù)執(zhí)行失敗毅臊。因此服務(wù)器時(shí)間同步是非常重要的管嬉。
阿里云ECS服務(wù)器實(shí)例提供了NTP服務(wù)器
阿里云ECS實(shí)例已經(jīng)提供了NTP服務(wù)器支持,直接啟動(dòng)已配置好的NTP服務(wù)即可础倍。
《阿里云NTP服務(wù)器》
《配置Linux實(shí)例NTP服務(wù)》
在開啟服務(wù)前沟启,先確保環(huán)境配置:
- 服務(wù)器開啟UDP 123端口犹菇,可通過(guò)設(shè)置ECS實(shí)例的安全組项栏,由于本人用的是VPC同地域私有云服務(wù)器,在購(gòu)買ECS實(shí)例時(shí)統(tǒng)一用同一個(gè)安全組配置實(shí)例流酬,確保UDP 123端口開通列另。
- 命令行輸入
sudo vi /etc/ntp.conf
页衙,查看NTP配置文件摊滔,發(fā)現(xiàn)ECS已配置好標(biāo)準(zhǔn)的NTP服務(wù):
image.png
文檔《配置Linux實(shí)例NTP服務(wù)》中介紹了CentOS環(huán)境下開啟NTP服務(wù)。
由于本人購(gòu)買的Ubuntu服務(wù)器店乐,下面總結(jié)Ubuntu環(huán)境下的配置艰躺。
執(zhí)行命令查詢所有服務(wù),看ntp服務(wù)是否已開啟(+號(hào):已開啟眨八;-號(hào):未開啟):
service --status-all
發(fā)現(xiàn)香港地區(qū)的服務(wù)默認(rèn)都沒(méi)有開啟ntp服務(wù)腺兴;但深圳地區(qū)的服務(wù)器默認(rèn)已經(jīng)開啟了ntp服務(wù)。
執(zhí)行命令查詢ntp進(jìn)程廉侧,發(fā)現(xiàn)深圳服務(wù)器默認(rèn)已經(jīng)開啟了ntp服務(wù):
ps -aux | grep ntp
如果未開啟ntp服務(wù)页响,執(zhí)行命令開啟ntp服務(wù):
service ntp restart
開啟成功后篓足,如圖:
或者查詢ntp相關(guān)的進(jìn)程:
重啟后通過(guò)如下命令觀察NTP的運(yùn)行狀態(tài):
watch ntpq -p
這個(gè)命令可以列出目前我們的 NTP 與相關(guān)的上層 NTP 的狀態(tài),上頭的幾個(gè)字段的意義為:
remote: 它指的就是本地機(jī)器所連接的遠(yuǎn)程N(yùn)TP服務(wù)器辱魁;
refid: 它指的是給遠(yuǎn)程服務(wù)器提供時(shí)間同步的服務(wù)器染簇;
st: 遠(yuǎn)程服務(wù)器的層級(jí)別(stratum). 由于NTP是層型結(jié)構(gòu),有頂端的服務(wù)器,多層的Relay Server再到客戶端。所以服務(wù)器從高到低級(jí)別可以設(shè)定為1-16. 為了減緩負(fù)荷和網(wǎng)絡(luò)堵塞,原則上應(yīng)該避免直接連接到級(jí)別為1的服務(wù)器的蝌箍;
when: 幾秒鐘前曾經(jīng)做過(guò)時(shí)間同步化更新的動(dòng)作杂拨;
poll: 本地機(jī)和遠(yuǎn)程服務(wù)器多少時(shí)間進(jìn)行一次同步(單位為秒).
在一開始運(yùn)行NTP的時(shí)候這個(gè)poll值會(huì)比較小,那樣和服務(wù)器同步的頻率也就增加了,可以盡快調(diào)整到正確的時(shí)間范圍.之后poll值會(huì)逐漸增大,同步的頻率也就會(huì)相應(yīng)減械痢策橘;
reach: 已經(jīng)向上層 NTP 服務(wù)器要求更新的次數(shù);
delay: 網(wǎng)絡(luò)傳輸過(guò)程當(dāng)中延遲的時(shí)間沛婴,單位為 10^(-6) 秒嘁灯;
offset: 時(shí)間補(bǔ)償?shù)慕Y(jié)果藕夫,單位與 10^(-3) 秒枯冈;
jitter: Linux 系統(tǒng)時(shí)間與 BIOS 硬件時(shí)間的差異時(shí)間, 單位為 10^(-6) 秒炫加。簡(jiǎn)單地說(shuō)這個(gè)數(shù)值的絕對(duì)值越小我們和服務(wù)器的時(shí)間就越精確俗孝;
*: 它告訴我們遠(yuǎn)端的服務(wù)器已經(jīng)被確認(rèn)為我們的主NTP Server,我們系統(tǒng)的時(shí)間將由這臺(tái)機(jī)器所提供赋铝;
+: 它將作為輔助的NTP Server和帶有號(hào)的服務(wù)器一起為我們提供同步服務(wù). 當(dāng)號(hào)服務(wù)器不可用時(shí)它就可以接管革骨;
-: 遠(yuǎn)程服務(wù)器被clustering algorithm認(rèn)為是不合格的NTP Server良哲;
x: 遠(yuǎn)程服務(wù)器不可用;
配置文件
/etc/ntp.conf ntp配置文件
/usr/share/zoneinfo 時(shí)區(qū)對(duì)應(yīng)檔案
/etc/sysconfig/clock 設(shè)定時(shí)區(qū)
/etc/localtime 開機(jī)后對(duì)應(yīng)文件復(fù)制到此處
/bin/date 時(shí)間修改與顯示
/sbin/hwclock 硬件時(shí)間
/usr/sbin/ntpd ntpd服務(wù)
/usr/sbin/ntpdate 客戶端時(shí)間校證
配置選項(xiàng)解釋:
1) 系統(tǒng)時(shí)間與BIOS事件的偏差記錄
driftfile /etc/ntp/drift
2) restrict 控制相關(guān)權(quán)限漏健。
語(yǔ)法為: restrict IP地址 mask 子網(wǎng)掩碼 參數(shù)
其中IP地址也可以是default ,default 就是指所有的IP
- 參數(shù)有以下幾個(gè):
ignore :關(guān)閉所有的 NTP 聯(lián)機(jī)服務(wù)
nomodify:客戶端不能更改服務(wù)端的時(shí)間參數(shù)姐叁,但是客戶端可以通過(guò)服務(wù)端進(jìn)行網(wǎng)絡(luò)校時(shí)原环。
notrust :客戶端除非通過(guò)認(rèn)證嘱吗,否則該客戶端來(lái)源將被視為不信任子網(wǎng)
noquery :不提供客戶端的時(shí)間查詢:用戶端不能使用ntpq俄讹,ntpc等命令來(lái)查詢ntp服務(wù)器
notrap :不提供trap遠(yuǎn)端登陸:拒絕為匹配的主機(jī)提供模式 6 控制消息陷阱服務(wù)患膛。陷阱服務(wù)是 ntpdq 控制消息協(xié)議的子系統(tǒng),用于遠(yuǎn)程事件日志記錄程序跃捣。
nopeer :用于阻止主機(jī)嘗試與服務(wù)器對(duì)等枝缔,并允許欺詐性服務(wù)器控制時(shí)鐘
kod : 訪問(wèn)違規(guī)時(shí)發(fā)送 KoD 包。
restrict -6 表示IPV6地址的權(quán)限設(shè)置趴荸。