VM 도메인 컨트롤러 용 Hyper-V 시간 동기화


13

우리는 그들 사이에 8 개의 VM을 실행하는 2 개의 물리적 Hyper-V 서버가 있으며, 각 물리적 서버에는 VM에서 실행되는 도메인 컨트롤러가 있으며 모든 서버는 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 서비스)를 조작해야합니다. VM이 다시 시작되면 문제가 발생하므로 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

서버에서 언제든지이 두 명령을 실행하여 소스를보고 마지막으로 업데이트 한 경우이 연습 전체에서 PDC 및 다른 서버가 올바른 위치에서 시간을 가져 오는지 확인하는 데 사용됩니다. w32tm / query / status w32tm / query /출처

그런 다음 PDC를 제외한 모든 DC에서 이것을 실행하면 PDC에서 시간을 확인하고 다시 동기화합니다. w32tm / config / syncfromflags : DOMHIER / update net stop w32time net start w32time w32tm / resync / force

문제 : 상태 또는 소스 쿼리를 실행할 때 변경 후 1 분 또는 2 분을 지정하면 로컬 CMOS 시계를 보지 말고 VM 시간 동기화 공급자를 소스로 사용하지 않아야합니다.

성공하면 PDC는 설정 한 외부 사이트를 읽고 다른 서버는 PDC를 소스로 말해야합니다

희망이 사람들에게 행운을 빕니다!


안녕하세요. 답변은 질문을 수정 한 것이 아니라 답변 섹션으로 이동합니다.
Michael Hampton

2
최신 통합 업데이트가 포함 된 최신 Hyper-V 2012R2에서는 시간이 NTP 서버에 의해 설정된 후 기본 호스트로 즉시 스냅되므로이 기능은 완전히 작동하지 않습니다. 잠시 앉아도 잘못된 시간에 붙어 있습니다. 또한 레지스트리 키 TimeProviders / VMICTimeProvider / InputProvider = 0을 수정하여 서버가 기본 호스트에 쉽게 스냅 백하는 것을 중지했습니다.
Brain2000

1
가독성을 높이기 위해 아래 답변을 형식화했습니다 . 질문에서 답변을 제거하고 답변 만 참조 할 수 있습니다.
Tilo

답변:


12

@PSaul은 대부분 정확합니다. PDC 에뮬레이터 FSMO 역할을 보유하고있는 도메인 컨트롤러의 time.microsoft또는 time.windows.com시간 소스로 사용하지 않으려 고합니다 . 기본적으로 많이 사용되며 종종 지역 부족으로 인해 느리고 때로는 사용할 수 없습니다. 더 가까운 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의 훌륭한 블로그 게시물 을 참조하십시오.


정보에 감사드립니다. Ben Armstrongs 블로그를 읽고 모범 사례를 고수하고 싶었습니다. 오늘 PDC 인 VM에서 다음을 실행했습니다. w32tm / config /manualpeerlist:“0.pool.ntp.org,0x1”/ syncfromflags : MANUAL / reliable : yes w32tm / config / update w32tm / resync w32tm / resync / rediscover
Karl

레지스트리 0.pool.ntp.org에서 0x1은 이제 NTP 서버의 값입니다. PDC에서 0.pool.ntp.org를 핑 (ping) 할 수 있지만 여전히 이상하다고 생각한 time.windows.com을 핑 (ping) 할 수 없습니다! 시간은 호스트 중 하나에 의해 설정되고 있지만 NT5DS로 설정되어 있으며 / query / status가 PDC를 사용하고 있음을 알려줍니다. 재 동기화하려면 호스트에서 일부 명령을 실행해야합니까? VM PDC에? reg add 명령을 보았고 모든 DC 에서이 작업을 수행해야한다고 가정합니까? w32tm / config / syncfromflags : DOMHIER / update도 PDC 또는 다른 모든 DC에서 실행해야하는지 궁금합니다.
Karl

PDC에서 아래 명령을 실행 한 후 첫 번째 주석의 끝이 누락되었다고 생각합니다. 모두 성공했지만 w32tm / query / status를 실행할 때 여전히“vm ic 시간 동기화 공급자”w32tm / config / manualpeerlist의 소스를 가졌습니다.“0.pool.ntp.org, 0x1”/ syncfromflags : MANUAL / reliable : yes w32tm / config / update w32tm / resync w32tm / resync / rediscover 및 시작 및 중지
Karl

모든 조언에 감사드립니다. 마침내 그것을 받았지만 확인하기 위해 며칠 동안 떠날 것입니다. 그러면 수정을 위해 수행 한 작업을 업데이트합니다
Karl


5

나는 마침내 그것을 작동시켰다! 이것의 목표는 도메인 시간 설정을 시작할 때 시작하는 사람들을 돕는 것입니다.

이 예에서는 모든 서버, 기본 도메인 컨트롤러 (PDC), 기타 도메인 컨트롤러 (DC) 및 기타 서버가 Windows 2008 R2를 실행하고 Hyper-V로 가상화됩니다.

