ntp客戶端配置多個時間源
一般我們使用crond 來同步時間伺服器,這種方法好處可以設定固定時間或頻率。
配置一個使用自己內部時鐘的本地NTP伺服器
要配置一個使用系統時鐘作為時間源的NTP伺服器,需要在/etc/ntp.conf檔案中新增如下的記錄:
server 127.127.1.1
fudge 127.127.1.1 stratun 10
在以上的記錄中:
指定的IP地址是一個“偽”IP地址,確定本地系統為時間源。
指定的IP地址127.127.1.1告訴NTP使用內部時鐘作為時間源。
"fudge"定義了這個時鐘的級別,如果沒有這個記錄,節點就是一級伺服器。將級別重新定義為10是個好的辦法,這樣客戶端在查詢這個伺服器的時候就會知道這個伺服器不是一個可靠的時間源
這種時間同步的方式只應該在本地的網路不能使用外部的時間源的時候使用.
配置一個使用直接查詢方式的客戶端
要配置一個客戶端讓它可以直接查詢指定的NTP伺服器,在客戶端的/etc/ntp.conf檔案中增加:
server brian
driftfile /etc/ntp.drift
這個客戶端會直接向伺服器brian傳送查詢請求來確認自己的時間。
預設的查詢的時間間隔為64秒,並可以調節。
driftfile用來跟蹤客戶機的時間和伺服器的時間差異。如果driftfile保持穩定,系統更多的是用它來調節客戶端的時間,這樣會減少對伺服器的查詢。
配置一個使用廣播方式的客戶端
要配置一個監聽時間廣播資訊的客戶端,在客戶端的/etc/ntp.conf檔案中加上:
broadcastclient yes
driftfile /etc/ntp.drift
以上資訊的解釋:
客戶端會被動地監聽NTP的廣播資訊,並依靠它來調節自己的時鐘。
對許多節點的大型網路推薦使用這種方式進行時間同步,而不使用直接查詢指定伺服器的方式。
因為這種方式可以顯著減少NTP對網路資源的佔用。
客戶端必須和NTP伺服器在同一個子網內。
NTP如何調節系統時鐘
NTP中用來保持網路中的節點之間的時鐘同步的機制有三種。
ntpdate命令
1. ntptrace (等同於windows下面的traceroute)
2. ntpdate –q HOSTNAME (查詢其他主機的時間)
3. ntpdate –d HOSTNAME (debug模式)
4. ntpdate -b HOSTNAME (和其他主機同步)
5. ntpq -p
ntpdate命令被用來立即同步客戶端和伺服器的時鐘。這是同步客戶端和伺服器的時鐘的最快方式。
系統每次啟動的時候會使用這個命令,用來確保客戶端和伺服器的時鐘的同步。
這個命令通常指定一個NTP伺服器作為一個引數,客戶端的時鐘被設定為和伺服器的時間匹配。然而,如果這個命令使用多個NTP伺服器作為引數,客戶端會使用最低階的NTP伺服器。如果級別相等,客戶端會使用平均數。
xntpd守護程式
xntpd守護程式在後臺持續執行,並且會定時校驗客戶端的時鐘和NTP伺服器的時鐘。xntpd守護程式通常是在系統啟動的時候啟動。
因為客戶端的時鐘可能產生漂移,以致與實際的NTP時鐘有差異。xntpd守護程式會週期性地傳送一個NTP伺服器的網路請求,並且與客戶端的時鐘對比,在必要的時候修正客戶端的時間,同時將時間差存到一個/etc/ntp.conf檔案。
預設的xntpd時間檢查的間隔為64秒,在第一次檢查的時候,客戶端的時鐘和NTP伺服器上的時鐘的差異會被記錄下來,同時依靠這個時間差異來計劃下一次檢查的計劃。如果這個時間差異很大,下一次的時間檢查會很快發生。如果這個差異很小,下一次的檢查到來的時間會相應的延長。
/etc/ntp.conf檔案
/etc/ntp.conf檔案被用來在記錄每次校驗發生時候客戶端和伺服器時鐘之間的差(或者叫漂移)。
一旦xntpd守護程式預計到這個時間差,它會開始使用這個“可預期”的漂移,來調節本機的時鐘,這樣就避免每次都去查詢網路中的ntp伺服器,從而可以減輕網路負載。
xntpd守護程式會慢慢的轉成使用這個drift檔案,而查詢NTP伺服器的次數會慢慢變少。當這個值逐漸穩定並且保持同一個值,對NTP伺服器的查詢會變得更少,直到達到NTP請求的最小值。
配置一個NTP伺服器
配置NTP伺服器的步驟:
1.編輯/etc/rc.config.d/netdaemons檔案,讓xntpd守護程式在每次系統啟動的時候自動啟動。設定XNTPD變數的值為1。
export NTPDATE_SERVER=
export XNTPD=1
export XNTPD_ARGS=
對NTP伺服器來說,不要設定NTPDATE_SERVER變數(讓它為空)。這個變數是為NTP客戶端使用。
2.編輯/etc/TIMEZONE檔案來指定系統時區。設定TZ和系統的時區相同。/usr/lib/tztab檔案中有所有的時區變數。
TZ=CST6CDT
export TZ
3.編輯/etc/ntp.conf檔案同時定義NTP伺服器(與上一章中描述的類似)。以下是配置使用本地時鐘作為時間源的NTP伺服器的例子:
server 127.127.1.1
fudge 127.127.1.1 stratum 10
4.透過執行如下的命令,手工啟動xntpd守護程式:
/sbin/init.d/xntpd start
5.等待,xntpd守護程式啟動會花費6分鐘的時間。
6.檢驗NTP伺服器的配置,執行下列的命令:
ntpq -p
配置NTP客戶端
配置一個NTP客戶端的過程和配置一個NTP伺服器相同,不同的只是配置檔案的內容。
配置一個NTP客戶端的步驟如下:
1.編輯/etc/rc.config.d/netdaemons檔案,讓xntpd守護程式在每次系統啟動的時候自動啟動。設定XNTPD變數的值為1,同時指定ntpdate命令查詢的是哪一個NTP伺服器:
export NTPDATE_SERVER="NTP_server1 NTP_server2'
export XNTPD=1
export XNTPD_ARGS=
2.編輯/etc/TIMEZONE檔案,為客戶機指定正確的時區。/var/lib/tztab檔案中有所有的時區變數的列表。
TZ=CST6CDT
export TZ
3.編輯/etc/ntp.conf檔案,定義本機為一個NTP客戶端。下面是一個定義NTP廣播客戶端的例子:
broadcastclient yes
dirftfile /etc/ntp.drift
4.執行如下的命令手工啟動xntpd守護程式:
/sbin/init.d/xntpd start
5.等待xntpd守護程式啟動,建立與NTP伺服器和同伴伺服器的聯絡大約需要6分鐘。
6.要驗證其它的NTP伺服器和peers的聯絡是否正確建立。執行下面的命令:
ntpg -p
缺點是隻能配置一個時間源伺服器。
如果要配置多個時間源伺服器
需要開啟客戶端的ntpd服務
修改 /etc/ntp.conf
server 10.215.25.59 prefer
server 10.215.25.58
driftfile /etc/ntpd.drift
service ntpd restart
(2009-07-01 17:24)
以下是一些的NTP配置例子:
NTP使用123埠,如有防火牆開啟UDP123埠
#netstat -an | grep 123
...
...
udp 0 0 *.123 *.*
...
...
配置一個使用自己內部時鐘的本地NTP伺服器
要配置一個使用系統時鐘作為時間源的NTP伺服器,需要在/etc/ntp.conf檔案中新增如下的記錄:
server 127.127.1.1
fudge 127.127.1.1 stratun 10
在以上的記錄中:
指定的IP地址是一個“偽”IP地址,確定本地系統為時間源。
指定的IP地址127.127.1.1告訴NTP使用內部時鐘作為時間源。
"fudge"定義了這個時鐘的級別,如果沒有這個記錄,節點就是一級伺服器。將級別重新定義為10是個好的辦法,這樣客戶端在查詢這個伺服器的時候就會知道這個伺服器不是一個可靠的時間源
這種時間同步的方式只應該在本地的網路不能使用外部的時間源的時候使用.
配置一個使用直接查詢方式的客戶端
要配置一個客戶端讓它可以直接查詢指定的NTP伺服器,在客戶端的/etc/ntp.conf檔案中增加:
server brian
driftfile /etc/ntp.drift
這個客戶端會直接向伺服器brian傳送查詢請求來確認自己的時間。
預設的查詢的時間間隔為64秒,並可以調節。
driftfile用來跟蹤客戶機的時間和伺服器的時間差異。如果driftfile保持穩定,系統更多的是用它來調節客戶端的時間,這樣會減少對伺服器的查詢。
配置一個使用廣播方式的客戶端
要配置一個監聽時間廣播資訊的客戶端,在客戶端的/etc/ntp.conf檔案中加上:
broadcastclient yes
driftfile /etc/ntp.drift
以上資訊的解釋:
客戶端會被動地監聽NTP的廣播資訊,並依靠它來調節自己的時鐘。
對許多節點的大型網路推薦使用這種方式進行時間同步,而不使用直接查詢指定伺服器的方式。
因為這種方式可以顯著減少NTP對網路資源的佔用。
客戶端必須和NTP伺服器在同一個子網內。
NTP如何調節系統時鐘
NTP中用來保持網路中的節點之間的時鐘同步的機制有三種。
ntpdate命令
1. ntptrace (等同於windows下面的traceroute)
2. ntpdate –q HOSTNAME (查詢其他主機的時間)
3. ntpdate –d HOSTNAME (debug模式)
4. ntpdate -b HOSTNAME (和其他主機同步)
5. ntpq -p
ntpdate命令被用來立即同步客戶端和伺服器的時鐘。這是同步客戶端和伺服器的時鐘的最快方式。
系統每次啟動的時候會使用這個命令,用來確保客戶端和伺服器的時鐘的同步。
這個命令通常指定一個NTP伺服器作為一個引數,客戶端的時鐘被設定為和伺服器的時間匹配。然而,如果這個命令使用多個NTP伺服器作為引數,客戶端會使用最低階的NTP伺服器。如果級別相等,客戶端會使用平均數。
xntpd守護程式
xntpd守護程式在後臺持續執行,並且會定時校驗客戶端的時鐘和NTP伺服器的時鐘。xntpd守護程式通常是在系統啟動的時候啟動。
因為客戶端的時鐘可能產生漂移,以致與實際的NTP時鐘有差異。xntpd守護程式會週期性地傳送一個NTP伺服器的網路請求,並且與客戶端的時鐘對比,在必要的時候修正客戶端的時間,同時將時間差存到一個/etc/ntp.conf檔案。
預設的xntpd時間檢查的間隔為64秒,在第一次檢查的時候,客戶端的時鐘和NTP伺服器上的時鐘的差異會被記錄下來,同時依靠這個時間差異來計劃下一次檢查的計劃。如果這個時間差異很大,下一次的時間檢查會很快發生。如果這個差異很小,下一次的檢查到來的時間會相應的延長。
/etc/ntp.conf檔案
/etc/ntp.conf檔案被用來在記錄每次校驗發生時候客戶端和伺服器時鐘之間的差(或者叫漂移)。
一旦xntpd守護程式預計到這個時間差,它會開始使用這個“可預期”的漂移,來調節本機的時鐘,這樣就避免每次都去查詢網路中的ntp伺服器,從而可以減輕網路負載。
xntpd守護程式會慢慢的轉成使用這個drift檔案,而查詢NTP伺服器的次數會慢慢變少。當這個值逐漸穩定並且保持同一個值,對NTP伺服器的查詢會變得更少,直到達到NTP請求的最小值。
配置一個NTP伺服器
配置NTP伺服器的步驟:
1.編輯/etc/rc.config.d/netdaemons檔案,讓xntpd守護程式在每次系統啟動的時候自動啟動。設定XNTPD變數的值為1。
export NTPDATE_SERVER=
export XNTPD=1
export XNTPD_ARGS=
對NTP伺服器來說,不要設定NTPDATE_SERVER變數(讓它為空)。這個變數是為NTP客戶端使用。
2.編輯/etc/TIMEZONE檔案來指定系統時區。設定TZ和系統的時區相同。/usr/lib/tztab檔案中有所有的時區變數。
TZ=CST6CDT
export TZ
3.編輯/etc/ntp.conf檔案同時定義NTP伺服器(與上一章中描述的類似)。以下是配置使用本地時鐘作為時間源的NTP伺服器的例子:
server 127.127.1.1
fudge 127.127.1.1 stratum 10
4.透過執行如下的命令,手工啟動xntpd守護程式:
/sbin/init.d/xntpd start
5.等待,xntpd守護程式啟動會花費6分鐘的時間。
6.檢驗NTP伺服器的配置,執行下列的命令:
ntpq -p
配置NTP客戶端
配置一個NTP客戶端的過程和配置一個NTP伺服器相同,不同的只是配置檔案的內容。
配置一個NTP客戶端的步驟如下:
1.編輯/etc/rc.config.d/netdaemons檔案,讓xntpd守護程式在每次系統啟動的時候自動啟動。設定XNTPD變數的值為1,同時指定ntpdate命令查詢的是哪一個NTP伺服器:
export NTPDATE_SERVER="NTP_server1 NTP_server2'
export XNTPD=1
export XNTPD_ARGS=
2.編輯/etc/TIMEZONE檔案,為客戶機指定正確的時區。/var/lib/tztab檔案中有所有的時區變數的列表。
TZ=CST6CDT
export TZ
3.編輯/etc/ntp.conf檔案,定義本機為一個NTP客戶端。下面是一個定義NTP廣播客戶端的例子:
broadcastclient yes
dirftfile /etc/ntp.drift
4.執行如下的命令手工啟動xntpd守護程式:
/sbin/init.d/xntpd start
5.等待xntpd守護程式啟動,建立與NTP伺服器和同伴伺服器的聯絡大約需要6分鐘。
6.要驗證其它的NTP伺服器和peers的聯絡是否正確建立。執行下面的命令:
ntpg -p
驗證NTP的功能
NTP查錯推薦使用三種方式:
檢測syslog檔案
當xntpd守護程式啟動,它會在/var/adm/syslog/syslog.log檔案中新增幾條記錄,包括:
xntpd啟動和停止的時間
與其它的執行NTP的節點之間的關係。
/etc/ntp.conf檔案中發現的錯誤。
驗證xntpd守護程式是否正在執行。
xntpd守護程式必須存在,否則就不能同步其它系統的時鐘。
瀏覽NTP伺服器節點的狀態和與客戶端的聯絡。
命令:
ntpg -p
查詢網路中的NTP伺服器,同時顯示客戶端和每個伺服器的關係,例如:
# ntpg -p
remote refid st when poll reach delay offset disp
-----------------------------
* John Larry 3 64 64 377 0.87 10.56 16.11
+ Brian Renay 3 100 264 376 9.89 5.94 16.40
Darren 0.0.0.0 15 - 64 0 0.00 0.00 1600.00
* 指出響應的NTP伺服器和最精確的伺服器
+ 指出響應這個查詢請求的NTP伺服器
blank 指出沒有響應的NTP伺服器
remote 響應這個請求的NTP伺服器的名稱
refid NTP伺服器使用的更高一級的伺服器的名稱
st 正在響應請求的NTP伺服器的級別
when 上一次成功請求之後到現在的秒數
poll 當前的請求的時鐘間隔的秒數
Others 其它的被用於決定精確度和不一致性的統計資訊
NTP查錯推薦使用三種方式:
檢測syslog檔案
當xntpd守護程式啟動,它會在/var/adm/syslog/syslog.log檔案中新增幾條記錄,包括:
xntpd啟動和停止的時間
與其它的執行NTP的節點之間的關係。
/etc/ntp.conf檔案中發現的錯誤。
驗證xntpd守護程式是否正在執行。
xntpd守護程式必須存在,否則就不能同步其它系統的時鐘。
瀏覽NTP伺服器節點的狀態和與客戶端的聯絡。
命令:
ntpg -p
查詢網路中的NTP伺服器,同時顯示客戶端和每個伺服器的關係,例如:
# ntpg -p
remote refid st when poll reach delay offset disp
-----------------------------
* John Larry 3 64 64 377 0.87 10.56 16.11
+ Brian Renay 3 100 264 376 9.89 5.94 16.40
Darren 0.0.0.0 15 - 64 0 0.00 0.00 1600.00
* 指出響應的NTP伺服器和最精確的伺服器
+ 指出響應這個查詢請求的NTP伺服器
blank 指出沒有響應的NTP伺服器
remote 響應這個請求的NTP伺服器的名稱
refid NTP伺服器使用的更高一級的伺服器的名稱
st 正在響應請求的NTP伺服器的級別
when 上一次成功請求之後到現在的秒數
poll 當前的請求的時鐘間隔的秒數
Others 其它的被用於決定精確度和不一致性的統計資訊
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7191998/viewspace-748401/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何安裝和配置 Chrony 作為 NTP 客戶端?客戶端
- websocket(多個客戶端)Web客戶端
- 如何在 Linux 上安裝、配置 NTP 伺服器和客戶端?Linux伺服器客戶端
- linux 配置ntp時間伺服器Linux伺服器
- Windows下同時安裝執行多個版本的jmeter客戶端WindowsJMeter客戶端
- YUM源伺服器搭建與客戶端配置使用伺服器客戶端
- 物理DataGuard客戶端無縫切換--客戶端TAF 配置客戶端
- NTP時間同步
- 分散式配置中心客戶端分散式客戶端
- NTP時間伺服器優先順序配置伺服器
- UE 客戶端和伺服器上的時間同步客戶端伺服器
- 郵件客戶端的配置使用客戶端
- OAuth客戶端開源JDK:AppAuthOAuth客戶端JDKAPP
- 客戶端和服務端(C#) 時間戳的生成和轉換客戶端服務端C#時間戳
- 開源實時監控系統CAT 3.0釋出:多語言客戶端及多項效能提升客戶端
- 時間伺服器-NTP伺服器
- CAT 3.0 開源釋出,支援多語言客戶端及多項效能提升客戶端
- OSSEC服務端配置客戶端批次部署方案服務端客戶端
- Thrift 客戶端-服務端 零XML配置 註解式配置客戶端服務端XML
- 【git操作】如何在兩個git客戶端間同步程式碼Git客戶端
- Linux使用ntp時間伺服器同步時間Linux伺服器
- Facebook開源分散式系統的NTP時間校準器分散式
- Kubernetes安裝之五:配置kubectl客戶端客戶端
- Telegram原始碼之安卓客戶端配置原始碼安卓客戶端
- Tomcat配置Gizp 客戶端使用okHttp3Tomcat客戶端HTTP
- Https雙向認證Android客戶端配置HTTPAndroid客戶端
- Jaeger的客戶端取樣配置(Java版)客戶端Java
- 客戶端自動配置安裝(expect工具)客戶端
- ftp客戶端軟體,ftp客戶端軟體哪個好用,使用方法FTP客戶端
- 多K8s叢集切換:Kubectl客戶端配置全記錄K8S客戶端
- 【SpringCloud】Ribbon如何自定義客戶端配置和全域性配置SpringGCCloud客戶端
- Eureka高可用叢集服務端和客戶端配置服務端客戶端
- 使用NTP原理進行時間同步
- Dino:一個有著現代外觀的開源 XMPP 客戶端客戶端
- 自己動手寫個 Android客戶端Android客戶端
- OrzClick: 國慶寫個 ClickHouse 客戶端客戶端
- NBU 8.0客戶端安裝和備份配置客戶端
- 搭建eureka叢集環境以及客戶端配置客戶端
- PinPoint單節點部署及客戶端配置方法客戶端