У меня есть коробка CentOS 4.6, которая раньше была физическим устройством и была преобразована в виртуальную машину, у которой есть задание cron для перезапуска сервера каждый день в 23:00. Что нормально.
Однако с момента перехода на виртуальный (на хосте Hyper-V) ни системное время, ни hwclock не останутся:
A) Синхронно друг с другом B) Отображение правильного времени
Я уже какое-то время ломаю голову над этим. Установка времени вручную приводит к безумному дрейфу времени очень быстро (я говорю о часах как о простых моментах); использование NTPD также не дает никакого эффекта. Кажется, синхронизируется, но по-прежнему отображается неправильное время.
Я пробовал это как с настройкой на виртуальной машине через Hyper-V, так и без нее на «Синхронизировать время». Но безрезультатно.
Проблема в том, что система считает, что сейчас 23:00. Что происходит несколько раз в день. Он перезапускается. И в конечном итоге это затронуло пользователей, которые полагаются на этот сервер.
Любая помощь приветствуется.
Я бы предпочел по-прежнему использовать NTP, а не команды ntpdate. ntpd будет вести статистику своего смещения и смещения.
Итак, просматривая пост Как избежать дрейфа часов на виртуальных машинах уже упоминалось:
Удалите любые -x
вариант от /etc/sysconfig/ntpd
. Поворот занимает вечность, и вам нужно исправить сумасшедшие смещения.
Добавить tinker panic 0
на вершину /etc/ntp.conf
. Опять сумасшедшие зачеты. В этом случае действительно желательно принимать ntpd во время бега.
затем service ntpd restart
и проверьте смещения с помощью ntpq -p
или другой мониторинг.
Вы сказали, что пробовали использовать синхронизацию времени Hyper-V как включенной, так и нет, запишите, какой из них вы установили в данный момент.
Get-VM -Name oldLinuxBox | Get-VMIntegrationService -Name "Time Synchronization"
Как очень уродливый бандаж, вы можете настроить ntpdate
бежать каждую минуту положить что-то подобное под /etc/cron.d
:
* * * * * root ntpdate
Чтобы позволить ntpdate
делать свою работу, обязательно остановите / отключите ntpd
служба. Затем перезапустите crond
Это уродливый взлом, но, как указано в комментариях, Hyper-V официально не поддерживает CentOS 4.x, поэтому это лучший метод, о котором я могу думать.