9
votes

VirtualBox - Problèmes de synchronisation

J'ai VirtualBox Exécution sur Windows 7 hôte, exécutant ubuntu serveurs ubuntu et XP-SP3 client. < / p>

Souvent, je note que l'horloge des machines invités est strictement en retard par rapport à l'heure de l'hôte. Je l'ai constaté pour la première fois lorsque j'ai eu des résultats d'analyse comparative bipartiser pour tous types de tests de performance et supposé que comparer les tests sur la même machine à elles-mêmes serait correct - ce qui n'est pas.

La situation s'aggrave lorsque des tests client-serveur sont impliqués. Il aurait pu être acceptable si tous les invités conserveraient le même retard, mais je rencontre des situations où le temps sur les clients XP est plus avancé sur les serveurs et que la situation du temps sur les serveurs Ubuntu est plus avancée puis sur le XP clients.

Dans un sens, je pourrais vivre avec ça - car cela présente des cas de test intéressants - mais parfois, il arrive à des différences de 20 minutes.

J'ai essayé de frapper avec la configuration sans en profiter - mais je devais manquer quelque chose ...

n'importe qui? Merci d'avance.


6 commentaires

Avez-vous essayé de configurer les machines pour utiliser un serveur de temps réseau? Cela pourrait être le moyen le plus simple de garder tout le temps de synchronisation entre eux.


Est-ce un paramètre Vbox ou un paramètre OS?


C'est un paramètre OS. Windows a pris en charge les serveurs de temps de réseau depuis au moins XP; Trouvez-le en cliquant sur la barre des tâches. Je ne sais pas sur Ubuntu, mais je suppose que quelque chose de similaire est intégré ou disponible gratuitement.


