Dérive de l'heure de l'hôte VMware

10

Comment s'assurer que les hôtes Linux, fonctionnant sur vmware infrastruction 3 ou vmware 3 esxi restent synchronisés avec le serveur ntp. J'ai constaté qu'un invité Linux fonctionnant sous esx ou esxi a tendance à avoir la dérive de l'horloge à l'avenir.

Comment s'assurer que l'heure reste synchronisée avec le serveur de temps? Dois-je déployer des outils VMware sur l'hôte Linux? puis synchroniser l'hôte avec le serveur ntp, l'invité avec l'hôte et avec le serveur ntp?

biosFF
la source

Réponses:

6

C'est un problème que j'ai rencontré et parfois les dérives sont si importantes que le service ntp a refusé de se synchroniser.

J'ai constaté que si vous installez les outils vmware sur l'invité, il synchronisera automatiquement son heure avec celle de l'hôte.

tomdeb
la source
J'ai également constaté que je devais ajouter clocksource = pit à la ligne de démarrage du noyau grub.
Scott
9

Réponse courte: paramètres de noyau appropriés et configuration ntpd

Réponse longue: VMware a un document de bonnes pratiques qui est assez bon à ce sujet, http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1006427

Notez qu'il est quelque peu contraire à certaines informations de ce fil. Par exemple, il est spécifiquement recommandé de ne plus utiliser la fonction de synchronisation horaire de vmware-tools.

cagenut
la source
Différentes installations hôte / invité nécessitent une combinaison différente de solutions, je le crains. J'ai travaillé avec une boîte virtuelle dans un autre travail avec lequel nous ne pouvions tout simplement pas résoudre le problème de synchronisation temporelle, quoi que nous ayons essayé.
staticsan
4

Oui, l'installation de vmware-tools pour l'outil de synchronisation d'horloge est importante, mais peut-être pas suffisante.

Ce qui a fonctionné pour moi, c'est l'ajout du paramètre de démarrage du noyau:

clock=pit notsc

Cela définit la source d'horloge sur quelque chose que vmware garde à jour et désactive le compteur de synchronisation horaire.

Peut-être sans rapport, mais sur les noyaux assez récents, j'ajoute toujours:

divider=10

ce qui réduit considérablement l'utilisation du processeur invité.

Les deux sont également utiles avec ou sans que les outils vmware soient installés, et aident à garder les horloges plus étroitement synchronisées (plutôt qu'une lutte constante entre une horloge à dérive rapide et le service de synchronisation d'horloge des outils vmware).

jmanning2k
la source
3

Oui, vous devez installer vmware-tools sur le client VM. Ensuite, vous pouvez définir la case "synchroniser l'heure de l'invité avec l'hôte" sur l'écran Options de la machine virtuelle.

David Mackintosh
la source
1

Il y a une réponse qui est déjà sélectionnée (et c'est la meilleure réponse, car les outils vmware vous offrent de nombreux autres avantages), mais une autre option est également d'exécuter des commandes ntpdate régulières dans le cron. Cela corrige votre horloge, mais ne gère pas la dérive de l'horloge, mais fonctionne à la rigueur.

Matt Simmons
la source
1

Soyez prudent avec ntpdate ou rdate, ce n'est généralement pas une bonne idée de déplacer l'heure à la dure, car de nombreuses applications serveur dépendent d'une heure continue.

Dovecot par exemple, va juste se fermer s'il détecte un grand décalage dans le temps.

Sven
la source
En outre, n'utilisez jamais ntpdate conjointement avec la propre fonction de synchronisation de l'heure de VMWare. Vous pouvez vous retrouver avec VMWare établissant une connexion à base de dérive importante après que ntpdate ait mis à jour l'horloge, ce qui rend les choses aussi inexactes qu'elles ne l'étaient dans l'autre sens.
David Spillett
1

Si vous utilisez un noyau "tickless" (2.6.22+ est par défaut IIRC) dans les invités, la dérive de l'horloge est plus facile à gérer. J'ai trouvé que l'utilisation de NTP est plus précise que l'outil propre de VMWare mais je n'ai pas testé scientifiquement cela.

Pour arrêter NTP simplement abandonner si une charge lourde ou un autre problème fait dériver l'horloge trop loin (cela est beaucoup plus rare avec les noyaux plus récents mais peut toujours arriver) assurez-vous d'avoir la ligne "tinker panic 0" ligne au / près du sommet de votre ntp.conf.

Pour être prévenant, synchronisez l'horloge de vos machines hôtes avec les horloges publiques et les machines virtuelles avec l'hôte - toutes vos machines virtuelles ne contactent pas séparément les serveurs de temps publics.

Aussi: n'utilisez pas la synchronisation d'horloge de VMWare en même temps que NTPD. Les deux se déclencheront, laissant l'horloge de votre machine virtuelle dans un état indéfini et peu fiable.

David Spillett
la source
0

Si vous installez le démon NTP sur votre invité Linux en tant que client, il vérifiera périodiquement et s'assurera que vos horloges ne dérivent pas à long terme. Vous n'avez pas besoin de faire de synchronisation fantaisie hôte-invité, car le serveur est juste .. sur le net. :)

joshk0
la source
1
NTP dans une machine virtuelle ne résoudra probablement pas ce problème. Le problème avec l'exécution en tant que VM est que vous n'obtenez pas nécessairement un nombre constant de ticks par cpu-seconde. Dans ces conditions, ntp abandonnera généralement les tentatives de synchronisation assez rapidement. Vous devez soit suivre la route vmware-tools, soit faire un 'rdate -s $ SERVER' brut de cron pour faire tourner l'horloge.
David Mackintosh
0

Cela pourrait être utile ..

Paramètre de démarrage du noyau invité:

 clock=pit
rkthkr
la source