Đồng bộ hóa thời gian Hyper-V cho bộ điều khiển miền VM


13

Chúng tôi có 2 máy chủ hyper-V vật lý chạy 8 VM giữa chúng, mỗi máy chủ vật lý có bộ điều khiển Miền trên nó chạy trong VM và tất cả các máy chủ là 2008R2

VM PDC được đặt thành NTP và để đồng bộ hóa với time.microsoft.com và phần còn lại bao gồm các máy chủ vật lý là NT5DS. PDC VM chính này chắc chắn giữ FSMO và UDP 123 đang hoạt động

khi tôi chạy w32tm / truy vấn / trạng thái

Tôi nhận được Nhà cung cấp đồng bộ hóa thời gian VM IC trên cả hai DC VM, tôi biết điều này có nghĩa là đồng bộ hóa với máy chủ.

Khi tôi chạy w32tm / resync / tái khám phá

Tôi nhận được "không đồng bộ lại vì không có dữ liệu thời gian" và ID sự kiện 134 trong nhật ký có ý tưởng nào về điều đó không?

Tôi cũng đã xem qua các bản ghi và đã có sự kiện 144 & 12

Tôi đã theo dõi chi tiết MS KB về việc thiết lập nguồn thời gian bên ngoài và thực hiện tất cả các thay đổi đăng ký nhưng tôi nghĩ DNS đang giúp tôi?

Nhưng khi tôi thay đổi thời gian trên một trong những máy vật lý thì đây là lúc thời gian được đặt. Có lẽ nếu tôi hủy đăng ký tất cả chúng và đăng ký và cập nhật và đồng bộ hóa nhưng tôi sợ il tạo ra một vấn đề lớn hơn!

Tôi đang cố gắng để đồng bộ hóa thời gian giữa VM và Hyper-V Host được bật vì tôi tin rằng đây là cách thực hành tốt nhất từ ​​những gì tôi đã đọc.

Cảm ơn bạn đã giúp đỡ



Cuối cùng tôi đã có nó làm việc! Mục tiêu của việc này là giúp mọi người biết những người bắt đầu bắt đầu thiết lập thời gian Tên miền.

Trong ví dụ này, tất cả các Máy chủ, Bộ điều khiển miền chính (PDC), Bộ điều khiển miền khác (DC) và các máy chủ khác đang chạy Windows 2008 R2 và được ảo hóa bằng Hyper-V.

Trước tiên, bạn sẽ đọc để tắt 'Dịch vụ tích hợp đồng bộ hóa thời gian' trên bất kỳ máy ảo nào trong Hyper-V nhưng thay vào đó, bạn nên thao tác với Dịch vụ thời gian Windows (dịch vụ w32tm) từ trong DC ảo, bạn không nên vô hiệu hóa điều này vì khi VM khởi động lại điều này sẽ gây ra vấn đề, nó nên được thực hiện với w32tm. http://bloss.msdn.com/b/virtual_pc_guy/archive/2010/11/19/time-synyncization-in-hyper-v.aspx

Bạn sẽ cần tìm hiểu máy chủ nào là PDC và chạy các vai trò FSMO. Chạy cái này: netdom query fsmo Kết quả phải là PDC của bạn và đây là nơi bạn thực hiện hầu hết các thay đổi của mình.

Hãy chắc chắn rằng trong tường lửa có một quy tắc Out Out trực tuyến trên UDP123 và chương trình là% SystemRoot% \ System32 \ w32tm.exe chỉ cần duyệt đến thư mục windows và tìm exe theo thời gian

Đây là nơi thay đổi đăng ký đi xuống! HKEY_LOCAL_MACHINE \ HỆ THỐNG \ CurrentControlset \ services \ W32Time

Hãy chắc chắn rằng PDC được cấu hình trong địa chỉ đăng ký ở trên được đặt thành NTP cho loại kiểu Wikipedia và tất cả các máy chủ khác là NT5DS, điều này có nghĩa là NTP là cha! Thực hành tốt nhất ở đây là để PDC nhìn bên ngoài theo thời gian và mọi thứ đồng bộ với nó.

