Question

L'horloge de ma machine virtuelle dérive de manière significative. Il existe de la documentation à ce sujet, mais rien ne semble fonctionner très bien.

N'importe qui a des suggestions, des choses qui ont bien fonctionné pour lui, ...

Une mise à jour supposée régulière via ntp n'est pas une bonne solution.

Était-ce utile?

La solution

vmware possède une très bonne documentation PDF à ce sujet. problème.

En gros, l'hôte balaie les ticks remis à vos invités comme il peut. N'exécutez pas l'exécution de NTP, de minuteries ou de fichiers indésirables de ce type. Il suffit d’installer vmware-guestd et de laisser l’hôte piger vos ticks. Si vous perdez toujours les tiques, toute autre solution aura également une dérive majeure.

Si vous le pouvez, utilisez un système d'exploitation invité dont le taux de ticks est faible. Les nouvelles versions de Linux sont livrées avec des ticks à 1000Hz, mais il n’était utilisé qu’à 100Hz. Cela semble plus facile pour l'hôte à livrer. Une reconstruction du noyau est généralement nécessaire pour modifier la valeur HZ.

Autres conseils

  1. Lisez attentivement la documentation de vmware avant d’écouter qui que ce soit. Nous courons ESX5.

Parmi les meilleures pratiques de chronométrage pour les invités Linux, on peut citer: Réf. http://kb.vmware.com/selfservice /microsites/search.do?language=en_US&cmd=displayKC&externalId=1006427

Recommandations NTP Remarque: VMware vous recommande d'utiliser NTP au lieu de la synchronisation périodique de VMware Tools. NTP est une norme de l'industrie et garantit la conservation de l'heure dans votre invité. Vous devrez peut-être ouvrir le pare-feu (UDP 123) pour autoriser le trafic NTP.

Ceci est un exemple de fichier /etc/ntp.conf:

tinker panic 0
restrict 127.0.0.1
restrict default kod nomodify notrap
server 0.vmware.pool.ntp.org
server 1.vmware.pool.ntp.org
server 2.vmware.pool.ntp.org
driftfile /var/lib/ntp/drift

Ceci est un exemple (spécifique à RedHat) / etc / ntp / step-tickers:

0.vmware.pool.ntp.org
1.vmware.pool.ntp.org

La directive de configuration tinker panic 0 indique à NTP de ne pas abandonner s’il voit un grand saut dans le temps. Ceci est important pour faire face à de grandes dérives temporelles et pour que les machines virtuelles reprennent leur état suspendu.

Remarque: la directive tinker panic 0 doit figurer en haut du fichier ntp.conf.

Il est également important de ne pas utiliser l'horloge locale comme source de temps, souvent appelée horloge locale indisciplinée. NTP a tendance à y revenir de préférence aux serveurs distants lorsque le décalage temporel est important.

Voici un exemple de configuration de ce type:

server 127.127.1.0
fudge 127.127.1.0 stratum 10

Mettez en commentaire les deux lignes.

Après avoir modifié la configuration NTP, le démon NTP doit être redémarré. Consultez la documentation du fournisseur de votre système d’exploitation.

Juste pour ajouter quelques données sur la raison pour laquelle NTPD n'est pas une bonne solution. NTPD est un démon qui tente de compenser la dérive de l'horloge locale. si l'horloge interne " s'éloigne de X secondes de la journée, au lieu de sauter en avant / arrière comme une commande forcée, comme dans "ntpdate". NTPD essaie d’ajouter ou de supprimer des cycles à l’horloge afin que, normalement, en 15 minutes, l’horloge fonctionne suffisamment avec précision et que la compensation surmonte le nombre de secondes que le serveur gagne / perd au cours d’une journée. Cela présente l’avantage de ne pas répéter l’heure de la journée, ce qui est un MUST pour les systèmes transactionnels.

Mais pour pouvoir le faire, le NTPD exige que l’horloge locale fasse un travail relativement bon, ce qui signifie normalement que l’horloge locale ne se séparera pas de plus de 42 secondes par jour (plus ou moins; je ne suis pas sûr du nombre exact). C'est normalement un problème dans les machines virtuelles, car l'horloge est contrôlée par logiciel. Ainsi, si l'hôte est trop surchargé, vous pouvez voir que l'horloge du CLIENT fonctionnera plus lentement et si ce n'est pas le cas, l'horloge pourrait également fonctionner aussi. vite. Le problème ici pour NTPD est que l’horloge locale n’est pas fiable et n’a pas une dérive constante dans le temps; il peut être supérieur ou inférieur en fonction de la surcharge du système HOST.

Dans ce cas, il est donc préférable d’installer les outils client, comme cela a été suggéré, et de synchroniser l’horloge du client avec l’horloge de l’organisateur hôte (normalement appelée "horloge murale")

.

Il n’ya pas de réponse définitive car il existe plusieurs méthodes, chacune ayant ses avantages et ses inconvénients. Ce que vous devez choisir dépend de vos tâches, de la charge du serveur, du système d’exploitation, etc.

Lisez vmware_timekeeping.pdf pour bien comprendre le problème.

Des recettes rapides pour Linux peuvent être trouvées dans un article de la base de connaissances séparé

.

L'installation des compléments de la machine virtuelle (outils) ne synchronise-t-elle pas l'horloge entre le système d'exploitation invité et hôte?

  

Soi-disant mis à jour régulièrement via ntp   n'est pas une bonne solution

C'est la solution que je recommanderais cependant. Pourquoi n'est-il pas considéré comme bon chez vous?

Installez NTP si vous ne l'avez pas déjà.

ntpdate règle l'horloge correctement, puis ntpd peut la maintenir précise.

Le projet de pool NTP fournit un grand pool de serveurs NTP parmi lesquels choisir.

Modifier vient de remarquer que vous avez dit que le protocole NTP n'était pas une bonne solution. Pourquoi? Si vous êtes inquiet au sujet de l’effet du changement d’horloge, NTP est l’idéal, car ntpd ne saute pas l’horloge en avant ou en arrière, mais "balaie". l'horloge en accélérant légèrement vers le haut / bas jusqu'à ce qu'il soit en ligne avec l'heure correcte.

J'ai eu le même problème et l'ai résolu par

  1. installation de vmware-guestd
  2. envoi au noyau d'une option clocksource = acpi_pm
  3. lancer hwclock -s toutes les heures en tant que root.

Il s’agit d’un problème ancien, mais qui nous touchait récemment. Ce que j’ai constaté, c’est que le problème a affecté tous nos vm exécutant des outils vmware.

Plus récemment, nous avions commencé à utiliser open-vm-tools et l'option sur ces machines virtuelles n'était pas définie. Puisque open-vm-tools est entièrement pris en charge et recommandé par Vmware, je suggérerais de l'utiliser via les outils vmware: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2073803

Si open-vm-tools se trouve dans un référentiel que vous utilisez, l'installation est également simple via yum install ou apt-get install , etc.

Vous pouvez utiliser la cmd et

net time \\computer_name /set

pour régler l'horloge à distance (ou dans un script par exemple)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top