L' annonce de systemd-timesyncd dans le fichier systemd NEWS explique bien les différences de cet outil par rapport à Chrony et à des outils similaires. (c'est moi qui souligne):
Un nouveau démon "systemd-timesyncd" a été ajouté pour synchroniser l'horloge système sur le réseau. Il implémente un client SNTP . Contrairement aux implémentations NTP telles que chrony ou le serveur de référence NTP, cela implémente uniquement un côté client et ne dérange pas la complexité NTP complète, se concentrant uniquement sur l'interrogation de l'heure à partir d'un serveur distant et la synchronisation de l'horloge locale avec celui-ci . Sauf si vous avez l'intention de servir NTP à des clients en réseau ou si vous souhaitez vous connecter à des horloges matérielles locales, ce simple client NTP devrait être plus que approprié pour la plupart des installations. [...]
Cette configuration est un cas d'utilisation courant pour la plupart des hôtes d'un parc de serveurs. Ils seront généralement synchronisés à partir de serveurs NTP locaux, eux-mêmes synchronisés à partir de plusieurs sources, y compris éventuellement du matériel. systemd-timesyncd essaie de fournir une solution facile à utiliser pour ce cas d'utilisation courant.
Essayer de répondre à vos questions spécifiques:
Quelles sont les différences réelles entre les deux en termes de précision?
Je pense que vous pouvez obtenir une précision plus élevée en obtenant des données de synchronisation à partir de plusieurs sources, ce qui n'est spécifiquement pas un cas d'utilisation pris en charge pour systemd-timesyncd. Mais lorsque vous l'utilisez pour obtenir des données de synchronisation à partir de serveurs NTP centraux connectés à votre réseau interne fiable, l'utilisation de plusieurs sources n'est pas vraiment pertinente et vous obtenez une bonne précision d'une seule source.
Si vous synchronisez votre serveur à partir d'un serveur de confiance dans un réseau local et dans le même centre de données , la différence de précision entre NTP et SNTP sera pratiquement inexistante. NTP peut prendre en compte le RTT et faire du temps, mais ce n'est pas si avantageux lorsque votre RTT est vraiment petit, ce qui est le cas d'un réseau local rapide et d'une machine à proximité. Vous n'avez pas non plus besoin de plusieurs sources si vous pouvez faire confiance à celle que vous utilisez.
Quelles sont les différences d'efficacité?
Obtenir la synchronisation à partir d'une seule source est beaucoup plus simple que de l'obtenir à partir de plusieurs sources, car vous n'avez pas à décider quelles sources sont meilleures que d'autres et éventuellement à combiner des informations provenant de plusieurs sources. Les algorithmes sont beaucoup plus simples et nécessiteront moins de charge CPU pour le cas simple.
Quels sont les besoins de synchronisation temporelle "non simples" alias les cas d'utilisation de chrony en tant que client NTP?
Cela est abordé dans la citation ci-dessus, mais dans tous les cas, ce sont des cas d'utilisation de Chrony qui ne sont pas couverts par systemd-timesyncd:
- exécuter un serveur NTP (afin que d'autres hôtes puissent utiliser cet hôte comme source de synchronisation);
- obtenir des informations de synchronisation NTP à partir de plusieurs sources (ce qui est important pour les hôtes obtenant ces informations à partir de serveurs publics sur Internet); et
- obtenir des informations de synchronisation à partir de l'horloge locale, ce qui implique généralement du matériel spécialisé tel que des appareils GPS qui peuvent obtenir des informations précises sur l'heure des satellites.
Ces cas d'utilisation nécessitent Chrony ou ntpd ou similaire.