web-dev-qa-db-fra.com

Synchronisation horaire Hyper-V pour VM

Nous avons 2 serveurs physiques hyper-V exécutant 8 VM entre eux, chaque serveur physique a un contrôleur de domaine sur lui fonctionnant dans un VM et tous les serveurs sont 2008R2

Le VM PDC est réglé sur NTP et pour se synchroniser avec time.Microsoft.com et le reste, y compris les serveurs physiques) sont NT5DS. Ce Main VM PDC détient définitivement le FSMO et est UDP 123 est actif)

quand je lance w32tm/query/status

Je reçois VM IC Time Synchronization Provider sur les deux VM DCs, je sais que cela signifie la synchronisation avec l'hôte.

Quand je lance w32tm/resync/rediscover

J'ai obtenu "n'a pas resynchronisé car aucune donnée de temps n'était disponible" et un ID d'événement 134 dans les journaux des idées à ce sujet?

J'ai également regardé les journaux et j'ai eu les événements 144 et 12

J'ai suivi les détails de MS KB sur la configuration d'une source de temps externe et effectué toutes les modifications du registre, mais je pense que le DNS m'obtient?

Mais lorsque je modifie l'heure sur l'une des machines physiques, c'est à partir de cette heure que l'heure est définie. Peut-être que si je les désinscris tous et que je m'inscris et les mets à jour et les synchronise, mais je crains que cela ne crée un plus gros problème!

J'essaie de laisser la synchronisation de l'heure entre le VM et l'hôte Hyper-V activé car je pense que c'est la meilleure pratique d'après ce que j'ai lu.

Merci de votre aide



Je l'ai enfin fait fonctionner! L'objectif est d'aider les personnes qui commencent au début de la définition de l'heure des domaines.

Dans cet exemple, tous les serveurs, contrôleur de domaine principal (PDC), autres contrôleurs de domaine (DC) et autres serveurs exécutent Windows 2008 R2 et sont virtualisés avec Hyper-V.

Tout d'abord, vous allez lire pour désactiver le 'Time Synchronization Integration Service' sur n'importe quelle machine virtuelle dans Hyper-V, mais à la place, vous devez manipuler le service de temps Windows (service w32tm) à partir du contrôleur de domaine virtuel, vous ne devez pas le désactiver car lorsqu'un VM redémarre cela causera des problèmes, cela devrait être fait avec w32tm. http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/11/19/time -synchronization-in-hyper-v.aspx

Vous devrez découvrir quel serveur est le PDC et exécuter les rôles FSMO. Exécutez ceci: netdom query fsmo Le résultat devrait être votre PDC et c'est là que vous effectuez la plupart de vos modifications.

Assurez-vous que dans le pare-feu il y a une règle "Outbound" sur UDP123 et que le programme est% SystemRoot%\System32\w32tm.exe, accédez simplement au répertoire Windows et trouvez l'exe pour le temps

C'est là que les modifications du registre descendent! HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time

Assurez-vous que le PDC sous config dans l'adresse de registre ci-dessus est défini sur NTP pour "type" et tous les autres serveurs sont NT5DS, cela signifie NTP est le papa! La meilleure pratique ici est d'avoir le PDC chercher extérieurement le temps et tout se synchroniser avec lui).

Exécutez cela sur tous les contrôleurs de domaine (y compris PDC), cela désactivera partiellement le temps de Windows afin qu'il ne regarde pas la machine hôte pendant un certain temps, ce qui est important car nous sommes virtualisés. reg add HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\VMICTimeProvider/v Enabled/t reg_dword/d 0

Vous pouvez aller sur le site ntp.org http://support.ntp.org/bin/view/Servers/WebHome pour trouver un serveur le plus proche de vous pour synchroniser votre temps externe. Je recommande de ne pas utiliser Microsoft car ils sont très utilisés et peuvent glisser à cause de cela.

La commande ci-dessous définira le PDC pour regarder en externe mais aussi vérifier les paramètres de registre tels que définis ici pour synchroniser en externe (vous devez faire les deux) http://support.Microsoft.com/ko/816042

Exécutez ceci sur PDC w32tm/config /manualpeerlist:´0.pool.ntp.org,0x1 ”/ syncfromflags: MANUEL/fiable: oui w32tm/config/update w32tm/resync w32tm/resync/redécouvrir

Exécutez ces 2 commandes à tout moment sur n'importe quel serveur pour voir leur source et lors de leur dernière mise à jour, celles-ci seront utilisées tout au long de cet exercice pour vous assurer que votre PDC et les autres serveurs obtiennent l'heure du bon côté) placez w32tm/query/status w32tm/query/source

