Я создал виртуальную машину FreeBSD на облачном движке Google. Образ устанавливается с настроенным ntpd и работает:
$service ntpd status
ntpd is running as pid 4950.
Но дата в будущем, время на сервере идет слишком быстро.
$date
Mon Feb 25 15:59:38 UTC 2019
UTC сейчас: Mon Feb 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 не исправляет проблему, только когда я перезапускаю службу. С моих наивных глаз кажется, что секунда на виртуальной машине немного короче реальной секунды.
Поместите эту строку в rc.conf. Время будет синхронизироваться при запуске системы и / или при (повторном) запуске ntpd.
ntpd_sync_on_start="YES"
Этот параметр заставляет "ntpd" начинаться с опции "-грамм"(см. /etc/rc.d/ntpd), (см. man ntpd)
-g, --panicgate. Позвольте первой настройке быть Большой. Эта опция может появляться неограниченное количество раз. Обычно ntpd завершает работу с сообщением в системный журнал, если смещение превышает порог паники, который по умолчанию составляет 1000 с. Эта опция позволяет установить любое значение времени без ограничений; однако это может произойти только один раз. Если после этого порог будет превышен, ntpd выйдет с сообщением в системный журнал. Этот параметр можно использовать с параметрами -q и -x. См. Другие параметры в директиве файла конфигурации tinker.
Чтобы синхронизировать работающую систему:
1) остановить ntpd
# /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