Chạy cái này trên tất cả các bộ điều khiển miền (bao gồm PDC), nó sẽ vô hiệu hóa một phần thời gian của windows để nó không nhìn vào máy chủ, vì chúng tôi bị ảo hóa. reg thêm HKLM \ HỆ THỐNG \ CurrentControlset \ Services \ W32Time \ TimeProviders \ VMICTimeProvider / v Đã bật / t reg_dword / d 0

Bạn có thể truy cập trang web ntp.org http://support.ntp.org/bin/view/Servers/WebHome để tìm máy chủ gần bạn nhất để đồng bộ hóa thời gian bên ngoài của bạn. Tôi khuyên bạn không nên sử dụng Microsoft vì chúng được sử dụng nhiều và có thể bị trượt vì điều này.

Lệnh bên dưới sẽ đặt PDC nhìn bên ngoài nhưng cũng kiểm tra cài đặt đăng ký như được xác định ở đây để đồng bộ hóa bên ngoài (bạn cần thực hiện cả hai) http://support.microsoft.com/kb/816042

Chạy cái này trên PDC w32tm / config /manualpeerlist:.

Chạy 2 lệnh này bất cứ lúc nào trên bất kỳ máy chủ nào để xem nguồn của chúng và khi chúng được cập nhật lần cuối, chúng sẽ được sử dụng trong suốt bài tập này để đảm bảo PDC của bạn và các máy chủ khác đang có thời gian từ đúng vị trí w32tm / query / status w32tm / query / nguồn

Sau đó chạy nó trên tất cả DC ngoại trừ PDC, nó sẽ khiến họ xem xét PDC về thời gian và đồng bộ lại với nó w32tm / config / syncfromflags: DOMHIER / update net stop w32time net start w32time w32tm / resync / force

Sự cố: Khi bạn chạy truy vấn Trạng thái hoặc Nguồn, hãy cung cấp cho họ một hoặc hai phút sau khi thay đổi, bạn không nên xem Đồng hồ CMOS cục bộ và bạn cũng không nên sử dụng nhà cung cấp đồng bộ hóa thời gian vm ic làm nguồn.

Nếu thành công, PDC sẽ đọc trang bên ngoài mà bạn đã đặt và các máy chủ khác sẽ nói PDC là nguồn

Hy vọng điều này sẽ giúp mọi người may mắn!


Xin chào, câu trả lời đi vào phần Trả lời, không phải là chỉnh sửa cho Câu hỏi.
Michael Hampton

2
Điều này không hoàn toàn hoạt động trong Hyper-V 2012R2 mới hơn với các bản cập nhật tích hợp mới nhất, vì thời gian ngay lập tức quay trở lại máy chủ bên dưới sau khi được đặt bởi máy chủ NTP. Ngay cả sau khi ngồi một lúc, nó vẫn bị kẹt không đúng lúc. Tôi thấy rằng bằng cách sửa đổi khóa đăng ký TimeProviders / VMICTimeProvider / InputProvider = 0, máy chủ đã dừng quay lại để dễ dàng truy cập máy chủ bên dưới.
Brain2000

1
Tôi định dạng câu trả lời của bạn dưới đây để dễ đọc hơn. Có thể muốn xóa câu trả lời khỏi câu hỏi của bạn và chỉ tham khảo để bạn trả lời.
Tilo

Câu trả lời:


12

@PSaul hầu hết là chính xác. Bạn không muốn sử dụng time.microsofthoặc time.windows.comlàm nguồn thời gian của mình cho Bộ điều khiển miền đang giữ Vai trò FSMO Trình mô phỏng PDC. Theo mặc định, chúng được sử dụng rất nhiều, thường chậm do thiếu địa phương và đôi khi không có sẵn. Chọn một nhóm NTP gần bạn hơn.

Tuy nhiên, không tắt tích hợp đồng bộ hóa thời gian Hyper-V. Nó được yêu cầu cho một số chức năng nhất định như đặt lại thời gian sau khi khởi động lại hoặc khi máy ảo trở lại từ trạng thái đã lưu. Những gì bạn muốn làm là nói với Bộ điều khiển miền ảo hóa của bạn bỏ qua máy chủ Hyper-V của họ như một nguồn thời gian.

Điều này có thể được thực hiện như sau:

reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider /v Enabled /t reg_dword /d 0

