Время идет слишком быстро на FreeBSD 12 на вычислительном движке

Я создал виртуальную машину FreeBSD на облачном движке Google. Образ установлен с настроенным ntpd и работает:

$service ntpd status
ntpd is running as pid 4950.

Но дата в будущем, время идет слишком быстро на сервере.

$date
Mon Feb 25 15:59:38 UTC 2019

UTC сейчас: пн 25 февраля 10:31:21 UTC 2019

Я попытался перезапустить службу ntpd:

$service ntpd restart

без удачи. Я нашел обсуждение здесь: https://forums.freebsd.org/threads/the-system-clock-is-falling-behind.61450/. Мне нужен дрифт-файл, поэтому я добавил один:

$echo "0" > /var/db/ntpd.drift

Затем я остановился и запустил службу ntpd:

$service ntpd stop
$service ntpd start

Сейчас время правильное. Но я немного растерялся, это был жесткий стоп / старт или дрейф файл, который решил проблему.

[Обновить]

Подведем итог проблемы: время, когда сервер работает слишком быстро. Служба ntpd не исправляет проблему, только когда я перезапускаю службу. На мой наивный взгляд кажется, что секунда на ВМ немного короче настоящей секунды.

1 ответ

Поместите эту строку в rc.conf. Время будет синхронизировано при запуске системы и / или при повторном запуске ntpd.

ntpd_sync_on_start="YES"

Этот параметр заставляет "ntpd" запускаться с опцией "-g" (см. /Etc/rc.d/ntpd), (см. Man ntpd)

-g, --panicgate. Позвольте первой настройке быть Большой. Эта опция может появляться неограниченное количество раз. Обычно ntpd завершает работу с сообщением в системный журнал, если смещение превышает порог паники, который по умолчанию составляет 1000 с. Эта опция позволяет установить время на любое значение без ограничений; однако это может произойти только один раз. Если порог будет превышен после этого, ntpd выйдет с сообщением в системный журнал. Эта опция может использоваться с опциями -q и -x. См. Директиву файла конфигурации тинкера для других опций.

Для синхронизации работающей системы:

1) остановить нтпд

# /etc/rc.d/ntpd stop
Stopping ntpd.

2) время синхронизации

# ntpdate 2.freebsd.pool.ntp.org
25 Feb 13:58:42 ntpdate[78591]: adjust time server 62.197.207.182 offset 0.003268 sec

3) запустить ntpd

# /etc/rc.d/ntpd start
Starting ntpd.

Ответить на ваш вопрос

Был ли это жесткий останов / запуск или дрейф-файл, который решил проблему?

Должно быть, это был "жесткий стоп / старт". Driftfile используется для тонкой настройки частоты часов. Это не может объяснить разницу в 5 часов.

FWIW. Смотрите ниже мой дрифт-файл во FreeBSD на DO.

# cat /var/db/ntpd.drift 
0.075

# ps ax | grep ntpd
26681  -  Ss       22:51.54 /usr/sbin/ntpd -g -c /etc/ntp.conf -p /var/run/ntpd.pid -f /var/db/ntpd.drift

При использовании ntpd и ntpdateуменьшит проблему, время между обновлениями будет продолжать меняться. Кроме того, текущие образы GCE для FreeBSD 12 уже настроены для синхронизации с сервером времени Google, но проблема все еще остается. Это известная проблема FreeBSD 12 в Google Compute Engine.

Проверьте GCE: значительный дрейф часов - решение для исправления этого. Резюмируя:

/boot/loader.conf:

machdep.disable_tsc_calibration=1
kern.timecounter.invariant_tsc=1

/etc/sysctl.conf:

kern.timecounter.hardware=TSC-low
Другие вопросы по тегам