我正在一個由大約 10 台遠端 Linux 電腦組成的網路上進行一些實驗,這些電腦在地理上是分散的。
我懷疑其中一些有時鐘偏差,但它們是短暫的(例如,每週一次或每月兩次)。
我想知道是否存在一些工具可以檢測和量化此類時鐘偏差。也想知道時鐘偏差是否是我所目睹的正確術語,或者是否可以稱為時鐘同步。
答案1
您是否試圖使時鐘與正確的時間同步,或者您是否試圖在不同步的情況下確定實時時鐘的實際準確度?
如果您只是希望時間正確,系統可以同步到整個時間伺服器層次結構,並且它通常內建在作業系統中,儘管您通常可以指定時間伺服器。此外,一個系統可以同步到時間伺服器,然後運行自己的時間伺服器以供其他系統同步。
我見過,甚至在過去使用過一些程序,這些程序不僅同步到標準時間,而且跟上本地計算機與上次同步的偏差。過去,當我們的網路連線間歇性時,我使用過這個方法,因此該程式將透過使用預期漂移的歷史來糾正時間。
通常,使用這兩種方法中的任何一種,如果校正太多,則可能會假定存在錯誤並且根本不進行任何校正。
希望我沒有完全理解你的觀點。 :)
答案2
為此,請使用 NTP 守護程序。
定義許多要聯絡的獨立 ntp 伺服器(ntp.conf、伺服器指令)。 3台伺服器就夠了,越多越好。
網路時間協定將篩選出「不良」時間源。查看ntpq -p
運行ntpd
幾個小時後的輸出。
您將看到已選擇哪個主伺服器,哪些被認為是“好”,哪些被認為是“壞”。輸出還包含抖動和延遲(抵銷)。這些可能就是您所追求的價值觀...
答案3
crony 實用程式有一個漂移檔案。看:http://chrony.tuxfamily.org/manual.html#Configuration-options-overview
我不知道該文件的格式,因為我自己還沒有安裝它。它確實有一個命令來查看漂移資訊:chronyc sourcestats -v
我計劃先在我的虛擬機器上安裝 crony。
這個網站看起來很有幫助:http://www.markus-gattol.name/ws/time.html
答案4
不管怎樣,昨天我需要親自檢查兩個 Linux 系統之間的偏差程度。在尋找工具之前,我使用了這種不科學的方法,它為我的目的提供了足夠好的結果(比較兩個系統的日誌輸出的時間戳記)。
- 在每個系統上啟動 Putty 會話並將它們並排對齊
在兩個系統上執行以下命令:
$ while true; do date +%H:%M:%S.%N; done
- 截取螢幕截圖並比較每個視窗上的最後條目。
可能對緊要關頭的人有用!