L'heure de mon invité VM est plus rapide que l'heure de l'hôte d'environ 20 à 30 minutes. Que puis-je faire pour que l'heure de l'invité soit la même que celle de l'hôte?
Pour un hôte Linux, installez d’abord le package DKMS (support de module dynamique) sur la machine invitée ( source ):
$ Sudo apt-get install dkms
Ensuite, installez Guest Additions dans le système invité:
$ Sudo apt-get install virtualbox-guest-additions
En outre, voici des descriptions de des commandes permettant d’ajuster la synchronisation de l’heure de VirtualBox .
La configuration suivante permet à mon invité de conserver de manière fiable une heure précise à 1 seconde près de mon hôte. Il est testé avec l'hôte exécutant VirtualBox 4.3.26 et l'invité exécutant la même version de VirtualBox Guest Additions. Pour ce qui est de VirtualBox 5.x, je n’ai pas eu besoin de faire ces changements de configuration; l'heure a été automatiquement synchronisée.
Référence: https://www.virtualbox.org/manual/ch09.html#changetimesync
Sur l'hôte, répertoriez les ordinateurs virtuels pour connaître le nom de l'ordinateur virtuel approprié.
$ VBoxManage list vms | awk '{print $1}'
"CentOS6"
Sur l'hôte, configurez les paramètres de synchronisation de l'heure pour l'invité en exécutant les commandes ci-dessous. Commencez par définir $VMNAME
avec sa valeur appropriée. Si la valeur de $VMNAME
contient un espace, vous devez bien sûr le citer.
$ VBoxManage guestproperty set ${VMNAME} "/VirtualBox/GuestAdd/VBoxService/--timesync-interval" 10000
$ VBoxManage guestproperty set ${VMNAME} "/VirtualBox/GuestAdd/VBoxService/--timesync-min-adjust" 100
$ VBoxManage guestproperty set ${VMNAME} "/VirtualBox/GuestAdd/VBoxService/--timesync-set-on-restore" 1
$ VBoxManage guestproperty set ${VMNAME} "/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold" 1000
Les valeurs des paramètres de temps ci-dessus ont été limitées à des multiples de 10. Il peut être tentant de définir timesync-set-threshold
à 10 000 à la place, mais cela peut entraîner un changement de temps assez important au déclenchement, et donc interrompre les applications.
Sur l'hôte, affichez les valeurs pertinentes mises à jour pour l'invité. Ceux-ci peuvent être reconfirmés à tout moment.
$ VBoxManage guestproperty enumerate ${VMNAME} | grep timesync | sort
Name: /VirtualBox/GuestAdd/VBoxService/--timesync-interval, value: 10000, timestamp: 1402110397618554000, flags:
Name: /VirtualBox/GuestAdd/VBoxService/--timesync-min-adjust, value: 100, timestamp: 1402110777505446000, flags:
Name: /VirtualBox/GuestAdd/VBoxService/--timesync-set-on-restore, value: 1, timestamp: 1402110904964050000, flags:
Name: /VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold, value: 1000, timestamp: 1402110660162295000, flags:
Sur l'invité, arrêtez et désactivez tous les NTP internes et les services de chronométrage associés. Ils ne doivent pas être utilisés car ils risquent d'interférer avec VirtualBox. Sur un invité CentOS 6:
$ Sudo /sbin/chkconfig ntpd off
$ /sbin/chkconfig --list | grep ntp
ntpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
ntpdate 0:off 1:off 2:off 3:off 4:off 5:off 6:off
Sur l'invité, redémarrez le service nommé vboxadd-service
. En supposant que Guest Additions ait déjà été installé, ce service aurait été installé et activé. Sur un invité CentOS 6:
$ /sbin/service vboxadd-service status
Checking for VBoxService ...running
$ Sudo /sbin/service vboxadd-service restart
Stopping VirtualBox Guest Addition service [ OK ]
Starting VirtualBox Guest Addition service [ OK ]
$ /sbin/service vboxadd-service status
Checking for VBoxService ...running
Si l'heure sur l'invité n'est pas encore synchronisée, redémarrez l'invité.
Je donne une autre solution pour synchroniser le temps entre invité et hôte sans installer l’ajout d’invité Virtualbox:
/etc/ntp.conf
.disable auth
broadcastclient
/etc/ntp.conf
et configurez la lignebroadcast 192.168.123.255
Pour les utilisateurs Windows, activez le service "Windows Time". Vous pouvez alors lire cette page pour le configurer pour qu'il diffuse du temps