Dans un monde parfait, vos invités VM garderaient un temps parfait, ou au moins aussi parfait que l'hôte le leur fournit. Malheureusement, nous ne vivons pas dans un monde parfait.
Sur la base de mon expérience avec pratiquement tous les hyperviseurs connus de l'homme, je lance toujours un client NTP sur des machines virtuelles, sans exception. Ma configuration habituelle est ntpd avec l'option -g, ou ntpdate commençant juste avant pour les anciens systèmes, pour faire avancer l'horloge (qui peut être loin d'être synchronisée au démarrage du système).
KVM a une configuration presque parfaite, avec son horloge en temps réel paravirtualisée ; les invités avec le pilote approprié (tout Linux récent, au moins) garderont le temps ainsi que l'hôte. Mais les choses tournent mal ici: par exemple, l'hôte peut ne pas exécuter NTP, l'hôte peut avoir un fuseau horaire incorrect, l'horloge de l'hôte peut être tout simplement fausse, etc.
VMware et Hyper-V se situent au milieu. Chacun a un outil destiné à être exécuté sur l'invité qui synchronise l'horloge avec l'hôte périodiquement, mais là encore, il est vulnérable à tout problème existant avec l'horloge de l'hôte.
Les invités sur mon serveur Hyper-V de test ont également présenté un comportement étrange: même avec les services d'intégration, l'horloge invité dériverait plus vite que 500 ppm, empêchant ntpd de fonctionner ( il considère l'horloge comme folle si elle dérive plus vite que cela ). J'ai dû passer ces invités en chrony , ce qui permet d'ajuster cette valeur .
Xen est le pire à cet égard; il n'a absolument aucune synchronisation et l'exécution de NTP dans les invités est à peu près nécessaire. (On me dit que les versions très récentes de Xen ont une sorte de synchronisation mais ne l'ont pas encore personnellement utilisé.)
Les choses empirent simplement si l'hyperviseur hôte n'est pas sous votre contrôle, comme un cloud public. Vous êtes à la merci du fournisseur en ce qui concerne l'horloge hôte, et s'il ne fait pas preuve de diligence pour la maintenir synchronisée, vous perdez.
Avec tout cela, exécuter des clients NTP dans vos machines virtuelles est à peu près nécessaire si vous avez besoin d'une horloge semi-précise. NB: Si vous exécutez des machines virtuelles Windows, procurez-vous un client NTP tiers qui ajuste l'horloge en continu; la mauvaise excuse pour un client fourni avec Windows ne règle l'horloge qu'une fois par semaine , ce qui est tout à fait ridicule.