Sincronização de hora Hyper-V para o controlador de domínio VM

13

Temos 2 servidores físicos Hyper-V executando 8 VMs entre eles, cada servidor físico tem um controlador de domínio em execução em uma VM e todos os servidores são 2008R2

O VM PDC é definido como NTP e sincronizado com time.microsoft.com e o restante, incluindo os servidores físicos, é NT5DS. Este PDC da VM Principal detém definitivamente o FSMO e é o UDP 123 ativo

quando eu executo w32tm / query / status

Estou recebendo o VM IC Time Synchronization Provider em ambos os VMs, sei que isso significa sincronização com o host.

Quando eu executo w32tm / resync / redescubra

Recebi "não sincronizei novamente porque não havia dados de horário disponíveis" e um ID de evento 134 registra alguma ideia sobre isso?

Eu também examinei os logs e recebi o evento 144 & 12

Eu segui os detalhes do MS KB sobre a configuração de uma fonte de horário externa e fiz todas as alterações no registro, mas acho que o DNS está me recebendo?

Mas quando eu mudo a hora em uma das máquinas físicas, é onde a hora está sendo ajustada. Talvez se eu cancelar o registro de todos eles e se registrar e atualizar e sincronizar, mas tenho medo de criar um problema maior!

Estou tentando deixar a sincronização de horário entre a VM e o Host do Hyper-V ativado, pois acredito que isso seja a melhor prática do que eu li.

Obrigado pela sua ajuda

Eu finalmente consegui trabalhar! O objetivo disso é ajudar as pessoas que estão começando no início da configuração de um tempo de Domínios.

Neste exemplo, todos os Servidores, Controlador de Domínio Primário (PDC), outros Controladores de Domínio (DC) e outros servidores estão executando o Windows 2008 R2 e são virtualizados com o Hyper-V.

Antes de mais nada, você lerá para desabilitar o 'Serviço de Integração de Sincronização de Tempo' em qualquer máquina virtual do Hyper-V, mas deverá manipular o Serviço de Tempo do Windows (serviço w32tm) dentro do CD virtual. porque quando uma VM reinicia isso causará problemas, isso deve ser feito com o w32tm. link

Você precisará descobrir qual servidor é o PDC e executar as funções FSMO. Rode isto: Consulta netdom fsmo O resultado deve ser o seu PDC e é aqui que você faz a maioria das alterações.

Certifique-se no firewall há uma regra de "Saída" no UDP123 e o programa é% SystemRoot% \ System32 \ w32tm.exe apenas navegue até o diretório windows e encontre o exe para o tempo

Aqui é onde as alterações do registro vão cair! HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ W32Time

Certifique-se de que o PDC em config no endereço de registro acima esteja configurado como NTP para "type" e todos os outros servidores são NT5DS, isso significa que NTP é o pai! A melhor prática aqui é fazer com que o PDC procure externamente tempo e tudo seja sincronizado com ele.

Execute isso em todos os controladores de domínio (incluindo o PDC), ele desabilitará parcialmente o tempo do Windows para que ele não olhe para a máquina host por tempo, importante porque somos virtualizados. reg add HKLM \ SYSTEM \ CurrentControlSet \ Services \ W32Time \ TimeProviders \ VMICTimeProvider / v Ativado / t reg_dword / d 0

Você pode acessar o link do ntp.org site para encontrar um servidor mais próximo de você para sincronizar seu tempo externo. Eu recomendo não usar Microsoft como eles são muito usados e podem escapar por causa disso.

Abaixo o comando irá definir o PDC para olhar externamente, mas também verificar as configurações do registro, conforme definido aqui, para sincronizar externamente (você precisa fazer as duas coisas) link

Execute isso no PDC w32tm / config /manualpeerlist:atel0.pool.ntp.org,0x1 ”/ syncfromflags: MANUAL / confiável: sim w32tm / config / update w32tm / resync w32tm / resync / redescobrir

Execute esses dois comandos a qualquer momento em qualquer servidor para ver sua origem e quando eles foram atualizados pela última vez, eles serão usados ao longo deste exercício para garantir que o PDC e outros servidores estejam obtendo tempo no lugar certo w32tm / query / status w32tm / query / source