Lệnh này loại bỏ nguồn thời gian Hyper-V như một nguồn có thể cho W32Time.

w32tm /config /syncfromflags:DOMHIER /update

Bây giờ hãy nói với W32Time để tìm kiếm nguồn thời gian tốt nhất có thể trong hệ thống phân cấp tên miền. Nếu bạn muốn sử dụng nguồn bên ngoài cho cả Bộ kiểm soát miền, bạn có thể định cấu hình nó để làm như vậy bằng cách sử dụng các lệnh @PSaul được đăng hoặc từ đây . Nói chung, Bộ điều khiển miền giữ vai trò Trình mô phỏng PDC sẽ đồng bộ hóa từ nguồn bên ngoài và Bộ điều khiển miền khác của bạn sẽ đồng bộ hóa từ nó.

net stop w32time & net start w32time
w32tm /resync /force

Khởi động lại dịch vụ thời gian và buộc đồng bộ hóa.

w32tm /query /source

Cuối cùng, bạn nên xác nhận rằng Bộ kiểm soát miền của bạn có nguồn thời gian chính xác.

Xem bài viết tuyệt vời của Ben Armstrong để biết thêm chi tiết.


Cảm ơn thông tin, tôi đã đọc blog Ben Armstrongs và muốn bám sát các thực tiễn tốt nhất. Trên máy ảo đó là PDC hôm nay tôi chạy: w32tm / config /manualpeerlist:"0.pool.ntp.org,0x1” / syncfromflags: HƯỚNG DẪN / đáng tin cậy: yes w32tm / config / cập nhật w32tm / resync w32tm / resync / KHÁM PHÁ
Karl

Trong sổ đăng ký 0.pool.ntp.org, 0x1 hiện là giá trị cho Máy chủ NTP. Tôi có thể ping 0.pool.ntp.org từ PDC nhưng vẫn không thể ping time.windows.com mà tôi nghĩ là lạ! Thời gian đang được đặt bởi một trong các máy chủ Tôi chắc chắn về điều đó nhưng nó được đặt thành NT5DS và nó / truy vấn / trạng thái đang cho tôi biết nó sử dụng PDC, tôi có cần chạy một số lệnh trên máy chủ để đồng bộ hóa lại không đến PDC VM? Tôi đã thấy lệnh reg add và tôi cho rằng điều này cần phải được thực hiện trên tất cả các DC? Tôi tự hỏi liệu w32tm / config / syncfromflags: DOMHIER / update cũng cần phải được chạy trên PDC hay chỉ tất cả các DC khác?
Karl

Tôi nghĩ rằng kết thúc của bình luận đầu tiên bị thiếu, sau khi tôi chạy các lệnh dưới đây trên PDC. Tất cả đều nói thành công nhưng khi tôi chạy w32tm / query / status tôi vẫn có một nguồn của nhà cung cấp đồng bộ hóa thời gian vm ic ic w32tm / config /manualpeerlist: w32tm / config / update w32tm / resync w32tm / resync / tái khám phá và bắt đầu và dừng lại
Karl

Cảm ơn tất cả những lời khuyên tôi nghĩ rằng cuối cùng tôi đã có nó nhưng tôi sẽ rời đi trong vài ngày để xác nhận và sau đó tôi sẽ cập nhật những gì tôi đã làm để khắc phục
Karl


5

Cuối cùng tôi đã có nó làm việc! Mục tiêu của việc này là giúp mọi người biết những người bắt đầu bắt đầu thiết lập thời gian Tên miền.

Trong ví dụ này, tất cả các Máy chủ, Bộ điều khiển miền chính (PDC), Bộ điều khiển miền khác (DC) và các máy chủ khác đang chạy Windows 2008 R2 và được ảo hóa bằng Hyper-V.

Trước tiên, bạn sẽ đọc để tắt 'Dịch vụ tích hợp đồng bộ hóa thời gian' trên bất kỳ máy ảo nào trong Hyper-V nhưng thay vào đó, bạn nên thao tác với Dịch vụ thời gian Windows (dịch vụ w32tm) từ trong DC ảo, bạn không nên vô hiệu hóa điều này vì khi VM khởi động lại điều này sẽ gây ra vấn đề, nó nên được thực hiện với w32tm. Thông tin MSDN

