VirtualBox: Як синхронізувати хост і час відвідування?


39

Час у моїй гості VM швидше, ніж час перебування на 20-30 хвилин. Що я можу зробити, щоб час у гостя був таким самим, як у господаря?

Відповіді:


16

Для хоста Linux спочатку встановіть пакет DKMS (Dynamic Kernel Module Support) на гостьовій машині ( джерело ):

$ sudo apt-get install dkms

Потім встановіть додатки для гостей у гостьову систему:

$ sudo apt-get install virtualbox-guest-additions

Ось також описи деяких команд для налаштування синхронізації часу VirtualBox .


3
У останніх дистрибутивах ви зміните ці пакети для virtualbox-guest-dkmsта virtualbox-guest-utils.
Іван

aptє менеджером пакунків спеціально для дистрибутивів на базі Debian. Це не працюватиме для інших гостей Linux.
Кайл Странд

33

Наступна настройка дозволяє моєму гостю надійно підтримувати час, який є точним протягом 1 секунди мого хоста. Він тестується на хості, який працює з VirtualBox 4.3.26, і гість, який працює з тією ж версією VirtualBox Guest Additions. Що стосується VirtualBox 5.x, я поки що не мав потреби вносити ці зміни в конфігурацію; час автоматично синхронізувався.

Довідково: https://www.virtualbox.org/manual/ch09.html#changasuresync


На хості перелічіть VM, щоб визначити ім'я відповідної VM.

$ VBoxManage list vms | awk '{print $1}'
"CentOS6"

На хості налаштуйте параметри синхронізації часу для гостя, виконавши команди нижче. Спочатку встановити $VMNAMEз відповідним значенням. Якщо значення $VMNAMEмістить пробіл, його, звичайно, слід цитувати.

$ 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

Наведені вище значення часових параметрів обмежувались кратними 10. timesync-set-thresholdНатомість, можливо, привабливо встановити 10000, але це може загрожувати досить різкою зміною часу при його спрацюванні, і тому може порушити програми.


На хості перегляньте оновлені відповідні значення для гостя. Вони можуть бути підтверджені в будь-який час.

$ 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:

У гостях зупиніться та відключіть усі внутрішні NTP та пов'язані з ними послуги хронометражу. Їх не слід використовувати, оскільки вони, ймовірно, втручаються у VirtualBox. У гості 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

У гості перезапустіть службу з назвою vboxadd-service. Якщо припустити, що гостьові доповнення були встановлені раніше, ця послуга була б встановлена ​​та включена. У гості 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

Якщо час для гостя ще не синхронізовано, перезавантажте гостя.


Спасибі! Останній крок перезапуску vboxadd-serviceпослуги - це те, що для мене працювало, і, здається, не було задокументовано (принаймні за посиланням, яке ви надали).
j_random_hacker

Коли я спробую це на гості CentOS 7, vboxadd-сервіс не знайдено? Це мінімальна установка, без GUI.
Br.Bill

1

Я даю інше рішення для синхронізації часу між гостем та хостом, не встановлюючи додаток для гостей Virtualbox:

  1. Встановіть NTP на свого гостя та зніміть із коментарів ці рядки в /etc/ntp.conf.
disable auth
broadcastclient
  1. Активуйте трансляцію на своєму хості. Для користувачів Linux відредагуйте /etc/ntp.confфайл та налаштуйте рядок
broadcast 192.168.123.255 

Для користувачів Windows активуйте послугу «Windows Time». Потім ви можете прочитати цю сторінку, щоб налаштувати її на час трансляції


1
Що важливого в IP-адресі 192.168.123.255?
Br.Bill
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.