L' annuncio di systemd-timesyncd nel file systemd NEWS fa un buon lavoro nel spiegare le differenze di questo strumento rispetto a Chrony e strumenti simili. (enfasi mia):
È stato aggiunto un nuovo demone "systemd-timesyncd" per sincronizzare l'orologio di sistema attraverso la rete. Implementa un client SNTP . A differenza delle implementazioni NTP come chrony o il server di riferimento NTP, questo implementa solo un lato client e non si preoccupa della piena complessità NTP, concentrandosi solo sull'interrogazione del tempo da un server remoto e sulla sincronizzazione dell'orologio locale con esso . A meno che non si intenda servire NTP per client in rete o non si desideri connettersi a orologi hardware locali, questo semplice client NTP dovrebbe essere più che appropriato per la maggior parte delle installazioni. [...]
Questa configurazione è un caso d'uso comune per la maggior parte degli host in una flotta di server. Di solito vengono sincronizzati dai server NTP locali, che a loro volta vengono sincronizzati da più fonti, incluso eventualmente l'hardware. systemd-timesyncd cerca di fornire una soluzione di facile utilizzo per quel caso d'uso comune.
Cercando di rispondere a domande specifiche:
Quali sono le differenze del mondo reale tra i due in termini di precisione?
Credo che tu possa ottenere una maggiore precisione ottenendo dati di sincronizzazione da più fonti, che non è specificamente un caso d'uso supportato per systemd-timesyncd. Ma quando lo si utilizza per ottenere dati di sincronizzazione dai server NTP centrali collegati alla propria rete interna affidabile, l'utilizzo di più origini non è poi così rilevante e si ottiene una buona precisione da un'unica fonte.
Se stai sincronizzando il tuo server da un server fidato in una rete locale e nello stesso datacenter , la differenza di precisione tra NTP e SNTP sarà praticamente inesistente. NTP può prendere in considerazione RTT e fare i tempi, ma non è molto utile quando RTT è veramente piccolo, come nel caso di una rete locale veloce e di un computer vicino. Inoltre non hai bisogno di più fonti se ti puoi fidare di quello che stai usando.
Quali sono le differenze di efficienza?
Ottenere la sincronizzazione da una singola fonte è molto più semplice che ottenerla da più fonti, poiché non è necessario prendere decisioni su quali fonti sono migliori di altre e possibilmente combinare informazioni da più fonti. Gli algoritmi sono molto più semplici e richiederanno meno carico della CPU per il caso semplice.
Quali sono i tempi di sincronizzazione "non semplici", ovvero i casi d'uso di chrony come client NTP?
Questo è affrontato nella citazione sopra, ma in ogni caso si tratta di casi d'uso per Chrony che non sono coperti da systemd-timesyncd:
- in esecuzione server NTP (in modo che altri host possano utilizzare questo host come sorgente per la sincronizzazione);
- ottenere informazioni sulla sincronizzazione NTP da più fonti (che è importante per gli host che ottengono tali informazioni dai server pubblici su Internet); e
- ottenere informazioni di sincronizzazione dall'orologio locale, che di solito coinvolge hardware specializzato come dispositivi GPS in grado di ottenere informazioni precise sul tempo dai satelliti.
Questi casi d'uso richiedono Chrony o ntpd o simili.