Назад | Перейти на главную страницу

У гостя Xen HVM серьезный дрейф часов

Я наблюдаю очень серьезный сдвиг часов на моем VPS Xen HVM, арендованном у хостинг-провайдера, поэтому у меня нет доступа к системе dom0. Я постоянно запускаю ntpd, но часы уходят на целых 30 секунд за 5 минут, а NTP не успевает. Кто-нибудь испытал это?

Вот некоторые подробности:

$ dmesg | grep clock
[    0.160000] Measured 347 cycles TSC warp between CPUs, turning off TSC clock.
[    0.396000] * this clock source is slow. Consider trying other clock sources
[    0.550448] Switching to clocksource acpi_pm
[    0.653135] rtc_cmos 00:05: setting system clock to 2011-03-09
02:45:40 UTC (1299638740)

$ cat /sys/devices/system/clocksource/clocksource0/available_clocksource 
acpi_pm

$ cat /sys/devices/system/clocksource/clocksource0/current_clocksource 
acpi_pm

На хосте сервера XEN 4.4.x вы можете установить свойство tsc_mode = "native" для гостевой виртуальной машины в файле /etc/xen/vm.conf. Затем вы можете запустить свою виртуальную машину и внутри своей виртуальной машины выполнить задание cron для периодической синхронизации времени с внешнего сервера ntp.

Это сработало для меня.

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

Удалить openntpd

Затем создайте задание cron с помощью следующего скрипта.

#! /bin/bash
# This is a DIRTY hack to allow have time settings correctly on Xen guests
# clopez@igalia.com
echo 1 > /proc/sys/xen/independent_wallclock
ntpdate -b pool.ntp.org 0.debian.pool.ntp.org hora.roa.es
echo 0 > /proc/sys/xen/independent_wallclock

Это основано на совете из этой ссылки: http://blog.neutrino.es/2010/workaround-for-the-time-drift-issue-on-xen-keep-your-gests-synced/

Сообщите мне, работает ли это для вас.

Добавьте эту строку в начало ntpd.conf:

tinker panic 0

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