Объявление 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 в качестве клиента NTP?
Об этом говорится в приведенной выше цитате, но в любом случае это варианты использования Chrony, которые не охватываются systemd-timesyncd:
- запуск NTP-сервера (чтобы другие хосты могли использовать этот хост в качестве источника для синхронизации);
- получение информации синхронизации NTP из нескольких источников (что важно для хостов, получающих эту информацию с публичных серверов в Интернете); и
- получение информации о синхронизации от местных часов, которая обычно включает специализированное оборудование, такое как устройства GPS, которые могут получать точную информацию о времени со спутников.
Эти варианты использования требуют Chrony или NTDP или аналогичные.