Linux

Hyper-V 上 Linux VM 的時間/時區

  • April 13, 2011

嗨,我在 Hyper-V 伺服器上安裝了 CentOS VM,對時間設置感到很困惑。我的 Hyper-V 設置為 (UTC-05:00) 東部時間(美國和加拿大),安裝 CentOS VM 時,在選擇時區時,我選擇了系統時鐘使用 UTC 和美國/紐約。一切看起來都很好,除了時鐘顯示 (UTC-05:00-04:00) EDT。

我是 Hyper-V 和 Linux VM 的新手,但我認為 Linux VM 將 Hyper-V 主機時間作為 UTC,因為我選擇美國/紐約時區,所以它使用 UTC-4(夏令時),所以時鐘晚了 4 小時。我不知道如何解決這個問題。我重置了時鐘,但是當重新啟動時,VM 再次以錯誤的時間啟動..

這應該如何工作?我必須將 Hyper-V 伺服器設置為“真實”UTC 時間嗎?這似乎不對,我希望我遺漏了一些簡單的東西。我還沒有找到與此相關的任何內容,因此非常感謝任何幫助/見解。我不認為這是一個新問題?

我還禁用了時間同步集成服務,因為我還沒有在來賓上安裝集成服務。謝謝你的幫助。

Windows(以及擴展的 Hyper-V)將“CMOS 時鐘”(即使在虛擬機上)保持在本地時間,而不是 UTC。大多數 *nix 平台將其保留為 UTC,然後以本地時間顯示。

預設情況下,Hyper-V 將設置 VM 的時鐘,在這種情況下,會將 VM 時鐘設置為您的本地時間 (EST/EDT)。需要設置 *nix VM 以辨識這一點,因為它不是預設設置(通常)。

或者,您可以禁用 Hyper-V 的時間同步,並讓 *nix 客戶端通過 NTP 或類似方式同步它自己的時鐘。這會導致偶爾出現時鐘異常,因為 VM 的時鐘不是獨立的硬體,它是在主機上執行的軟體(並不完美;除非您的應用程序需要高精度時鐘,否則這不是問題)。

編輯:

我不知道 Linux,從其他人那裡得到這個:對於 CentOS 編輯/etc/sysconfig/clock以包括這些行:

UTC=false
ZONE="America/New York"

文件中可能還有其他行,不確定它們應該是什麼。啟用 Hyper-V 的時間同步,VM 應該有正確的時間(只要主機有)。

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