Em seguida, execute isso em todos os DC, exceto o PDC, ele fará com que eles olhem para o PDC para o tempo e resync para ele w32tm / config / syncfromflags: DOMHIER / update net stop w32time net start w32time w32tm / resync / force

Problemas: Quando você executa a consulta de Status ou Fonte, dê a eles um minuto ou 2 após as alterações, você não deve estar olhando para o Relógio CMOS Local e você não deve usar o provedor de sincronização de tempo VM como fonte.

Se for bem-sucedido, o PDC deve ler o site externo que você definiu e os outros servidores devem informar o PDC como origem

Espero que isso ajude as pessoas a boa sorte!

    
por Karl 11.03.2013 / 11:15

4 respostas

5

Eu finalmente consegui trabalhar! O objetivo disso é ajudar as pessoas que estão começando no início da configuração de um tempo de Domínios.

Neste exemplo, todos os Servidores, Controlador de Domínio Primário (PDC), outros Controladores de Domínio (DC) e outros servidores estão executando o Windows 2008 R2 e são virtualizados com o Hyper-V.

Antes de mais nada, você lerá para desabilitar o 'Serviço de Integração de Sincronização de Tempo' em qualquer máquina virtual do Hyper-V, mas deverá manipular o Serviço de Tempo do Windows (serviço w32tm) dentro do CD virtual. porque quando uma VM reinicia isso causará problemas, isso deve ser feito com o w32tm. Informações da MSDN

Você precisará descobrir qual servidor é o PDC e executar as funções FSMO. Execute o seguinte: netdom query fsmo O resultado deve ser o seu PDC e é aqui que você faz a maioria das alterações.

Certifique-se no firewall há uma regra de "Saída" no UDP123 e o programa é % SystemRoot% \ System32 \ w32tm.exe apenas navegue até o diretório windows e encontre o exe para o tempo p>

Aqui é onde as alterações do registro vão cair!

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time

Certifique-se de que o PDC em config no endereço de registro acima esteja configurado como NTP para “ Type “ e todos os outros servidores são NT5DS, isso significa que NTP é o pai! A melhor prática aqui é fazer com que o PDC procure externamente tempo e tudo seja sincronizado com ele.

Execute isso em todos os controladores de domínio (incluindo o PDC), ele desabilitará parcialmente o tempo do Windows para que ele não olhe para a máquina host por tempo, importante porque somos virtuais.

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

Você pode acessar o site ntp.org para encontrar um servidor mais próximo de você para sincronizar seu tempo externo. Eu recomendo não usar Microsoft como eles são muito usados e podem escapar por causa disso.

Abaixo, o comando definirá o PDC para exibir externamente, mas também verificará as configurações do registro definidas aqui para sincronizar externamente (você precisa fazer as duas coisas) MS KB 816042

Execute isso no PDC

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

Execute esses dois comandos a qualquer momento em qualquer servidor para ver sua origem e quando eles foram atualizados pela última vez, eles serão usados ao longo deste exercício para garantir que o PDC e outros servidores estejam obtendo tempo no lugar certo

w32tm /query /status  
w32tm /query /source

Em seguida, execute isto em todo o DC, exceto o PDC , ele fará com que eles olhem para o PDC por tempo e sincronizem novamente com ele

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

Problemas : Quando você executa a consulta de Status ou Fonte, dê a eles um minuto ou 2 após as alterações, você não deve estar olhando para o Relógio CMOS Local e você não deve estar usando VM IC Time Synchronization Provider como fonte.

Se for bem-sucedido, o PDC deve ler o site externo que você definiu e os outros servidores devem informar o PDC como origem

Espero que isso ajude as pessoas a boa sorte!

    
por 22.03.2013 / 21:31
12

O @Paul está basicamente correto. Você não deseja usar time.microsoft ou time.windows.com como sua fonte de tempo para o controlador de domínio que está mantendo a função FSMO do emulador de PDC. Como padrão, eles são muito usados, muitas vezes lentos devido à falta de localidade e às vezes indisponíveis. Escolha um pool de NTP que esteja mais próximo de você.

