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

Timesync на HyperV с CentOS 6.2

У меня есть виртуальная машина CentOS (выпуск 6.2), работающая под HyperV. У меня установлены службы интеграции (сейчас они являются частью базы), и CentOS показывает, что текущий источник часов - это hyperv_clocksource, однако мое время на виртуальной машине составляет около 10 минут после недели безотказной работы. Насколько я понимаю, новая микросхема и подключаемый источник тактовых сигналов таковы, что этого больше не должно происходить. Требуется ли какая-либо дополнительная настройка, чтобы заставить подключаемый источник тактовых сигналов "работать"?

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

Изменить: был запущен 3.2 IC (который поставляется с Centos 6.2), обновлен до 3.3 сегодня, машина работала 1 час 22 минуты, а часы уже на 5 секунд быстрее. Так что я сейчас работает последняя версия микросхемы и все еще имеет ту же проблему.

У меня была эта проблема в прошлом, и я исправил ее, настроив переключатели запуска (notsc divider = 10) и настройки ntp:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#          initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-164.6.1.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-164.6.1.el5 ro root=/dev/VolGroup00/LogVol00 hda=noprobe hdb=noprobe notsc divider=10
    initrd /initrd-2.6.18-164.6.1.el5.img
title CentOS (2.6.18-164.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup00/LogVol00
    initrd /initrd-2.6.18-164.el5.img

Пример ntp.conf:

tinker panic 0
restrict 127.0.0.1
restrict default kod nomodify notrap
server 0.vmware.pool.ntp.org
server 1.vmware.pool.ntp.org
server 2.vmware.pool.ntp.org
driftfile /var/lib/ntp/drift

Источник:

Исправление дрейфа часов Linux на Hyper-V на Server 2008 R2
http://hardanswers.net/correct-clock-drift-in-centos-hyper-v

Дрейф гостевых часов Hyper-V Linux под нагрузкой, к сожалению, довольно распространен (дрейф часов в несинхронизированных виртуальных машинах в некоторой степени неизбежен). Видеть Часы Linux теряют 10 минут каждую неделю и Машина Hyper-V дрейфует во времени, даже с NTP для других сообщений об этом. Я видел анекдотические свидетельства, которые говорят следующее:

Сначала проверьте, обнаруживает ли Hyper-v службы интеграции. Единственный способ, которым я знаю, как использовать диспетчер виртуальных машин системного центра, но я предполагаю, что должен быть способ использования mmc Hyper-v.

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