먼저 Hyper-V 내의 가상 머신에서 '시간 동기화 통합 서비스'를 사용하지 않도록 설정하는 대신 먼저 가상 DC 내에서 Windows 시간 서비스 (w32tm 서비스)를 조작해야합니다. VM이 다시 시작되면 문제가 발생하므로 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

문제 : 상태 또는 소스 쿼리를 실행하면 변경 후 1 분 또는 2 분을 지정하면 로컬 CMOS 클럭 을 보지 말고 VM IC 시간 동기화 공급자 를 소스 로 사용하지 않아야 합니다.

성공하면 PDC는 설정 한 외부 사이트를 읽고 다른 서버는 PDC를 소스로 말해야합니다

희망이 사람들에게 행운을 빕니다!


두 가지 더 : PDPO에서 NTP 시간을 구성하려면 GPO를 사용하십시오. 이는 PDCE 역할이 이동하면 자동으로 구성됨을 의미합니다. www.sysadminlab.net/windows/configuring-ntp-on-windows-using-gpo.
Trix

NTP 서비스에서 플래그를 설정하려면 0x8 사용을 고려하십시오. 이는 하드웨어 클럭과 동기화되는 신뢰할 수있는 시간 소스임을 의미합니다. "특수 시간 간격"에 0x1을 사용 하지 않는 것도 고려 하십시오. 지정된 간격으로 시계를 동기화하지 않으면 요즘에는 필요하지 않습니다. 부팅 후 DC가 곧바로 시간을 얻지 못하면 (예 : 네트워크가 준비되지 않음) 전체 간격을 기다립니다. 또는 0x1 / 0x9를 사용하는 경우 0xa-폴백 소스로 다른 소스를 설정하고 기본 소스가 응답하지 않으면 즉시 쿼리됩니다.
Trix

1

내가 제안 할게:

  • HyperV 호스트와 게스트 VM 간, 특히 DC의 시간 동기화를 사용하지 않습니다. PDC 역할 소유자는 몇 가지 유용한 시간 소스에서 NTP를 통해 업데이트해야합니다. 호스트 클럭도 NTP를 통해 업데이트 할 수 있지만 PDC가 다른 DC 및 구성원 서버의 "마스터"가되기를 원합니다. (적어도 VMwre에서는 HyperV와 동일하다고 가정합니다)
  • 아웃 바운드 트래픽을 위해 UDP 포트 123이 열려 있는지 확인하십시오.
  • NTP 서버의 FQDN을 확인할 수 있습니다 (PING 할 수 있습니까?).
  • 다른 모든 DC 및 구성원 시스템은 자동으로 업데이트되어야합니다.

time.windows.com 또는 time.microsoft.com 만 사용하지 말고 * .pool.ntp.org 서버 중 하나를 사용하십시오. north-america.pool.ntp.org 또는 ca.north-america.pool.ntp.org를 사용합니다. 당신은 확인할 수 있습니다 http://www.pool.ntp.org/을 닫기에 서버를 찾을 수 있습니다.

그런 다음 다음과 같이 실행하십시오.

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

(원하는 NTP 서버를 추가하십시오. 캐나다에서는 time.nrc.ca도 사용합니다)

뒤에 :

net stop w32time
net start w32time

다음을 통해 피어를 확인할 수 있습니다.

w32tm /query /peers

시스템 로그를 확인하여 업데이트 중인지 확인하십시오. 시계를 1 분간 미리 설정하고 w32time 서비스를 다시 시작하면 30 초 이내에 업데이트됩니다. [AD 도메인 내에서 5 분 미만의 시간 왜곡 허용]


0

다른 사람들이 추천했듯이 호스트에서 게스트로 하드웨어 시간 동기화가 필요하지 않습니다. 또한 포리스트 루트 PDC 에뮬레이터 역할을 담당하는 도메인 컨트롤러에서만 외부 NTP 서버와 동기화해야합니다. 포리스트 루트 PDC 에뮬레이터 역할 도메인 컨트롤러가 동기화되지 않으면이를 사용하는 DC에 문제가있는 것입니다.

다음 핫픽스를 시도 할 수도 있습니다.

Windows Server 2008 또는 Windows Server 2008 R2에서 W32Time 서비스가 성공적으로 시작된 경우에도 시간 동기화가 수행되지 않습니다

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

w32tm에 / verbose 플래그를 사용하면 더 도움이 될 수 있습니다.

w32tm /query /status /verbose /computer:dcname

추가 정보:

https://technet.microsoft.com/en-us/library/virtual_active_directory_domain_controller_virtualization_hyperv%28WS.10%29.aspx

"도메인 컨트롤러로 구성된 가상 시스템의 경우 도메인 컨트롤러 역할을하는 호스트 운영 체제와 게스트 운영 체제 간의 시간 동기화를 비활성화하는 것이 좋습니다. 이렇게하면 게스트 도메인 컨트롤러가 도메인 계층의 시간을 동기화 할 수 있습니다."

"Hyper-V 시간 동기화 공급자를 비활성화하려면 VM을 종료하고 Integration Services에서 시간 동기화 확인란을 선택 취소하십시오."

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.