У меня проблема с синхронизацией времени после приостановки и включения через некоторое время.
Для демонстрации я подготовил следующий тест:
hwclock
и timedatectl status
Экран 1: показывает время до приостановки виртуальной машины
Экран 2: VSphere Client Suspend VM + Unregister VM
hwclock
и timedatectl status
команды снова, мы можем видеть некоторую разницу. В hwclock
команда показывает правильное время - Прошло 20 минут. Кроме того, в него входит +4 местного времени.Экран 3: показывает время после повторного запуска виртуальной машины (регистрация и включение)
Однако с timedatectl command
мы можем наблюдать правильный Время RTC (взято, вероятно, из hardware
время), а местное и всемирное время остались на стадии приостановки и «запуска» ВМ.
Проверял файл .vmx, записи о синхронизации времени нет. Еще один эффект - после перезапуска, конечно, время выставляется правильно.
Чтобы правильно синхронизировать время, достаточно, чтобы я выполнял следующие операции и время было правильным:
sudo service ntp stop
sudo ntpd -gq
sudo service ntp start
Однако я не могу делать это каждый раз, когда машина приостанавливается, а затем включается.
Можно ли время от времени проделывать эту операцию - проверить ntp
время с сервера и Обновить это при необходимости? Я не хочу выступать cron
каждые 5 минут. Мне кажется, это слабый решение.
РЕДАКТИРОВАТЬ: Кажется, что после X минут (около 8?), автоматическая синхронизация времени состоялась. Достаточно того, что я установил ntp
ранее? (sudo apt-get install ntp
) и однажды я проделал эту процедуру с sudo ntpd -gq
?
Можно ли установить, как часто должна выполняться синхронизация?
Экран 4: Подтверждение синхронизации
РЕДАКТИРОВАТЬ 2: Если машина была остановлена дольше (10 часов), время не синхронизировалось с сервером. Только местное время заменило время RTC ... Есть какие-нибудь советы?
РЕДАКТИРОВАТЬ 3: А пока установлю CRON делать работу каждые 10 мин.
*/10 * * * * /usr/sbnin/ntpd -gq 2>&1 >/dev/null
Но я не уверен в этом решении. Единственный, который пока работает.