No entanto, não desativa a integração da Sincronização de Horário do Hyper-V. É necessário para determinadas funções, como redefinir o horário após uma reinicialização ou quando a máquina virtual retorna de um estado salvo. O que você quer fazer é dizer aos seus controladores de domínio virtualizados que ignorem o host do Hyper-V como fonte de tempo.

Isso pode ser feito da seguinte maneira:

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

Este comando remove a fonte de tempo do Hyper-V como uma possível fonte para o W32Time.

w32tm /config /syncfromflags:DOMHIER /update

Agora diga ao W32Time para pesquisar a melhor fonte de tempo possível na hierarquia de domínio. Se você quiser usar uma fonte externa para ambos os controladores de domínio, poderá configurá-lo para fazer isso usando os comandos @PSaul postados ou em aqui . De um modo geral, o Controlador de Domínio que detém a função Emulador PDC deve sincronizar a partir da fonte externa e seus outros Controladores de Domínio devem sincronizar a partir dele.

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

Reinicie o serviço de tempo e force a ressincronização.

w32tm /query /source

Por fim, você deve confirmar que seus controladores de domínio têm a fonte de horário correta.

Veja a excelente postagem de blog de Ben Armstrong para mais detalhes.

    
por 13.03.2013 / 18:07
1

Eu sugeriria:

  • NÃO ativando a sincronização de horário entre o host HyperV e as VMs convidadas - especialmente para DCs. O detentor da função do PDC deve atualizar via NTP várias fontes de bom tempo. O relógio do Host pode atualizar via NTP como bem, mas você quer que o PDC seja o "mestre" para outros DCs e membros servidores. (pelo menos com VMwre, eu assumo o mesmo com o HyperV)
  • Verifique se você tem a porta UDP 123 aberta para o tráfego de saída.
  • Que você pode resolver o FQDN dos servidores NTP (pode você PING eles?)
  • Todos os outros DCs e máquinas membros devem ser atualizados automaticamente.

Não use APENAS time.windows.com ou time.microsoft.com, use um dos servidores * .pool.ntp.org. Eu uso north-america.pool.ntp.org ou ca.north-america.pool.ntp.org - quanto mais próximo melhor. Você pode verificar: link para encontrar servidores próximos a você.

Em seguida, execute algo como:

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

(Adicione em qualquer servidor NTP que você quiser. No Canadá eu uso time.nrc.ca também)

Seguido por:

net stop w32time
net start w32time

Você pode verificar os colegas com:

w32tm /query /peers

Verifique o log do sistema para ver se ele está sendo atualizado. Você deve ser capaz de acertar o relógio 1min, reiniciar o serviço w32time e ele será atualizado em 30segundos. [menos de 5 minutos de inclinação é aceitável dentro de um domínio AD]

    
por 13.03.2013 / 17:49
0

Como recomendado por outros, definitivamente não há sincronização de tempo de hardware do host para o convidado. Você também deve sincronizar com servidores NTP externos somente do controlador de domínio que contém a função de emulador PDC raiz da floresta. Se o controlador de domínio da função de emulador PDC raiz da floresta não estiver sendo sincronizado, os DCs que dependem dele terão problemas.

Você também pode tentar o seguinte hotfix:

A sincronização de horário não é executada, embora o serviço W32Time tenha sido iniciado com êxito no Windows Server 2008 ou no Windows Server 2008 R2

link

Você pode achar mais útil usar o sinalizador / verbose para w32tm:

w32tm /query /status /verbose /computer:dcname

Informações adicionais:

link

"Para máquinas virtuais configuradas como controladores de domínio, é recomendável desabilitar a sincronização de horário entre o sistema host e o sistema operacional convidado atuando como um controlador de domínio. Isso permite que o controlador de domínio convidado sincronize a hora a partir do hierarquia de domínios. "

"Para desabilitar o provedor de sincronização de horário do Hyper-V, desligue a VM e desmarque a caixa de seleção Sincronização de hora em Serviços de Integração."

    
por 13.03.2013 / 18:09