Bạn sẽ cần tìm hiểu máy chủ nào là PDC và chạy các vai trò FSMO. Chạy cái này: netdom query fsmo Kết quả phải là PDC của bạn và đây là nơi bạn thực hiện hầu hết các thay đổi của mình.

Hãy chắc chắn rằng trong tường lửa có một quy tắc Out Outnds trên UDP123 và chương trình là % SystemRoot% \ System32 \ w32tm.exe chỉ cần duyệt đến thư mục windows và tìm exe theo thời gian

Đây là nơi thay đổi đăng ký đi xuống!

HKEY_LOCAL_MACHINE \ HỆ THỐNG \ CurrentControlset \ services \ W32Time

Hãy chắc chắn rằng PDC được cấu hình trong địa chỉ đăng ký ở trên được đặt thành NTP cho Loại Type và tất cả các máy chủ khác là NT5DS, điều này có nghĩa là NTP là cha! Thực hành tốt nhất ở đây là để PDC nhìn bên ngoài theo thời gian và mọi thứ đồng bộ với nó.

Chạy cái này trên tất cả các bộ điều khiển miền (bao gồm PDC), nó sẽ vô hiệu hóa một phần thời gian của windows để nó không nhìn vào máy chủ thời gian, quan trọng vì chúng tôi là ảo.

reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider /v Enabled /t reg_dword /d 0

Bạn có thể truy cập trang web ntp.org để tìm máy chủ gần bạn nhất để đồng bộ hóa thời gian bên ngoài của bạn. Tôi khuyên bạn không nên sử dụng Microsoft vì chúng được sử dụng nhiều và có thể bị trượt vì điều này.

Lệnh bên dưới sẽ đặt PDC nhìn bên ngoài nhưng cũng kiểm tra cài đặt đăng ký như được xác định ở đây để đồng bộ hóa bên ngoài (bạn cần thực hiện cả hai) MS KB 816042

Chạy cái này trên PDC

w32tm /config /manualpeerlist:"0.pool.ntp.org,0x1" /syncfromflags:MANUAL /reliable:yes   
w32tm /config /update   
w32tm /resync 
w32tm /resync /rediscover

Chạy 2 lệnh này bất cứ lúc nào trên bất kỳ máy chủ nào để xem nguồn của chúng và khi chúng được cập nhật lần cuối, chúng sẽ được sử dụng trong suốt bài tập này để đảm bảo PDC của bạn và các máy chủ khác đang có thời gian từ đúng nơi

w32tm /query /status  
w32tm /query /source

Sau đó chạy nó trên tất cả DC ngoại trừ PDC , nó sẽ khiến họ nhìn vào PDC theo thời gian và đồng bộ lại với nó

w32tm /config /syncfromflags:DOMHIER /update 
net stop w32time 
net start w32time 
w32tm /resync /force

Sự cố : Khi bạn chạy truy vấn Trạng thái hoặc Nguồn, hãy cho họ một hoặc hai phút sau khi thay đổi, bạn không nên xem Đồng hồ CMOS cục bộ và bạn cũng không nên sử dụng Nhà cung cấp đồng bộ hóa thời gian VM IC làm nguồn.

Nếu thành công, PDC sẽ đọc trang bên ngoài mà bạn đã đặt và các máy chủ khác sẽ nói PDC là nguồn

Hy vọng điều này sẽ giúp mọi người may mắn!


Hai điều nữa: Sử dụng GPO để định cấu hình thời gian NTP trên PDCE - điều này có nghĩa là nó sẽ được cấu hình tự động nếu vai trò PDCE di chuyển: www.sysadminlab.net/windows/configuring-ntp-on-windows-USE-gpo.
Trix

Để đặt cờ trên dịch vụ NTP, hãy xem xét sử dụng 0x8 - điều này có nghĩa đó là nguồn thời gian đáng tin cậy được đồng bộ hóa với đồng hồ phần cứng ở đâu đó. Cũng xem xét không sử dụng 0x1 cho "khoảng thời gian đặc biệt". Trừ khi bạn cần đồng bộ hóa đồng hồ của mình theo các khoảng thời gian được chỉ định, những ngày này không cần thiết. Nếu DC không nhận được thời gian ngay sau khi khởi động (ví dụ: mạng chưa sẵn sàng), thì nó sẽ đợi toàn bộ khoảng thời gian đó. Hoặc nếu bạn sử dụng 0x1 / 0x9, hãy đặt một nguồn khác với nguồn dự phòng 0xa, được truy vấn ngay lập tức nếu (các) nguồn chính không phản hồi.
Trix