Ensuite, exécutez ceci sur tous DC sauf le PDC, cela leur fera regarder le PDC pour le temps et le resynchroniser avec w32tm/config/syncfromflags: DOMHIER/mettre à jour net stop w32time net start w32time w32tm/resync/force

Problèmes: lorsque vous exécutez la requête État ou Source, accordez-leur une minute ou 2 après les modifications, vous ne devez pas regarder l'horloge locale CMOS et vous ne devez pas utiliser le fournisseur de synchronisation horaire vm ic comme source non plus.

En cas de succès, le PDC doit lire le site externe que vous avez défini et les autres serveurs doivent indiquer le PDC comme source)

J'espère que cela aide les gens à porter chance!

13
Karl

Je l'ai enfin fait fonctionner! L'objectif est d'aider les personnes qui commencent au début de la définition de l'heure des domaines.

Dans cet exemple, tous les serveurs, contrôleur de domaine principal (PDC), autres contrôleurs de domaine (DC) et autres serveurs exécutent Windows 2008 R2 et sont virtualisés avec Hyper-V.

Tout d'abord, vous allez lire pour désactiver le 'Time Synchronization Integration Service' sur n'importe quelle machine virtuelle dans Hyper-V, mais à la place, vous devez manipuler le service de temps Windows (service w32tm) à partir du contrôleur de domaine virtuel, vous ne devez pas le désactiver car lorsqu'un VM redémarre cela causera des problèmes, cela devrait être fait avec w32tm. MSDN info

Vous devrez découvrir quel serveur est le PDC et exécuter les rôles FSMO. Exécutez ceci: netdom query fsmo Le résultat devrait être votre PDC et c'est là que vous effectuez la plupart de vos modifications.

Assurez-vous que dans le pare-feu il y a une règle "Outbound" sur UDP123 et que le programme est % SystemRoot%\System32\w32tm.exe il suffit de parcourir le répertoire Windows et trouver l'exe pour le temps

C'est là que les modifications du registre descendent!

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\W32Time

Assurez-vous que le PDC sous config dans l'adresse de registre ci-dessus est défini sur [~ # ~] ntp [~ # ~] pour " Type " et tous les autres serveurs sont NT5DS, cela signifie NTP est le papa! Meilleure pratique ici est d'avoir le PDC chercher extérieurement le temps et tout se synchroniser avec lui.

Exécutez cela sur tous les contrôleurs de domaine (y compris PDC), cela désactivera partiellement le temps Windows afin qu'il ne regarde pas la machine hôte pendant un certain temps, ce qui est important car nous sommes virtuels.

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

Vous pouvez aller sur le site ntp.org pour trouver un serveur le plus proche de vous pour synchroniser votre temps externe. Je recommande de ne pas utiliser Microsoft car ils sont très utilisés et peuvent glisser à cause de cela.

La commande ci-dessous définira le PDC pour regarder en externe mais également vérifier les paramètres de registre tels que définis ici pour synchroniser en externe (vous devez faire les deux) MS KB 816042

Exécutez ceci sur [~ # ~] pdc [~ # ~]

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

Exécutez ces 2 commandes à tout moment sur n'importe quel serveur pour voir leur source et lors de leur dernière mise à jour, celles-ci seront utilisées tout au long de cet exercice pour vous assurer que votre PDC et les autres serveurs obtiennent l'heure du bon côté) endroit

w32tm /query /status  
w32tm /query /source

Ensuite, exécutez ceci sur tous DC sauf le PDC , cela leur fera regarder le PDC pour le temps et y resynchroniser

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

Problèmes : lorsque vous exécutez la requête Statut ou Source, donnez-leur une minute ou 2 après les modifications, vous ne devriez pas regarder le Local = CMOS Clock et vous ne devez pas non plus utiliser VM IC Time Synchronization Provider comme source.

En cas de succès, le PDC doit lire le site externe que vous avez défini et les autres serveurs doivent indiquer le PDC comme source)

J'espère que cela aide les gens à porter chance!

5
Karl

@PSaul est généralement correct. Vous ne souhaitez pas utiliser time.Microsoft ou time.windows.com comme source de temps pour votre contrôleur de domaine qui tient le rôle PDC Emulator FSMO. Par défaut, ils sont fortement utilisés, souvent lents en raison du manque de localité et parfois indisponibles. Choisissez a = NTP pool le plus proche de vous.

Cependant, ne désactivez pas l'intégration de synchronisation de l'heure Hyper-V. Il est requis pour certaines fonctions comme la réinitialisation de l'heure après un redémarrage ou lorsque la machine virtuelle revient d'un état enregistré. Ce que vous voulez faire est de dire à vos contrôleurs de domaine virtualisés d'ignorer leur hôte Hyper-V comme source de temps.

Cela peut être fait comme suit:

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

Cette commande supprime la source de temps Hyper-V en tant que source possible pour W32Time.

w32tm /config /syncfromflags:DOMHIER /update

Dites maintenant à W32Time d'aller chercher la meilleure source de temps possible dans la hiérarchie de domaine. Si vous souhaitez utiliser une source externe pour les deux contrôleurs de domaine, vous pouvez la configurer pour ce faire en utilisant les commandes @PSaul publiées ou depuis ici . De manière générale, le contrôleur de domaine détenant le rôle d'émulateur PDC doit se synchroniser à partir de la source externe et vos autres contrôleurs de domaine doivent se synchroniser à partir de celle-ci.

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

Redémarrez le service de temps et forcez une resynchronisation.

w32tm /query /source

Enfin, vous devez confirmer que vos contrôleurs de domaine ont la bonne source de temps.

Voir l'excellent article de blog de Ben Armstrong pour plus de détails.

12
user62491

Je voudrais suggerer:

  • NE PAS activer la synchronisation horaire entre l'hôte HyperV et les machines virtuelles invitées - en particulier pour les contrôleurs de domaine. Le titulaire de rôle PDC doit se mettre à jour via NTP à partir de plusieurs sources de bon temps. L'horloge de l'hôte peut être mise à jour via NTP également mais vous voulez que le PDC soit le "maître" pour les autres DC et serveurs membres. (au moins avec VMwre, je suppose la même chose avec HyperV)
  • Assurez-vous que le port UDP 123 est ouvert pour le trafic sortant.
  • Que vous pouvez résoudre le FQDN des serveurs NTP (pouvez-vous les PING?)
  • Tous les autres contrôleurs de domaine et machines membres doivent se mettre à jour automatiquement.

N'utilisez PAS SEULEMENT time.windows.com ou time.Microsoft.com, utilisez l'un des serveurs * .pool.ntp.org. J'utilise north-america.pool.ntp.org ou ca.north-america.pool.ntp.org - plus c'est proche, mieux c'est. Vous pouvez vérifier: http://www.pool.ntp.org/ pour trouver des serveurs près de chez vous.

Exécutez ensuite quelque chose comme:

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

(Ajoutez ce que vous voulez NTP serveurs que vous voulez. Au Canada, j'utilise également time.nrc.ca))

Suivi par:

net stop w32time
net start w32time

Vous pouvez vérifier les pairs avec:

w32tm /query /peers

Vérifiez le journal système pour voir s'il est en cours de mise à jour. Vous devriez être en mesure de régler l'horloge avant 1 minute, de redémarrer le service w32time et il se mettra à jour dans les 30 secondes. [un décalage temporel inférieur à 5 min est acceptable dans un domaine AD]

1
PSaul

Comme recommandé par d'autres, il n'est certainement pas possible de synchroniser l'heure matérielle de l'hôte à l'invité. Vous devez également synchroniser avec les serveurs externes NTP uniquement à partir du contrôleur de domaine qui détient la racine de forêt PDC rôle d'émulateur. Si votre racine de forêt PDC ne se synchronise pas, les contrôleurs de domaine qui en dépendent vont avoir des problèmes.

Vous pouvez également essayer le correctif suivant:

La synchronisation de l'heure n'est pas effectuée même si le service W32Time est correctement démarré dans Windows Server 2008 ou Windows Server 2008 R2

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

Vous pouvez trouver cela plus utile si vous utilisez l'indicateur/verbose pour w32tm:

w32tm /query /status /verbose /computer:dcname

Information additionnelle:

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

"Pour les machines virtuelles configurées en tant que contrôleurs de domaine, il est recommandé de désactiver la synchronisation de l'heure entre le système hôte et le système d'exploitation invité agissant en tant que contrôleur de domaine. Cela permet à votre contrôleur de domaine invité de se synchroniser temps de la hiérarchie du domaine. "

"Pour désactiver le fournisseur de synchronisation horaire Hyper-V, fermez la VM et décochez la case Synchronisation horaire sous Integration Services."

0
Greg Askew