Timesync sur HyperV avec CentOS 6.2


11

J'ai une machine virtuelle CentOS (version 6.2) fonctionnant sous HyperV. J'ai des services d'intégration installés (une partie de la base maintenant), et CentOS montre que la source d'horloge actuelle est hyperv_clocksource, mais mon temps dans la machine virtuelle est rapide d'environ 10 minutes après une semaine de disponibilité. Ma compréhension du nouveau CI et de la source d'horloge enfichable est que cela ne devrait plus se produire. Existe-t-il une configuration supplémentaire nécessaire pour que la source d'horloge enfichable fonctionne?

Je sais qu'il existe de nombreux liens sur la définition des options du noyau sur PIT et diverses choses comme ça, mais ceux-ci semblent tous antérieurs au support intégré de la source d'horloge, et si je comprends bien, cela ne devrait plus être nécessaire. Ni ntpd ni adjtimex.

Edit: exécutait 3.2 d'IC ​​(ce qui est livré avec Centos 6.2), mis à niveau à 3,3 aujourd'hui, la machine a fonctionné pendant 1 heure 22 minutes et l'horloge est déjà rapide de 5 secondes. Je suis donc en train d' exécuter le dernier IC et j'ai toujours le même problème.


Oui, le temps est rapide et non lent. Ce qui est encore plus étrange car le problème typique d'horloge VM est la perte de temps, pas le gain de temps.
WaldenL

si vous faites un PowerShell get-winevent -provider Microsoft-Windows-Hyper-V-Integration-TimeSync | sélectionnez un message | select-string "servername" voyez-vous des erreurs de synchronisation de temps
tony roth

Peu importe les messages sur les erreurs de synchronisation temporelle, il n'y a aucun message pour ce fournisseur. Il existe d'autres messages Hyper-V, mais aucun pour TimeSync.
WaldenL

Réponses:


3

J'ai eu ce problème dans le passé et l'ai corrigé en ajustant les commutateurs de démarrage (diviseur notsc = 10) et les paramètres ntp:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#          initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-164.6.1.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-164.6.1.el5 ro root=/dev/VolGroup00/LogVol00 hda=noprobe hdb=noprobe notsc divider=10
    initrd /initrd-2.6.18-164.6.1.el5.img
title CentOS (2.6.18-164.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup00/LogVol00
    initrd /initrd-2.6.18-164.el5.img

Exemple 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

La source:

Correction de la dérive de l'horloge Linux sur Hyper-V sur le serveur 2008 R2
http://hardanswers.net/correct-clock-drift-in-centos-hyper-v


1
Cela pourrait fonctionner. La position officielle de MS consiste à installer / activer les fonctionnalités d'intégration, y compris la synchronisation de l'heure, et à désactiver tous les démons de temps dans la machine virtuelle (ntpd).
Chris S

VMWare le recommande également divider=10dans de nombreuses constellations Linux.
Nils

Désolé pour le downvote, mais ce sont précisément les ajustements qui ne sont pas censés être nécessaires avec la source de temps enfichable dans les nouveaux composants d'intégration.
WaldenL

2

Tout d'abord, vérifiez si hyper-v détecte les services d'intégration. La seule façon dont je sais comment utilise le gestionnaire de machine virtuelle de System Center, mais je suppose qu'il doit y avoir un moyen d'utiliser mmc d'hyper-v.

En outre, j'ai vu cela se produire lorsque la synchronisation d'horloge est désactivée dans la configuration de la machine virtuelle. Pourquoi l'horloge tourne plus vite me dépasse. J'ai joint une capture d'écran de la configuration vm pour votre référence. entrez la description de l'image ici


Oui, tous les services sont activés.
WaldenL

hyper-v signale-t-il qu'il a détecté les services d'intégration?
longneck

Question intéressante, je ne sais pas comment le dire. Ils ont commencé par l'invité, et je suppose qu'ils ne le feraient pas s'ils n'avaient pas communiqué avec l'hôte, mais je ne peux pas le dire avec certitude. Je n'ai pas de scvmm donc je ne sais pas trop quoi dire non plus.
WaldenL

Lorsque vous regardez la vm dans le mmc, est-ce que ça dit que le rythme cardiaque est ok en bas? Cela indiquerait qu'au moins le service Heartbeat communique.
longneck

Il dit "Heartbeat: OK", il semble donc qu'au moins le canal de communication soit ouvert.
WaldenL

2

La dérive d'horloge d'invité Hyper-V Linux sous charge est malheureusement assez courante (la dérive d'horloge dans les machines virtuelles non synchronisées est quelque peu inévitable). Voir l' horloge Linux perd 10 minutes chaque semaine et la machine Hyper-V dérive le temps partout, même avec NTP pour d'autres articles en parlant. Des preuves anecdotiques que j'ai vues disent ce qui suit:

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.