Ubuntu внутри виртуальной машины: ntpd или ntpdate или ??? избежать дрейфа часов

7

Проблема: ntpd , если установлена на виртуальной машине под управлением Ubuntu (у меня это было на хостах с множеством гипервизоров, таких как KVM и VMware ESX), похоже, подвержены серьезным дрейф часов. Я не нашел хорошего метода, и не все, похоже, испытывают это.

Вопрос: Как я могу предотвратить это? Существуют ли какие-либо настройки в /etc/ntp.conf , чтобы заставить ntpd быть более агрессивными при синхронизации времени внутри виртуальной машины или использовать ntpdate -b timeserver вместо того, чтобы работать в cron так часто?

Какой метод рекомендуется избегать прыжков при использовании ntpdate -b или дрифта часов вообще внутри виртуальной машины Ubuntu?

Боковое примечание. Я видел похожие эффекты на ведомых устройствах vios (IBM hypervisor), работающих под управлением AIX, а также на Solaris. Таким образом, проблема очень реальна и, по-видимому, связана с гипервизорами вообще.

    
задан 0xC0000022L 11.04.2013 в 19:14
источник

3 ответа

6

Я наблюдал подобные симптомы на машине Linux, работающей на VMware ESX. Кажется, что дрейф (несколько минут в день) был вызван синхронизацией времени, предоставляемой NTP внутри инструментов VM и VMware. Мы решили нашу проблему, отключив синхронизацию времени в свойствах инструментов VMware (в свойствах VM в ESX ). После этого NTP смог синхронизировать часы с удаленным сервером времени. Если вы предпочитаете вручную редактировать файл .vmx , установите tools.syncTime = "0" .

Остановить NTP внутри виртуальной машины и позволить инструментам синхронизировать время, вероятно, будет работать, по крайней мере, для исправления дрейфа сервера. Сам ESX может запустить демон NTP. Рекомендации по использованию хронометража VMware рекомендуют использовать NTP вместо VMWare Инструменты для синхронизации времени.

VMware публикует длинный документ об использовании хронометража в виртуальных машинах VMware . Самым значимым отрывом является подраздел «Ядра с часами». VMware KB также имеет советы по устранению неполадок для хронометража в гостевых домах Linux .

    
ответ дан Gilles 11.04.2013 в 19:41
источник
6

В VirtualBox, по крайней мере, вы можете ... У меня были проблемы с синхронизацией времени раньше, но настройка времени гостевых дополнений параметры синхронизации , казалось, исправили его.

Вот соответствующий текст из руководства:

Tuning the Guest Additions time synchronization parameters

The VirtualBox Guest Additions ensure that the guest's system time is synchronized with the host time. There are several parameters which can be tuned. The parameters can be set for a specific VM using the following command:

VBoxManage guestproperty set "VM name" "/VirtualBox/GuestAdd/VBoxService/PARAMETER" VALUE

where PARAMETER is one of the following:

--timesync-interval Specifies the interval at which to synchronize the time with the host. The default is 10000 ms (10 seconds).

--timesync-min-adjust The minimum absolute drift value measured in milliseconds to make adjustments for. The default is 1000 ms on OS/2 and 100 ms elsewhere.

--timesync-latency-factor The factor to multiply the time query latency with to calculate the dynamic minimum adjust time. The default is 8 times, that means in detail: Measure the time it takes to determine the host time (the guest has to contact the VM host service which may take some time), multiply this value by 8 and do an adjustment only if the time difference between host and guest is bigger than this value. Don't do any time adjustment otherwise.

--timesync-max-latency The max host timer query latency to accept. The default is 250 ms.

--timesync-set-threshold The absolute drift threshold, given as milliseconds where to start setting the time instead of trying to smoothly adjust it. The default is 20 minutes.

--timesync-set-start Set the time when starting the time sync service.

--timesync-set-on-restore 0|1 Set the time after the VM was restored from a saved state when passing 1 as parameter (default). Disable by passing 0. In the latter case, the time will be adjusted smoothly which can take a long time.

All these parameters can be specified as command line parameters to VBoxService as well.

Disabling the Guest Additions time synchronization

Once installed and started, the VirtualBox Guest Additions will try to synchronize the guest time with the host time. This can be prevented by forbidding the guest service from reading the host clock:

VBoxManage setextradata "VM name" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled"
    
ответ дан Scott Goodgame 11.04.2013 в 19:31
источник
0

В виртуальном боксе вы можете попробовать изменить параметр paravirtualisation вашей виртуальной машины.

В настройках вашей машины перейдите к: Systeme > Ускорение

Это исправить проблему для меня.

    
ответ дан Angel115 24.05.2017 в 12:33
источник

Ознакомьтесь с другими вопросами по меткам