Indice dei contenuti dell'articolo:
Introduzione
La sincronizzazione del tempo è un aspetto cruciale per qualsiasi sistema informatico. Un orologio di sistema non sincronizzato può causare una serie di problemi, che vanno da log errati a malfunzionamenti di applicazioni e servizi. In passato, ntpdate
era uno strumento popolare utilizzato per sincronizzare l’orologio di sistema con un server NTP (Network Time Protocol). Tuttavia, dalla versione di RHEL 8 e derivate, Red Hat ha eliminato ntpdate
e lo ha sostituito con Chronyd
. In questo post, esploreremo cosa è ntpdate
, come Chronyd
lo ha sostituito e come utilizzare Chronyd
su CentOS 8 e RHEL 8 o derivate tra cui AlmaLinux, Rocky Linux e simili.
Cosa è ntpdate?
ntpdate
è un’utilità software che fa parte della suite di protocolli e strumenti NTP (Network Time Protocol). Questo comando è specificamente progettato per sincronizzare l’orologio di sistema di un computer con un server NTP remoto. L’obiettivo principale di ntpdate
è fornire un meccanismo rapido e relativamente semplice per portare l’orologio di sistema in allineamento con un riferimento temporale affidabile. Questo è particolarmente utile in scenari in cui è necessaria una sincronizzazione del tempo “una tantum”, come durante l’avvio del sistema o in ambienti in cui la macchina non è in esecuzione 24/7.
La funzionalità di ntpdate
è focalizzata su operazioni di sincronizzazione temporale immediate e non è progettata per fornire una sincronizzazione del tempo in tempo reale o continua. In altre parole, una volta eseguito il comando ntpdate
, l’orologio del sistema viene sincronizzato una sola volta e non ci sono meccanismi integrati per mantenere questa sincronizzazione nel tempo. Questa è una delle ragioni per cui ntpdate
è spesso utilizzato in combinazione con ntpd
(Network Time Protocol Daemon) o altri demoni NTP.
Ntpd
, a differenza di ntpdate
, è un demone che esegue una sincronizzazione del tempo in background, monitorando costantemente più server NTP e utilizzando algoritmi sofisticati per determinare l’ora più accurata. Gli amministratori di sistema che necessitano di una sincronizzazione del tempo più robusta e continua spesso optano per l’uso di ntpd
o di altri servizi simili, riservando ntpdate
per operazioni di sincronizzazione iniziale o per casi d’uso specifici in cui una sincronizzazione una tantum è sufficiente.
Perché Chronyd?
Con l’introduzione di RHEL 8 e derivate, ntpdate
è stato deprecato e sostituito da Chronyd
, un demone più moderno e flessibile per la sincronizzazione del tempo. Chronyd
è stato progettato per lavorare sia come client che come server, fornendo una sincronizzazione del tempo più accurata e affidabile rispetto a ntpdate
. Inoltre, Chronyd
è più adatto per sistemi che hanno connessioni Internet intermittenti o che passano frequentemente tra diverse reti.
Installazione di Chronyd su CentOS 8 e RHEL 8
Per installare Chronyd
su CentOS 8 o RHEL 8, segui i seguenti passaggi:
- Apri il terminale: Accedi come utente root o utilizza
sudo
per i comandi successivi. - Aggiorna il sistema: Esegui il comando
sudo dnf update
per assicurarti di avere tutti gli aggiornamenti più recenti. - Installa Chronyd: Esegui il comando
sudo dnf install chrony
. - Abilita e avvia il servizio: Utilizza i seguenti comandi per abilitare e avviare il servizio
chronyd
.sudo systemctl enable chronyd
sudo systemctl start chronyd - Verifica lo stato: Per assicurarti che
Chronyd
sia in esecuzione, eseguisudo systemctl status chronyd
.
Sintassi di Uso Avanzato di Chronyd
Una volta completata l’installazione di Chronyd sul tuo sistema CentOS 8 o RHEL 8, avrai a disposizione una serie di comandi e opzioni per configurare, gestire e monitorare la sincronizzazione del tempo. Questi comandi sono accessibili attraverso l’interfaccia della riga di comando di chronyc
, che è il client di comando per il demone chronyd
. Di seguito, approfondiamo alcuni dei comandi più comuni e utili che puoi utilizzare per interagire con Chronyd.
Visualizzare le Informazioni sullo Stato della Sincronizzazione
Il comando chronyc tracking
è estremamente utile per ottenere un quadro dettagliato dello stato attuale della sincronizzazione del tempo. Questo comando fornisce informazioni come l’offset del tempo, il ritardo di rete e l’ultimo server NTP con cui il sistema è stato sincronizzato. È un ottimo punto di partenza per diagnosticare problemi o per avere un’idea generale dell’efficacia della tua configurazione NTP.
Elencare i Server NTP
Per avere una visione completa dei server NTP ai quali il tuo sistema è attualmente connesso o sta tentando di connettersi, puoi utilizzare il comando chronyc sources
. Questo comando elenca tutti i server NTP configurati, mostrando anche lo stato di ciascuno di essi, che può essere utile per identificare problemi di connettività o latenza.
Aggiungere un Server NTP
Se desideri aggiungere un nuovo server NTP alla tua configurazione, dovrai modificare il file di configurazione chrony.conf
. Questo file è generalmente situato nella directory /etc/chrony/
. Per aggiungere un nuovo server, apri il file con un editor di testo come vi
o nano
e aggiungi la seguente riga:
server [nome_server] iburst
Qui, [nome_server]
è l’indirizzo IP o il nome di dominio del server NTP che desideri aggiungere. L’opzione iburst
è raccomandata perché tenta di sincronizzare rapidamente con il server, eseguendo una sequenza di query in rapida successione.
Forzare una Sincronizzazione Immediata
In certi scenari, come dopo aver apportato modifiche significative alla configurazione del server o alla rete, o in situazioni in cui è critico che il sistema sia allineato con precisione ad un server NTP, potrebbe emergere la necessità di forzare una sincronizzazione del tempo in modo immediato. In questi casi, attendere che il demone chronyd
completi la sua routine di sincronizzazione in background potrebbe non essere un’opzione praticabile.
Per risolvere questo problema e imporre una sincronizzazione immediata, il comando chronyc makestep
è la soluzione ideale. Quando eseguito, questo comando instrada chronyd
ad aggiornare l’orologio del sistema il più rapidamente possibile. Questo avviene senza tener conto delle impostazioni di drift (la variazione dell’orologio del sistema nel tempo) o dei limiti di correzione del tempo che potrebbero normalmente influenzare la velocità o la frequenza con cui chronyd
aggiorna l’orologio del sistema.
È importante notare che l’uso del comando chronyc makestep
è un’azione piuttosto drastica e dovrebbe essere utilizzato con cautela. È consigliabile utilizzarlo solo quando è assolutamente necessario forzare una sincronizzazione immediata e non come pratica comune. Questo perché forzare frequentemente la sincronizzazione del tempo potrebbe avere implicazioni sulla stabilità del sistema e sulla precisione del logging e di altre funzioni che dipendono da un orologio di sistema accurato.
Conclusione
La sincronizzazione del tempo è un elemento vitale per il corretto funzionamento di qualsiasi sistema. Anche se ntpdate
è stato un utile strumento per la sincronizzazione del tempo, la sua deprecazione in favore di Chronyd
su RHEL 8 e derivate rappresenta un passo avanti significativo. Chronyd
offre una maggiore flessibilità, precisione e affidabilità, rendendolo una scelta eccellente per la gestione del tempo su sistemi moderni.
Seguendo le istruzioni di installazione e configurazione fornite in questo post, dovresti essere in grado di impostare Chronyd
su CentOS 8 e RHEL 8 o derivate con facilità. Con Chronyd
, non solo garantisci che il tuo sistema sia sempre sincronizzato con l’ora esatta, ma ottieni anche un controllo più granulare sul processo di sincronizzazione.