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

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

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

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


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

7
задан 11 April 2013 в 23:14

3 ответа

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

В настройках вашей машины перейдите к: Система> Ускорение enter image description here

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

0
ответ дан 11 April 2013 в 23:14

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

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

Настройка параметров синхронизации времени гостевых дополнений

Гостевые дополнения VirtualBox гарантируют, что системное время гостя синхронизировано со временем хоста. Есть несколько параметров, которые можно настроить. Параметры могут быть установлены для конкретной виртуальной машины с помощью следующей команды:

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

где PARAMETER - одно из следующего:

--timesync-interval Определяет интервал, с которым синхронизируется время с гостья. По умолчанию установлено значение 10000 мс (10 секунд).

--timesync-min-adjust Минимальное абсолютное значение дрейфа, измеренное в миллисекундах для корректировки. По умолчанию 1000 мс в OS / 2 и 100 мс в другом месте.

--timesync-latency-factor Коэффициент, на который умножается задержка запроса времени, чтобы вычислить динамическое минимальное время настройки. Значение по умолчанию - 8 раз, что означает в деталях: измерьте время, необходимое для определения времени хоста (гость должен связаться со службой хоста ВМ, что может занять некоторое время), умножьте это значение на 8 и выполните настройку, только если разница во времени между хостом и гостем больше, чем это значение. В противном случае не корректируйте время.

--timesync-max-latency Максимальная задержка запроса таймера хоста для принятия. Значение по умолчанию составляет 250 мс.

--timesync-set-threshold Абсолютный порог дрейфа, выраженный в миллисекундах, с которого следует начинать устанавливать время, а не пытаться плавно его регулировать. По умолчанию это 20 минут.

--timesync-set-start Установите время при запуске службы синхронизации времени.

--timesync-set-on-restore 0|1 Установите время после восстановления виртуальной машины из сохраненного состояния при передаче 1 в качестве параметра (по умолчанию). Отключите, передав значение 0. В последнем случае время будет плавно регулироваться, что может занять много времени.

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

Отключение синхронизации времени гостевых дополнений

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

VBoxManage setextradata "VM name" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled"
0
ответ дан 11 April 2013 в 23:14

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

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

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

0
ответ дан 11 April 2013 в 23:14

Другие вопросы по тегам:

Похожие вопросы: