Timesync на HyperV с CentOS 6.2

11

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

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

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

WaldenL
источник
Да, время быстро, а не медленно. Что еще более странно, поскольку типичная проблема с часами ВМ - это потеря времени, а не выигрыш времени.
WaldenL
если вы делаете PowerShell Get-Winevent -Provider Microsoft-Windows-Hyper-V-Integration-TimeSync | выберите сообщение | строка выбора "имя_сервера" вы видите ошибки синхронизации времени
Тони Рот
Не обращайте внимания на сообщения об ошибках синхронизации, для этого провайдера сообщений нет вообще. Есть и другие сообщения Hyper-V, но для TimeSync их нет.
WaldenL

Ответы:

3

У меня была эта проблема в прошлом, и я исправил ее, настроив параметры запуска (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

Грег Аскью
источник
1
Это может сработать. Официальная позиция MS - установить / включить функции интеграции, включая синхронизацию времени, и отключить любые демоны времени в VM (ntpd).
Крис С
VMWare рекомендует это и divider=10во многих Linux-созвездиях.
Нильс
Извините за понижение голосов, но это именно те изменения, которые не должны быть необходимы с подключаемым источником времени в новых компонентах интеграции.
WaldenL
2

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

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

длинная шея
источник
Да, все сервисы включены.
WaldenL
Hyper-V сообщает, что обнаружил службы интеграции?
Longneck
Интересный вопрос, не уверен, как сказать. Шоу началось в гостях, и я предполагаю, что они бы этого не сделали, если бы не общались с хозяином, но я не могу сказать точно. У меня нет scvmm, поэтому я не уверен, что сказать тоже.
WaldenL
Когда вы смотрите на VM в MMC, он говорит сердцебиение нормально в нижней части? Это указывало бы на то, что, по крайней мере, служба пульса взаимодействует.
Longneck
Он говорит «Heartbeat: OK», так что, по крайней мере, канал связи открыт.
WaldenL
2

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

скоро
источник