2008-09-22 4 views
20

L'horloge de ma machine virtuelle dérive de manière significative. Il y a de la documentation à ce sujet, mais rien ne semble fonctionner très bien.Comment puis-je résoudre l'horloge dérivante de ma machine virtuelle?

Quelqu'un a des suggestions, des choses qui ont bien fonctionné pour eux, ...

mise à jour régulièrement par Supposément PNT n'est pas une bonne solution.

+1

Intéressé de savoir pourquoi ntp n'est pas censé être une bonne idée? – cagcowboy

+0

Quel est le système d'exploitation utilisé par votre machine virtuelle? –

+0

à propos de la solution ntp: Je dois admettre que je ne me souviens pas pour le moment de la raison pour laquelle TNP a été découragé. Je pense que cela a peut-être à voir avec l'idée d'utiliser différentes méthodes simultanément et comment cela serait mauvais. – carrier

Répondre

10

vmware avez a really good PDF doc sur ce problème.

Fondamentalement, l'hôte fera pivoter les tiques livrées à vos invités comme il le peut. Ne pas exécuter NTP ou chronométré ou indésirable comme ça. Il suffit d'installer vmware-guestd et laisser l'hôte influer sur vos ticks. Si vous perdez encore des 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 fréquence est faible. Les nouvelles versions de Linux sont équipées de tics de 1000 Hz, mais ne fonctionnaient qu'à 100 Hz. Cela semble plus facile à livrer pour l'hôte. Une reconstruction du noyau est généralement nécessaire pour modifier la valeur HZ.

+2

Dernièrement, beaucoup de (la plupart?) Des noyaux Linux distribués sont réellement "sans cocher", un concept que je ne peux pas expliquer mais ce fil peut: http://kerneltrap.org/node/6750 –

+3

C'était vrai il y a 10 ans. Selon le dernier KB: "VMware recommande d'utiliser NTP au lieu de la synchronisation périodique de VMware Tools.", Voir http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1006427 –

+0

thread sur kerneltrap.org mais le lien est mort. – jesusduarte

0

L'installation des ajouts de machine virtuelle (outils) n'effectue-t-elle pas la synchronisation de l'horloge entre le système invité et le système d'exploitation hôte?

-1

Vous pouvez utiliser le cmd et

net time \\computer_name /set 

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

0

mise à jour Supposément 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 à votre emplacement?

0

Installez NTP si vous ne l'avez pas déjà. Ntpdate va régler correctement l'horloge, alors ntpd peut garder l'horloge précise.

Le NTP pool project fournit un large éventail de serveurs NTP parmi lesquels choisir.

Modifier juste remarqué que vous avez dit que vous pensez que NTP n'est pas une bonne solution - pourquoi? Si vous vous inquiétez 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, au contraire, il «balance» l'horloge en l'accélérant légèrement vers le haut/bas jusqu'à ce qu'il soit aligné heure exacte.

+0

si je cours ntpdate -u il mettra à jour l'horloge ... cependant, après 1 minute je serai déjà éteint par 5 secondes, donc je devrais exécuter la mise à jour assez souvent. Cependant, je n'étais pas au courant de la fonction d'orientation. tout ce que j'ai utilisé est ntpdate -u qui saute. – carrier

1

Il n'y a pas de réponse définitive car plusieurs méthodes existent, 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 avoir une bonne compréhension du problème.

recettes rapides pour Linux n'a pu être trouvée dans un document distinct KB article

0

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

  1. installation vmware-guestd
  2. envoyer le noyau une option clocksource = acpi_pm
  3. en cours d'exécution hwclock -s toutes les heures en tant que root.
8

Juste pour ajouter quelques données sur pourquoi 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 dérive de X nombre de secondes dans une journée, alors au lieu de sauter en avant/arrière comme une commande forcée comme dans "ntpdate" NTPD essaie d'ajouter/supprimer des cycles à l'horloge de sorte que dans le temps, normalement Dans les 15 minutes, l'horloge fonctionne assez précisément et la compensation surmonte ce nombre X de secondes que les serveurs gagnent/perdent en un jour. Cela a l'avantage que vous ne verrez pas de temps dans la journée répété, ce qui est un must pour les systèmes transactionnels. Mais pour être en mesure de le faire, NTPD exige que l'horloge locale fasse un travail raisonnablement bon, ce qui signifie normalement que l'horloge locale ne se séparera pas plus de 42 secondes par jour (plus ou moins, je ne suis pas sûr du nombre exact). Ceci est normalement un problème dans les machines virtuelles, puisque l'horloge est contrôlée par logiciel, donc si l'HOST a trop de surcharge, vous pouvez voir que l'horloge du CLIENT fonctionnera plus lentement, et si ce n'est pas le cas, l'horloge pourrait fonctionner aussi vite. Le problème ici pour NTPD est que l'horloge locale n'est pas fiable et n'a pas de dérive constante dans le temps; cela peut être plus ou moins dépendant de la surcharge du système HOST.

Donc, dans ce cas, il est préférable d'installer les outils clients comme cela a été suggéré, et synchroniser l'horloge client avec l'horloge de l'hôte (normalement appelée la « horloge murale »)

+2

C'était le cas il y a 10 ans. Selon le dernier KB: "VMware recommande d'utiliser NTP au lieu de la synchronisation périodique de VMware Tools.", Voir http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1006427 –

16
  1. Lisez-vous la documentation vmware attentivement avant d'écouter quelqu'un. Nous courons ESX5.

les meilleures pratiques pour les invités Linux Chronométrage entre autres dit: Ref: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1006427

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

Ceci est un exemple /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 (RedHat spécifique)/etc/ntp/step-tickers:

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

La directive configuration Tinker panique 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 de temps et pour reprendre également des machines virtuelles à partir de 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 à revenir à cela de préférence aux serveurs distants quand il y a une grande dérive temporelle.

Un exemple d'une telle configuration est la suivante:

server 127.127.1.0 
fudge 127.127.1.0 stratum 10 

Commentaire sur les deux lignes. Après avoir apporté des modifications à la configuration NTP, le démon NTP doit être redémarré. Reportez-vous à la documentation de votre fournisseur de système d'exploitation.

0

Ceci est un vieux problème, mais celui qui nous affectait récemment. Ce que j'ai trouvé, c'est que tous nos VM qui utilisaient des outils VMware étaient affectés par le problème. Plus récemment, nous avions commencé à utiliser open-vm-tools et sur ces vm l'option n'était pas définie. Depuis des outils open-vm-est entièrement pris en charge et recommandé par Vmware Je suggère de l'utiliser sur des outils vmware: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2073803

Si des outils open-vm-est dans un dépôt que vous utilisez est aussi simple à installer via yum install ou apt-get install etc.

Questions connexes