了解NTP中的系統時鐘

了解NTP中的系統時鐘

據我了解,NTP 漂移檔案(/var/lib/ntp/ntp.drift在基於 Debian 的發行版中)儲存 NTP 對等點和系統時鐘的偏移量。但是,系統時鐘是否意味著我主機板上的 CR232 電池?還有別的事嗎?另外,我是否正確地認為該漂移文件僅在ntpd啟動時使用?

答案1

電腦具有定時器硬件,可產生稱為抽動的週期性中斷。這些通常每秒發生 100 次或更多次。計時器可能是 RTC 的一部分,但即使沒有 RTC 的設備也具有計時器硬體。定時器硬體和 RTC 都有偏離原子鐘測量的即時時間的趨勢。

NTP 與系統時鐘(基於軟體)搭配使用,每次更新都會更新。儲存的值/var/lib/ntp/ntp.drift用於對定時器中斷的頻率進行微調。這被稱為紀律時鐘。 NTP會定期重新計算漂移並更新頻率和ntp.drift檔案中的值。

通常,系統時鐘是在系統啟動時透過 RTC 設定的。這發生在 NTP 守護程序啟動之前。根據 NTP 守護程序啟動時設定的標誌,如果 RTC 時間發生顯著漂移,則該守護程序可能會失敗。為了防止這種情況,通常會執行ntpdate命令來執行初始調整。

在受控關閉期間,RTC 通常設定為系統時間(本地時間或 UTC)。這有助於確保系統重新啟動時時間相對準確。為此,RTC 必須在系統關閉時獲得電源。具有 RTC 的系統有一個為 RTC 供電的電池,通常還有一些包含系統配置資料的揮發性記憶體。

相關內容