VirtualBox - проблемы с синхронизацией - PullRequest
8 голосов
/ 15 марта 2011

У меня VirtualBox на хосте Windows 7 , на серверах Ubuntu и XP-SP3 клиентах.

Часто отмечаю, что часы на гостевых машинах строго опаздывают по сравнению с временем хоста. Я впервые заметил это, когда получил странные результаты бенчмаркинга для всех видов тестов производительности, и предположил, что сравнить тесты на одной и той же машине с самим собой - все в порядке, а это не так.

Ситуация усугубляется, когда запускаются клиент-серверные тесты. Возможно, было бы приемлемо, если бы все гости сохранили одинаковую задержку, но я сталкиваюсь с ситуациями, когда время на клиентах XP более продвинуто на серверах, и ситуацией, когда время на серверах Ubuntu более продвинуто, чем на xp клиентов.

В некотором смысле я мог бы с этим смириться - потому что он представляет интересные тестовые случаи - но иногда он достигает различий в 20 минут.

Я попытался поработать с конфигурацией, но безрезультатно, но мне чего-то не хватает ...

Кто-нибудь? Заранее спасибо.

Ответы [ 3 ]

11 голосов
/ 17 ноября 2012

Если вы установили дополнения виртуальной коробки (и, возможно, у вас есть), на гостевом хосте есть служба, которая синхронизирует время.

Эта служба корректирует смещение часов каждые 10 секунд, если разница между часами хоста и гостя меньше 20 минут, если разница больше 20 минут, она просто сбрасывает часы гостя на время хоста. Таким образом, вы никогда не должны находить не синхронизированный компьютер более 20 минут.

Можно изменить 20-минутный порог, используя гостевой параметр --timesync-set-threshold. Например, вы можете установить его на 1000 мс, поэтому вы никогда не найдете машину с разницей выше одной секунды.

Вы можете настроить гостевой --timesync-set-threshold с хост-компьютера, используя следующую команду:

VBoxManage guestproperty set <your-vm-name> "/VirtualBox/GuestAdd/VBoxService/--timesync-set-threshold" 1000

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

Дальнейшее чтение:

2 голосов
/ 15 марта 2011

Универсальным решением будет:

  1. Размещение NTP-сервера на гостевой
  2. Настройка хостов для синхронизации с NTP каждые несколько минут

Относительно перекоса часов с VirtualBox, есть эта проблема с некоторыми конфигурациями. С гостями Windows 7 в некоторых случаях помогает отключение IO APIC.

Подробности: http://forums.virtualbox.org/viewtopic.php?f=8&t=21480

0 голосов
/ 29 января 2015

Сначала убедитесь, что Windows не ограничен использованием только HPET, так как это может помешать хосту и гостям получать точный источник RTC:

Откройте файл cmd.exe для администратора и введите bcdedit /enum, а затемубедитесь, что useplatformclock нет, если введите bcdedit /deletevalue useplatformclock, чтобы удалить его, а затем перезагрузить Windows.

Я включил это на своем хосте, чтобы исправить проблему со старым драйвером (некоторые также говорят, что это «лучший»«для работы с нет надежных доказательств ), сначала не было заметной проблемы, но потом я обнаружил, что RTC довольно сильно дрейфовал (до 0,5 с в час ...).

Существуют также другие присущие Windows проблемы (возможно, исправленные в Windows 8), где точность таймера устанавливается в зависимости от ОС, в то время как она может быть изменена любым приложением, которому требуется более высокая точность, и позже будет возвращено к более низкой точности.Эти изменения также будут искажать RTC со временем .Поэтому лучше всего (исходя из собственного опыта):

  1. полностью отключить синхронизацию host-> guest clock, используя:

VBoxManage setextradata "VM name" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1

(затем необходимо выключить виртуальную машину и перезапустить ее, чтобы изменения вступили в силу)

установить пакет NTP на гостевой компьютер, который использует стандартные внешние источники времени (как любой автономный компьютер).

Установить правильный порт NTP на хосте Windows (лично я использую Heiko Gerstung's )

Кроме того, вы должны убедиться, что ваши гостевые дополнения для виртуальной машины актуальны .

...