Linux

最好的說法是“將所有系統時鐘同步到此伺服器,何時且僅當我這麼說時?”Windows+Linux 伺服器的混合設置

  • June 26, 2011

標題幾乎解釋了它。假設有 100 台伺服器,各種版本的 Windows 和 Linux,其中一台 Windows 伺服器是“主時鐘”。我確實看過這個問題:

如何在 Linux 和 Windows 之間同步時鐘?

這暗示如果我在客戶端(?)上執行“ntpd -q”,ntp 可以做我想做的事。如果我安裝 ntp,我還需要保證它只會在我強制它時同步時間。如果我有一個日誌可以在每次執行同步時告訴我,那就更好了。

我正在執行基準測試,我需要能夠說這樣的話:“時鐘在上午 09:42:01 在主機上同步所有基準系統。然後啟動基準執行並允許執行六個小時. 在這段時間間隔內沒有任何系統時鐘被改變。

我知道會有後續的時鐘漂移,但現在我們就是這樣做的,我正在通過手動過程來做這件事。我寧願至少自動化一次性同步。

您是否正在尋找在 Linux 和 Windows 上啟動/停止 NTP 的特定命令?這些在不同的 Linux 發行版上是不同的。在某些情況下會像“/etc/init.d/ntpd stop”,在其他情況下會有所不同,我不確定在 Windows 上。

有兩種方法可以做到這一點,一個警告。

方法 1:正常執行 NTP,但停止它以進行基準測試。

方法 2:不要執行 NTP,而是在執行基準測試之前以“一次性”模式執行 NTP。(在 Unix/Linux 上將是“ntpdate SERVERNAME”的 linux 或

$$ i think $$Windows 上的“ntp -q”) 方法 1 有一些優點,因為在您沒有執行基準測試的所有時間裡,時鐘都是正確的。時鐘也將更準確地設置為基準。也就是說,即使在 NTP 數據包之間,NTP 也能非常準確地維護時鐘。網路上的 NTP 數據包只是簡單的微調。在數據包之間,NTP 使用過去的經驗來加快或減慢系統時鐘。缺點是當你再次啟動 NTP 時,如果時鐘距離太遠,它會拒絕啟動。這不是一個錯誤,它這樣做是為了防止同步到壞掉的伺服器。為防止這種情況,請在重新啟動 NTP 之前執行“ntpdate”或“ntp -q”。

方法2的優點是實現起來更簡單。但是,時鐘不會很準確。“單次”模式不會像執行 NTP 那樣準確地設置時鐘。它主要用於在啟動 NTP 之前修復一個遙遠的時鐘(見上文)。但是,如果您的基準測試只需精確到大約 1/10 秒,您就可以了。

需要注意的是,如果您關閉 NTP,基準測試可能不會對您認為的基准進行基準測試。如果 NTP 沒有持續執行,電腦的時鐘會漂移。如果您要對電腦的漂移量進行基準測試,那沒關係,但其他情況不多。

(我應該注意……漂移不僅會因品牌而異,而且會因特定機器而異。)

引用自:https://serverfault.com/questions/284177