Linux
如何在沒有應用程序或數據庫停機時間的情況下同步 NTP?
我們如何才能逐漸同步 ntp,而不損害正在執行的應用程序和數據庫的時間戳?我的時鐘提前 12 分鐘
作業系統:Oracle Linux 6.4
NTP:
ntpdate-4.2.4p8-3.el6.x86_64
ntp-4.2.4p8-3.el6.x86_64
使用
ntdate
,儘管有警告(例如,如果您使用自己的 LAN NTP 伺服器,則外部沒有人會欺騙時間)。重要的參數是
ntpdate -B
, 強制緩慢調整(它會很慢,但最終會漂移到那裡)。如果它正在執行,您必須先停止本地 ntp 守護程序。
免責聲明:我沒有安裝 Oracle Linux。在它靠近生產環境的任何地方之前,在具有同樣錯誤時鐘的一次性測試機器上嘗試此操作。
NTP 可以同步最多 10 分鐘錯誤的時鐘。但是,您說您的速度大約快 12.5 分鐘。簡單的方法是關閉機器,重置時鐘,然後重新啟動它(如有必要,等到現實趕上時鐘的舊時間,這樣時間戳就不會重疊)。我假設你不能這樣做,因為很明顯我早就料到你已經走這條路了。
因此,我們需要尋找替代方案。
從NTP FAQ中獲取建議,您可以試試這個
/etc/ntp.conf
使用以下內容創建server 127.127.0.1 fudge 127.127.0.1 stratum 10 driftfile /var/lib/ntp/ntp.drift
- 使用此內容創建一個虛假的漂移文件,
/var/lib/ntp/ntp.drift
確保它由ntp
使用者帳戶擁有和可讀/可寫-500.000
- 安裝 NTP 守護程序 (
ntpd
),並驗證它是否已啟動。確保它沒有被覆蓋/etc/ntp.conf
並/var/lib/ntp/ntp.drift
使用其預設設置。如果有,請停止守護程序,再次重寫文件,然後重新啟動它。- 每隔幾天檢查一次,看看時鐘是如何變慢的。將所有內容留到離現實不到 10 分鐘的時間——這個過程可能需要數週時間——在此之前不要執行下一步
- 停止 NTP 守護程序 (
ntpd
),刪除整個 NTP 應用程序,刪除/etc/ntp.conf
和/var/lib/ntp/ntp.drift
,然後再次重新安裝 NTP 守護程序。/etc/ntp.conf
它應該使用合適的預設值自動創建缺失值。如有必要,請適當修改這些以確保您的系統時鐘保持準確。