VM 域控制器的 Hyper-V 時間同步
我們有 2 台物理 hyper-V 伺服器在它們之間執行 8 個虛擬機,每台物理伺服器上都有一個域控制器在虛擬機中執行,所有伺服器都是 2008R2
VM PDC 設置為 NTP 並與 time.microsoft.com 同步,包括物理伺服器在內的其餘部分為 NT5DS。此主 VM PDC 肯定持有 FSMO 並且是 UDP 123 處於活動狀態
當我執行 w32tm /query /status
我在兩個 VM DC 上都獲得了 VM IC 時間同步提供程序,我知道這意味著與主機同步。
當我執行 w32tm /resync /rediscover
我得到“沒有重新同步,因為沒有時間數據可用”和日誌中的事件 ID 134 對此有何想法?
我還查看了日誌並得到了事件 144 和 12
我遵循了有關設置外部時間源的 MS KB 詳細資訊並進行了所有系統資料庫更改,但我認為 DNS 讓我失望了?
但是當我在其中一台物理機器上更改時間時,這就是設置時間的地方。也許如果我將它們全部註銷並註冊、更新和同步,但恐怕會造成更大的問題!
我正在嘗試啟用 VM 和 Hyper-V 主機之間的時間同步,因為我相信這是我所讀到的最佳實踐。
謝謝你的幫助
我終於讓它工作了!這樣做的目的是幫助那些剛開始設置域時間的人。
在此範例中,所有伺服器、主域控制器 (PDC)、其他域控制器 (DC) 和其他伺服器都執行 Windows 2008 R2 並使用 Hyper-V 進行虛擬化。
首先,您將閱讀以禁用 Hyper-V 中任何虛擬機上的“時間同步集成服務”,但您應該從虛擬 DC 中操作 Windows 時間服務(w32tm 服務),您不應該禁用它,因為當虛擬機重啟這會導致問題,應該用 w32tm 來完成。 http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/11/19/time-synchronization-in-hyper-v.aspx
您將需要找出哪個伺服器是 PDC 並執行 FSMO 角色。執行以下命令: netdom query fsmo 結果應該是您的 PDC,這是您進行大部分更改的地方。
確保防火牆中有一個UDP123上的“出站”規則,程序是%SystemRoot%\System32\w32tm.exe只需瀏覽到windows目錄並找到exe時間
這是系統資料庫更改失敗的地方!HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time
確保上面註冊地址中config下的PDC設置為“type”的NTP,其他所有伺服器都是NT5DS,這意味著NTP是爸爸!此處的最佳做法是讓 PDC 從外部查找時間並將所有內容同步到它。
在所有域控制器(包括 PDC)上執行它,它將部分禁用 Windows 時間,因此它不會查看主機時間,這很重要,因為我們是虛擬化的。reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider /v 啟用 /t reg_dword /d 0
您可以到 ntp.org http://support.ntp.org/bin/view/Servers/WebHome 站點找到離您最近的伺服器來同步您的外部時間。我建議不要使用 Microsoft,因為它們被大量使用並且可能因此而滑出。
下面的命令將 PDC 設置為在外部查看,但也會檢查此處定義的系統資料庫設置以在外部同步(您需要同時執行這兩項) http://support.microsoft.com/kb/816042
在 PDC w32tm /config /manualpeerlist:“0.pool.ntp.org,0x1” /syncfromflags:MANUAL /reliable:yes w32tm /config /update w32tm /resync w32tm /resync /rediscover 上執行它
隨時在任何伺服器上執行這 2 個命令以查看它們的源以及它們上次更新的時間,這些將在整個練習中使用,以確保您的 PDC 和其他伺服器從正確的位置獲取時間 w32tm /query /status w32tm /query /來源
然後在除 PDC 之外的所有 DC 上執行它,這將使他們查看 PDC 的時間並重新同步到它 w32tm /config /syncfromflags:DOMHIER /update net stop w32time net start w32time w32tm /resync /force
問題:當您執行狀態或源查詢時,在更改後給它們一兩分鐘,您不應該查看本地 CMOS 時鐘,也不應該使用 vm ic 時間同步提供程序作為源。
如果成功,PDC 應該讀取您設置的外部站點,並且其他伺服器應該說 PDC 作為源
希望這可以幫助人們好運!
我終於讓它工作了!這樣做的目的是幫助那些剛開始設置域時間的人。
在此範例中,所有伺服器、主域控制器 (PDC)、其他域控制器 (DC) 和其他伺服器都執行 Windows 2008 R2 並使用 Hyper-V 進行虛擬化。
首先,您將閱讀以禁用 Hyper-V 中任何虛擬機上的“時間同步集成服務”,但您應該從虛擬 DC 中操作 Windows 時間服務(w32tm 服務),您不應該禁用它,因為當虛擬機重啟這會導致問題,應該用 w32tm 來完成。MSDN 資訊
您將需要找出哪個伺服器是 PDC 並執行 FSMO 角色。執行以下命令: netdom query fsmo 結果應該是您的 PDC,這是您進行大部分更改的地方。
確保防火牆中有一個UDP123上的“出站”規則,程序是**%SystemRoot%\System32\w32tm.exe**只需瀏覽到windows目錄並找到exe時間
這是系統資料庫更改失敗的地方!
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time
確保上面註冊地址中config下的PDC設置為“ Type ”的****NTP ,其他所有伺服器都是NT5DS,這意味著NTP是爸爸!此處的最佳做法是讓 PDC 從外部查找時間並將所有內容同步到它。
在所有域控制器(包括 PDC)上執行它,它將部分禁用 Windows 時間,因此它不會查看主機時間,這很重要,因為我們是虛擬的。
reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider /v Enabled /t reg_dword /d 0
你可以去ntp.org網站找到離你最近的伺服器來同步你的外部時間。我建議不要使用 Microsoft,因為它們被大量使用並且可能因此而滑出。
下面的命令將 PDC 設置為在外部查看,但還會檢查此處定義的系統資料庫設置以在外部同步(您需要同時執行這兩項操作)MS KB 816042
在PDC上執行
w32tm /config /manualpeerlist:"0.pool.ntp.org,0x1" /syncfromflags:MANUAL /reliable:yes w32tm /config /update w32tm /resync w32tm /resync /rediscover
隨時在任何伺服器上執行這 2 個命令以查看其原始碼以及上次更新的時間,這些將在整個練習中使用,以確保您的 PDC 和其他伺服器從正確的位置獲取時間
w32tm /query /status w32tm /query /source
然後在除 PDC 之外的所有 DC上執行它,這將使他們查看 PDC 的時間並重新同步到它
w32tm /config /syncfromflags:DOMHIER /update net stop w32time net start w32time w32tm /resync /force
問題:當您執行狀態或源查詢時,在更改後給它們一兩分鐘,您不應該查看本地 CMOS 時鐘,也不應該使用VM IC 時間同步提供程序作為源。
如果成功,PDC 應該讀取您設置的外部站點,並且其他伺服器應該說 PDC 作為源
希望這可以幫助人們好運!
@PSaul 大部分是正確的。您不想使用
time.microsoft
或time.windows.com
作為您的域控制器的時間源,該域控制器持有 PDC 模擬器 FSMO 角色。預設情況下,它們被大量使用,由於缺乏局部性而通常很慢,有時甚至不可用。選擇一個離您較近的 NTP 池。但是,不要禁用Hyper-V 時間同步集成。某些功能需要它,例如在重新啟動後或虛擬機從保存狀態恢復時重置時間。您要做的是告訴您的虛擬化域控制器忽略其 Hyper-V 主機作為時間源。
這可以按如下方式完成:
reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider /v Enabled /t reg_dword /d 0
此命令刪除 Hyper-V 時間源作為 W32Time 的可能源。
w32tm /config /syncfromflags:DOMHIER /update
現在告訴 W32Time 在域層次結構中搜尋最佳時間源。如果您想為兩個域控制器使用外部源,您可以使用@PSaul 發布的命令或從此處對其進行配置。一般來說,擔任 PDC 模擬器角色的域控制器應該從外部源同步,而您的其他域控制器應該從它同步。
net stop w32time & net start w32time w32tm /resync /force
重新啟動時間服務並強制重新同步。
w32tm /query /source
最後,您應該確認您的域控制器具有正確的時間源。
有關更多詳細資訊,請參閱 Ben Armstrong 的優秀部落格文章。