Почему NTP не синхронизирован на серверах, размещенных на Digital Ocean, с переходом на летнее время?

Начиная с летнего времени, монитор Sensu показывает, что NTP нескольких серверов, работающих на Digital Ocean (DO), не синхронизированы (12.345404ms - 98.338222ms):

CheckNTP WARNING: NTP offset by 34.073039ms

обсуждение

  1. Возможно, конфигурация NTP неверна?

    Конфигурация NTP отклонялась, но теперь та же самая конфигурация была применена, используя роль ntp Geerlingguy.

  2. Что произойдет, если NTP-сервер был перезапущен?

    Монитор указал, что NTP был синхронизирован, но через некоторое время проблема возникает снова.

  3. Что произойдет, если сервер NTP будет остановлен, время будет установлено вручную, а сервер ntp будет запущен снова?

    Идентичен трем.

  4. Возможно, проблема связана с платформой DO?

    Неизвестный. Решений в интернете не найдено.

  5. Что произойдет, если ближайший пункт будет выбран в качестве сервера времени?

    server 0.nl.pool.ntp.org iburst
    server 1.nl.pool.ntp.org iburst
    server 2.nl.pool.ntp.org iburst
    server 3.nl.pool.ntp.org iburst
    

    Когда NTP-сервер был перезапущен, время было синхронизировано, и позже время снова стало не синхронизированным.

  6. Синхронизируются ли капли, а потом - нет?

Да, это похоже на случай:

2 ответа

NTP (и SNTP) не предоставляют информацию о часовых поясах / переходе на летнее время. Скорее, он предоставляет точные эталонные часы UTC, которые клиент должен интерпретировать для отображения в правильном местном времени. Это означает, что переход на летнее время не должен иметь абсолютно никакого влияния на смещение / перекос тактовой частоты NTP.

Некоторые предложения:

  • какой клиент NTP вы используете? RHEL7 поставляется с chronieчто я нашел несколько менее точным, чем старый ntpd + ntpdate

  • удалить iburst опцию из вашего конфигурационного файла ntp и перезапустите клиент NTP

  • Обязательно используйте NTP-серверы, которые можно перезапустить с низким RTT (то есть: вы можете пинговать быстро)

  • проверка на перегрузку сети

  • обязательно прочитайте man-страницу NTP, так как она действительно содержит отличную документацию

Обратите внимание, что, по моему опыту, все системы VPN (не только системы DigitalOcean) используют главные часы, то есть часы, присутствующие на работающем хост-сервере. Этот сервер уже синхронизирован, как и ожидалось (вероятно, с NTP), и я не видел VPN, который еще не был синхронизирован даже без запуска NTP.

Единственная проблема, которую я заметил, заключается в том, что запуск NTP чаще вызывает проблемы, чем наоборот (без запуска NTP). Это связано с тем, что тактовая частота процессора может быть не на 100% зарезервирована для вашей VPN, и поэтому таймеры не будут такими точными, как ожидалось. NTP нужна точность этих таймеров, чтобы знать, как исказить системные часы. Однако я думаю, что в DigitalOcean вы всегда получаете процессоры, зарезервированные для вас. Поэтому таймеры работают как положено. На моем домашнем сервере, где я запускаю VirtualBox, время таймеров ЦП полностью искажено... потому что VirtualBox не резервирует определенный набор ЦП для каждой запущенной VPN.

Другие вопросы по тегам