Comment réactiver le fournisseur de synchronisation horaire VM IC pour un client Hyper-V ?

Nous avons un réseau de domaine Windows avec 2 hôtes Hyper-V. Sur ces hôtes, il y a plusieurs VM clientes Hyper-V. Deux de ces clients sont des contrôleurs de domaine.

Les hôtes Hyper-V sont tous deux des clients de ce domaine. Cela amène un problème courant de synchronisation horaire, car les hôtes vont essayer de synchroniser leur heure avec l’émulateur PDC et les contrôleurs de domaine synchronisent leur heure avec l’hôte Hyper-V.

En travaillant sur ce problème, je n’avais pas réalisé que le pare-feu du réseau n’autorise pas le trafic sortant sur le port 123. Ce qui a conduit à plusieurs tentatives de reconfiguration (échouées).

Changement de la source horaire

Une fois le problème compris, j’ai configuré les hôtes pour se synchroniser avec une source horaire fiable sur site et je voulais que les contrôleurs de domaine utilisent simplement à nouveau le fournisseur de synchronisation horaire VM IC (afin qu’ils synchronisent l’heure avec l’hôte).

Mais l’un des contrôleurs de domaine refuse de basculer vers le fournisseur de synchronisation horaire VM IC, il utilise toujours la source Local CMS Clock (ce qui, d’après ce que je comprends, n’est pas souhaitable).

Ce qui a échoué jusqu’à présent ?

J’ai essayé de désactiver le composant de synchronisation horaire pour cette VM dans le Gestionnaire Hyper-V, puis de redémarrer la machine, de redémarrer le service w32time plusieurs fois, de réactiver le composant de synchronisation horaire. Cela n’a pas fonctionné. J’ai aussi essayé d’autres permutations de ce processus sans succès.

J’ai essayé de modifier les valeurs Enabled dans le registre (HKLM\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders) pour les différents fournisseurs de temps.

J’ai réinstallé le package d’intégration Hyper-V dans le client.

La meilleure pratique pour la synchronisation horaire sur Hyper-V est :

Pour les contrôleurs de domaine : Désactivez la synchronisation horaire Hyper-V à l’intérieur de l’invité, mais laissez la synchronisation horaire Hyper-V activée dans la configuration de la machine virtuelle dans la console de gestion Hyper-V. De cette façon, Hyper-V règle l’horloge lorsque l’invité démarre ou reprend après une pause, mais pendant le fonctionnement normal, l’invité est responsable de sa propre horloge. Utilisez cette commande sur l’invité pour l’empêcher d’utiliser VM IC :

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

(Pour un contrôleur de domaine, il est important qu’il soit responsable de sa propre synchronisation horaire car AD a besoin de connaître la qualité du temps. Si l’invité gère l’horloge, il a accès à l’indicateur de qualité du temps réseau. Mais si Hyper-V gère l’horloge, alors l’invité voit l’horloge comme une horloge faisant autorité et suppose toujours qu’elle est correcte, même quand elle ne l’est pas.)

Pour tous les autres invités : Utilisez les outils d’invité Hyper-V pour synchroniser l’horloge. Si l’invité n’a pas les outils installés, utilisez alors l’horloge matérielle, que l’hyperviseur Hyper-V émulera.

Puisque dans votre cas vous avez modifié les paramètres de synchronisation horaire sur vos invités contrôleurs de domaine, je vous suggère de d’abord réinitialiser vos paramètres w32time, puis de réinstaller les outils d’invité, et enfin d’appliquer le paramètre de registre ci-dessus.