Оголошення Systemd-timesyncd в Systemd файлі NEWS робить хорошу роботу по поясненню відмінностей цього інструменту в порівнянні з Chrony і інструменти , як це. (наголос мій):
Новий «Systemd-timesyncd» демон був доданий для синхронізації внутрішнього годинника по всій мережі. Він реалізує клієнт SNTP . На відміну від реалізацій NTP, таких як chrony або NTP-сервер, цей реалізує лише клієнтську сторону і не переймається повною складністю NTP, зосереджуючись лише на запитах часу з одного віддаленого сервера та синхронізації локального годинника на ньому . Якщо ви не збираєтесь обслуговувати NTP для мережевих клієнтів або не хочете підключитися до локальних апаратних годин, цей простий клієнт NTP повинен бути більш ніж підходящим для більшості установок. [...]
Ця установка є загальним випадком використання для більшості хостів серверного флоту. Зазвичай вони синхронізуються з локальних серверів NTP, які самі синхронізуються з декількох джерел, можливо, включаючи апаратні. systemd-timesyncd намагається надати просте у використанні рішення для цього загального випадку використання.
Намагаючись вирішити ваші конкретні питання:
Які реальні світові відмінності між ними в точності?
Я вважаю, що ви можете отримати більш високу точність, отримавши дані синхронізації з декількох джерел, що конкретно не підтримується випадком використання для systemd-timesyncd. Але коли ви використовуєте їх для отримання даних синхронізації з центральних серверів NTP, підключених до вашої надійної внутрішньої мережі, використання декількох джерел насправді не так актуально, і ви отримуєте хорошу точність з одного джерела.
Якщо ви синхронізуєте ваш сервер із надійним сервером у локальній мережі та в тому самому центрі обробки даних , різниці в точності між NTP та SNTP практично не існуватимуть. NTP може враховувати RTT і робити часовий показник, але це не так вигідно, коли RTT насправді невеликий, що стосується швидкої локальної мережі та машини поблизу. Також вам не потрібно декілька джерел, якщо ви можете довіряти тому, який ви використовуєте.
Які відмінності в ефективності?
Отримати синхронізацію з одного джерела набагато простіше, ніж отримати її з декількох джерел, оскільки вам не потрібно приймати рішення про те, які джерела кращі за інші, і, можливо, комбінувати інформацію з кількох джерел. Алгоритми набагато простіші і вимагають меншої завантаження процесора для простого випадку.
Що таке "не прості" часові синхронізації?
Це розглянуто у цитаті вище, але у будь-якому випадку це випадки використання для Chrony, які не охоплені systemd-timesyncd:
- запуск сервера NTP (щоб інші хости могли використовувати цей хост як джерело для синхронізації);
- отримання інформації про синхронізацію NTP з декількох джерел (що важливо для хостів, які отримують цю інформацію з загальнодоступних серверів в Інтернеті); і
- отримання інформації про синхронізацію з місцевого годинника, яка зазвичай передбачає спеціалізоване обладнання, наприклад GPS-пристрої, які можуть отримувати точну інформацію про час із супутників.
Ці випадки використання вимагають Chrony або ntpd або подібних.