Установка нескольких серверов NTP в/etc/systemd/timesyncd.conf

Страница справочника для timesyncd.conf (5) указывает, что установка для NTP является разделенным пробелом списком имен хостов сервера NTP или IP-адресов.

У нас есть два внутренних сервера NTP в нашей сети, обоих на той же подсети (10.10.10 0/24). На сервере Ubuntu 18.04, если я установил NTP на NTP = "10.10.10.100 10.10.10.101", timesyncd не будет синхронизироваться с теми серверами времени. Если я просто установил NTP на одного из них (NTP=10.10.10.100 или NFS=10.10.10.101), время синхронизируется как ожидалось.

Кто-либо еще видит то же поведение? Или действительно ли это - ошибка, которая должна быть (или был), отправленный?

Приложение: Вместо одной строки я пытался использовать несколько "NTP =" строки. Вместо:

NTP="10.10.10.100 10.10.10.101"

Я изменил его на:

NTP=10.10.10.100
NTP=10.10.10.101

После перезапуска systemd-timesyncd состояние теперь показывает время, синхронизируемое с первым сервером времени.

● systemd-timesyncd.service - Network Time Synchronization
   Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/systemd-timesyncd.service.d
           └─disable-with-time-daemon.conf
   Active: active (running) since Fri 2018-06-22 14:41:36 MDT; 3s ago
     Docs: man:systemd-timesyncd.service(8)
 Main PID: 2774 (systemd-timesyn)
   Status: "Synchronized to time server 10.10.10.100:123 (10.10.10.100)."
    Tasks: 2 (limit: 2322)
   CGroup: /system.slice/systemd-timesyncd.service
           └─2774 /lib/systemd/systemd-timesyncd

Jun 22 14:41:36 bpsubuntu18.sling.com systemd[1]: Starting Network Time Synchronization...
Jun 22 14:41:36 bpsubuntu18.sling.com systemd[1]: Started Network Time Synchronization.
Jun 22 14:41:36 bpsubuntu18.sling.com systemd-timesyncd[2774]: Synchronized to time server 10.10.10.100:123 (10.10.10.100).

Как дополнительный тест я добавил поддельную строку сервера времени перед двумя хорошими:

NTP=10.10.10.99
NTP=10.10.10.100
NTP=10.10.10.101

После другого перезапуска обслуживания и наблюдения порта 123 трафика с помощью tcpdump, я видел, что после отказа получить время от поддельного сервера NTP, timesyncd затем использовал следующий.

Таким образом, действительно ли страница справочника является неправильной? Или разве парсинг не является разделенным пробелом списком ошибка?

Я также хотел бы принести извинения за ввод NFS вместо NTP, когда я сначала отправил. Отвлеченный другой задачей я продолжал работать...

1
задан 22 June 2018 в 23:54

1 ответ

это по замыслу timesyncd. TL; DR способен использовать только один за раз.

Подробности: Если вы внимательно посмотрите на справочную страницу timesyncd, вы увидите, что в разделе о нескольких NTP-серверах говорится:

... пока не будет найдено одно, которое отвечает ...

Если вы будете копать глубже, вы обнаружите такие проблемы, как timesyncd: одновременное общение только с одним NTP-сервером и руководство systemd-timesyncd должно объяснить, что оно использует SNTP, а не NTP .

Таким образом, он возьмет первый из списка NTP =, который работает, и, если все там не получится, попробуйте список в FallbackNTP =.

Если вам нужны реальные межсерверные проверки для лучшей синхронизации, вам следует взглянуть на NTPd (< 18.04) / Chrony (> = 18.04), где приведена проблема systemd:

Да, systemd-timesyncd реализует SNTP, а не NTP, поэтому поддержка нескольких серверов не в фокусе. Если вам нужна полная реализация NTP, используйте ntpd или chrony.

10
ответ дан 22 June 2018 в 23:54

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

Похожие вопросы: