1. 程式人生 > >NTP時間服務相關基礎及配置檔案詳解

NTP時間服務相關基礎及配置檔案詳解

NTPS時間服務的應用場景

在我們搭建伺服器叢集的時候,各個主機時間不同步會導致各種未知bug,我了避免這種事情的發生,我們就要保證各個伺服器的時間是一致的,而做一臺時間伺服器就能夠輕鬆地保證叢集中各個節點的時間時刻保持一致。

計算機時間

  • 系統時間:是有Linux Kernel控制的時間 ,開機時會讀取硬體時間,作為開機那一刻的軟體時間執行,然後系統時鐘就由軟體模擬振盪電路來維持。
  • 硬體時間:依靠主機板上的振盪電路來模擬時鐘維持時間。

需要注意的是軟體時間和硬體時間並不一定總是一致的。雖然,重新啟動系統,系統時間會讀取硬體時間,實現同步,但是在不重新啟動的時候,可以用命令實現軟硬體時間同步。

相關命令
# 檢視系統時間
[[email protected] ~]# date
Fri Nov  9 16:55:53 CST 2018

# 設定系統時間
[[email protected] ~]# date 110916552018.00  【月日小時分鐘年.秒】

# 檢視硬體時間
[[email protected] ~]# hwclock --show

# 設定硬體時間
[[email protected] ~]# hwclock --date 110317022018.00   【月日小時分鐘年.秒】

# 將系統時間同步到硬體時鐘: 
[[email protected]
~]# hwclock --systohc 【 hc代表硬體時間,sys代表系統時間】 #將硬體時鐘和系統時鐘同步 [[email protected] ~]# hwclock --hctosys

NTP的配置檔案

NTP的配置檔案:/etc/ntp.conf

  1. restrict
作用:對ntp做許可權控制
	格式:restrict [ip] [mask] [par]
	par:
		ignore:忽略所有型別的NTP連線請求
		nomodify:限制客戶端不能使用命令ntpc和ntpq來修改伺服器端的時間
		noquery:不提供NTP網路校時服務
		notrap:不接受遠端登入請求
		notrust:不接受沒有經過認證的客戶端的請求
		【如果沒有用任何引數,那麼表示不做任何限制】
		例子:restrict 10.220.5.0 mask 255.255.255.0 nomodify   <<<允許10.220.5.0/24 網段主機進行時間同步
  1. server
作用:指定ntp伺服器的地址
	格式:server [ip or hostname] [perfer]
	例子:server 127.127.1.0  <<<將當前主機作為時間伺服器
  1. fudge
作用:設定時間伺服器的層級
	格式:fudge ip [startnum int]
	例子:fudge 10.225.5.1 startnum 10
	注意:fudge必須和server一塊用, 而且是在server的下一行
	startnum
		0~15
		0:表示頂級
		10:通常用於給區域網主機提供時間服務

實現客戶端的時間同步的兩種方法

①基於ntpdate
方案:定時任務(crontab)+ntpdate
優點:實現簡單
缺點:會導致客戶端時間不連續,對於資料庫業務影響是比較大,生產環境儘量不要用

②基於ntpd
方案:ntpdate+ntpd
優點:可以實現順滑同步,避免時間不連續帶來的問題
缺點:時間同步往往不能立刻完成

------做運維之前很矯情的小年輕-----