S'il n'y a pas de meilleur moyen d'utiliser la configuration de la Vbox - car ils fonctionnent tous sur le même hôte, pourquoi impliquer le réseau - c'est ce que je vais devoir faire. Mais cela ne m'aidera pas dans le scénario d'analyse comparative - assurez-vous simplement que le CP est juste tous les plusieurs minusts ... :(


Les horloges sur différentes machines discrètes ont tendance à dériver. Peut-être que courir dans une machine virtuelle exacerbe le problème, mais cela ne l'a certainement pas créé. Vous ne devriez vraiment pas comparer les valeurs individuelles temps obtenues à partir de points de repère sur des machines virtuelles en premier lieu. Je ne suis pas sûr de ce que vous essayez d'accomplir, mais cela a peu de sens pour moi. Il suffit d'exécuter le point de repère par rapport à l'hôte individuel (qui rend les délais de temps dans les machines pas un facteur), puis comparez les résultats globaux.


@Codygray OP a expressément déclaré que la comparaison des valeurs sur les résultats étranges id. La réponse acceptée montre la raison pour laquelle: l'horloge VM est corrigée à l'horloge hôte de temps en temps.


3 Réponses :


2
votes

Une solution universelle serait de:

  1. héberge un serveur NTP sur invité
  2. configure des hôtes pour synchroniser avec NTP toutes les quelques minutes

    En ce qui concerne l'horloge-broyage avec VirtualBox, a ce problème avec certaines configurations. Avec Windows 7 invités, désactivant Io Apic aide dans certains cas.

    Détails: http://forums.virtualbox.org/viewtopic.php? F = 8 & T = 21480


2 commentaires

Merci d'avoir répondu. Je l'ai essayé depuis un certain temps. Il aide partiellement pour le flux général, mais ce n'est pas assez bon pour l'analyse comparative, pour les comptoirs de performance et pour les flux dépendant du flux de temps de serveur cohérent :(


Je vous recommande vivement de ne pas compter sur un invité comme source de temps. Peut confirmer le comportement de temps système très étrange (Win10 en tant qu'invité et hôte, avec des outils invités installés sur l'invité). Exécutez votre serveur de temps sur du matériel dédié, pas dans une machine virtuelle.



12
votes

Si vous avez installé des ajouts VirtualBox (et que vous avez probablement), il existe un service sur l'hôte invité qui synchronise l'heure.

Ce service corrige la dérive de l'horloge toutes les 10 secondes si la différence entre l'hôte et l'horloge d'invité est En dessous de 20 minutes, si la différence est supérieure à 20 minutes, il réinitialise simplement l'horloge invitée à l'heure hôte. Ainsi, vous ne devriez jamais trouver une machine hors de synchronisation de plus de 20 minutes. P>

Il est possible de modifier le seuil de 20 minutes à l'aide du paramètre Guest-Seuil-Set-Seuil. Vous pouvez par exemple régler à 1000ms, vous ne devez donc jamais trouver une machine avec une différence au-dessus d'une seconde. P>

Vous pouvez configurer l'invité - Timesync-set-Set-Seuil de la machine hôte à l'aide de la commande suivante à l'aide de la commande suivante à l'aide de la commande suivante à l'aide de la commande suivante à l'aide de la commande suivante : P>

VBoxManage guestproperty set <your-vm-name> "/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold" 1000
  • Manuel de la Vbox . Vérifiez la section intitulée réglage des paramètres de synchronisation de l'heure de l'heure em> li>
  • Ce post très utile li> ul> p>

  • 3 commentaires

    SUPER!!! - Exactement ce que je cherchais! Réglage des horaires de jeu-Set-Seuil à 50 ms était juste la précision dont j'avais besoin pour les points de repère. Je les ai retournés - cette fois avec des résultats assez précis :)


    J'avais trouvé ces paramètres, mais pas que je devais redémarrer Vboxad-service dans l'invité avant de prendre effet. Merci.


    Je vous recommande vivement de ne pas compter sur un invité comme source de temps. Peut confirmer le comportement de temps système très étrange (Win10 en tant qu'invité et hôte, avec des outils invités installés sur l'invité). Le comportement ressemble à chaque fois, l'horloge invitée est définie sur quelques minutes dans le passé - puis l'horloge système est légèrement rapide jusqu'à ce qu'il attrape un temps «réel» - mais le fait avec dépassement. La performance complète se répète périodiquement.



    0
    votes

    D'abord Assurez-vous que Windows n'est pas limitée à utiliser HPET uniquement car cela peut empêcher l'hôte et les invités d'obtenir une source de RTC précise:

    Ouvrir Administrateur CMD.EXE et TYPE BCDEDIT / ENUM , puis assurez-vous que useplatformClock N'est-ce pas là, s'il s'agit de type BCDEDIT / deletevalue userplatformClock pour le supprimer, puis redémarrez Windows.

    J'avais permis à cela sur mon hôte de réparer un ancien problème de pilote (certains disent également qu'il est "meilleur" pour la performance avec Aucune épreuve fiable ), il n'y avait pas de problème notable au début, mais j'ai découvert que la RTC dérive beaucoup (jusqu'à 0,5 à l'heure ...).

    Il existe également d'autres problèmes inhérents à Windows (éventuellement fixé dans Windows 8) dans lequel la précision de la minuterie est définie sage sur le système d'exploitation, alors qu'elle peut être modifiée par n'importe quelle application nécessitant une précision supérieure et remise à une précision inférieure plus tard. Ces changements inclinent également la RTC au fil du temps . Donc, la meilleure chose à faire (de ma propre expérience) est de:

    1. Désactiver l'hôte-> Synchornisation de l'horloge invitée en utilisant entièrement:

      vboxmanage setextradata "nom de vm" "vboxinternal / périphérique / vmmdev / 0 / config / gethostimedisabled" 1

      (Vous devez ensuite arrêter la machine virtuelle et redémarrer pour ce changement pour prendre effet)

      1. Installez un package NTP sur l'invité qui utilise des sources de temps externes standard (comme n'importe quel ordinateur autonome).

      2. Installez un Port NTP approprié sur les fenêtres Host (j'utilise personnellement Heiko Gerstun ''s )

      3. En outre, vous devez vous assurer que vos ajouts VirtualBox Guest sont à ce jour .


    0 commentaires