1

Tôi muốn đề nghị:

  • KHÔNG cho phép đồng bộ hóa thời gian giữa máy chủ HyperV và Máy khách - đặc biệt là đối với các DC. Người giữ vai trò PDC nên cập nhật qua NTP từ một số nguồn thời gian tốt. Đồng hồ của Máy chủ cũng có thể cập nhật qua NTP nhưng bạn muốn PDC là "chủ nhân" cho các máy chủ thành viên và DC khác. (ít nhất là với VMwre, tôi giả sử như vậy với HyperV)
  • Đảm bảo bạn có cổng UDP 123 mở cho lưu lượng truy cập đi.
  • Rằng bạn có thể giải quyết FQDN của các máy chủ NTP (bạn có thể PING chúng không?)
  • Tất cả các DC và máy thành viên khác sẽ tự động cập nhật.

Không sử dụng CHỈ time.windows.com hoặc time.microsoft.com, sử dụng một trong các máy chủ * .pool.ntp.org. Tôi sử dụng North-america.pool.ntp.org hoặc ca.north-america.pool.ntp.org - càng gần thì càng tốt. Bạn có thể kiểm tra: http://www.pool.ntp.org/ để tìm máy chủ gần bạn.

Sau đó chạy một cái gì đó như:

w32tm /config /manualpeerlist:"north-america.pool.ntp.org 0.pool.ntp.org" /syncfromflags:MANUAL /update /reliable:YES

(Thêm bất cứ máy chủ NTP nào bạn muốn. Ở Canada tôi cũng sử dụng time.nrc.ca)

Theo dõi bởi:

net stop w32time
net start w32time

Bạn có thể kiểm tra Peers với:

w32tm /query /peers

Kiểm tra Nhật ký hệ thống để xem nếu nó đang cập nhật. Bạn sẽ có thể đặt đồng hồ trước 1 phút, khởi động lại dịch vụ w32time và nó sẽ cập nhật trong vòng 30 giây. [độ lệch thời gian dưới 5 phút được chấp nhận trong miền AD]


0

Theo khuyến cáo của người khác, chắc chắn không có đồng bộ hóa thời gian phần cứng từ máy chủ đến khách. Bạn cũng chỉ nên đồng bộ hóa với các máy chủ NTP bên ngoài từ bộ điều khiển miền giữ vai trò giả lập PDC gốc rừng. Nếu bộ điều khiển miền vai trò giả lập PDC gốc rừng của bạn không đồng bộ hóa, thì DC dựa vào nó sẽ gặp vấn đề.

Bạn cũng có thể muốn thử các hotfix sau:

Đồng bộ hóa thời gian không được thực hiện ngay cả khi dịch vụ W32Time được khởi động thành công trong Windows Server 2008 hoặc trong Windows Server 2008 R2

http://support.microsoft.com/kb/2493006

Bạn có thể thấy hữu ích hơn nếu bạn sử dụng cờ / verbose cho w32tm:

w32tm /query /status /verbose /computer:dcname

Thông tin thêm:

https://technet.microsoft.com/en-us/l Library / virtual_active_directory_domain_controll_virtualization_hyperv% 28WS.10% 29.aspx

"Đối với các máy ảo được cấu hình là bộ điều khiển miền, bạn nên tắt đồng bộ hóa thời gian giữa hệ thống máy chủ và hệ điều hành khách đóng vai trò là bộ điều khiển miền. Điều này cho phép bộ điều khiển miền khách của bạn đồng bộ hóa thời gian từ hệ thống phân cấp miền."

"Để vô hiệu hóa nhà cung cấp đồng bộ hóa thời gian Hyper-V, hãy tắt VM và xóa hộp kiểm Đồng bộ hóa thời gian trong Dịch vụ tích hợp."

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.