Debian
在數據庫伺服器上啟動 NTP 的風險?
我聽說如果在數據庫和郵件伺服器執行時更改系統時間,它們會發生壞事。但是,我很難找到有關實際風險的任何具體資訊。
我有一個在 Debian Wheezy 主機上執行的生產 Postgres 9.3 伺服器,時間縮短了 367 秒。我可以
ntpdate
在 Postgres 執行時執行或啟動 openntp,還是可能會導致問題?如果是這樣,更正時間的更安全方法是什麼?是否有其他服務對系統時間的變化更敏感?也許是郵件伺服器(exim、sendmail 等)或消息隊列(activemq、rabbitmq、zeromq 等)?
數據庫不喜歡在時間上倒退,因此您不希望從跳時的預設行為開始。如果偏移量小於 600 秒(10 分鐘),則將選項添加
-x
到命令行將縮短時間。在最大轉換速率下,將時鐘調整一分鐘大約需要一天半的時間。這是調整時間的一種緩慢但安全的方法。在執行
ntp
以調整時間之前,您可能希望從ntp
一個選項開始,例如-g 2
驗證它檢測到的偏移量有多大。這會將恐慌偏移設置為 2 秒,這應該是相對安全的。在此選項可用之前,我使用的另一個選項是編寫一個循環,每分鐘左右將時鐘重置為秒的一部分。如果您檢查以確保重置不會改變第二個,這可能是安全的。如果您大量使用時間戳,則可能會出現亂序記錄。
一個常見的選項是關閉伺服器足夠長的時間,以使時鐘不會向後移動。
ntp
或者ntpdate
可以配置為在啟動時將時鐘跳到正確的時間。這應該在數據庫啟動之前完成。