Дрейф времени хоста Vmware


10

Как можно гарантировать, что хосты linux, работающие на vmware Infrastructure 3 или vmware 3 esxi, будут синхронизированы с сервером ntp. Я обнаружил, что у гостя linux, работающего под esx или esxi, есть тенденция к смещению часов в будущем.

Как обеспечить синхронизацию времени с сервером времени? Нужно ли развертывать инструменты VMware на хосте Linux? а затем синхронизировать хост с сервером ntp, гостем с хостом и с сервером ntp?

Ответы:


6

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

Я обнаружил, что если вы установите vmware tools на гостя, он автоматически синхронизирует время с временем хоста.


Я также обнаружил, что мне нужно было добавить clocksource = pit к загрузочной линии ядра grub.
Скотт

9

Краткий ответ: правильные параметры ядра и конфигурация ntpd

Длинный ответ: у VMware есть документ с рекомендациями, который очень хорош в этом, http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1006427

Обратите внимание, что это несколько противоречит некоторой информации в этой теме. Например, особенно рекомендуется больше не использовать функцию временной синхронизации vmware-tools.


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

4

Да, установка vmware-tools для инструмента синхронизации часов важна, но может быть недостаточной.

Для меня сработало добавление параметра загрузки ядра:

clock=pit notsc

Это устанавливает источник синхронизации на то, что vmware постоянно обновляет, и отключает счетчик синхронизации времени.

Возможно, не связано, но на достаточно недавних ядрах я всегда добавляю:

divider=10

что значительно снижает использование гостевого процессора.

Оба они также полезны с установленными инструментами vmware или без них и помогают более точно синхронизировать часы (вместо постоянной борьбы между быстро дрейфующими часами и сервисом синхронизации часов инструментов vmware).


3

Да, вы должны установить vmware-tools на клиенте VM. Затем вы можете установить флажок «синхронизировать время гостя с хостом» на экране «Параметры» виртуальной машины.


1

Есть ответ, который уже выбран (и это лучший ответ, поскольку инструменты vmware дают вам много других преимуществ), но другой вариант также заключается в запуске обычных команд ntpdate в cron. Это исправляет ваши часы, однако не управляет смещением часов, но работает в крайнем случае.


1

Будьте осторожны с ntpdate или rdate, обычно не стоит переносить время на трудный путь, поскольку многие серверные приложения зависят от непрерывного времени.

Например, Dovecot просто выйдет, если обнаружит большой сдвиг времени.


Кроме того, никогда не используйте ntpdate в сочетании с собственной функцией синхронизации времени VMWare. В результате VMWare может установить существенное дрейфовое соединение после того, как ntpdate обновит тактовую частоту, делая вещи столь же неточными, как и в другом направлении.
Дэвид Спиллетт

1

Если вы используете «тиканье» ядро ​​(2.6.22+ по умолчанию - IIRC) в гостевых системах, то смещением часов легче управлять. Я обнаружил, что использование NTP более точно, чем собственный инструмент VMWare, но я не проверял это с научной точки зрения.

Чтобы прекратить NTP, просто сдаваясь, если из-за большой нагрузки или из-за других проблем такты смещаются слишком далеко (это случается гораздо реже с новыми ядрами, но все еще может случиться), убедитесь, что у вас есть строка «tinker panic 0» в верхней части или рядом с ней. вашего ntp.conf.

Чтобы быть внимательным, синхронизируйте часы своих хост-машин с общедоступными часами и виртуальными машинами с хостом - не связывайте все свои виртуальные машины отдельно с общедоступными серверами времени.

Кроме того: не используйте собственную гостевую синхронизацию часов VMWare одновременно с NTPD. Они сработают, оставив часы вашей виртуальной машины в неопределенном и ненадежном состоянии.



0

Если вы устанавливаете демон NTP на гостевой компьютер Linux в качестве клиента, он будет периодически проверять и проверять, чтобы ваши часы не дрейфовали в долгосрочной перспективе. Вам не нужно выполнять какую-либо необычную синхронизацию хост-гость, потому что сервер просто ... в сети. :)


1
NTP в ВМ, скорее всего, НЕ решит эту проблему. Проблема с запуском в качестве виртуальной машины заключается в том, что вы не обязательно получаете постоянное количество тактов в секунду. В этих условиях ntp обычно довольно быстро прекращает попытки синхронизации. Вам нужно либо пойти по пути vmware-tools, либо выполнить грубый 'rdate -s $ SERVER' из cron, чтобы выручить часы.
Дэвид Макинтош

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.