15.3. Utiliser Chrony

15.3.1. Installer Chrony

La suite chrony est installée par défaut sur certaines versions de Red Hat Enterprise Linux 7. Si requis, exécutez la commande suivante en tant qu'utilisateur root pour vous assurer qu'elle soit effectivement installée :
~]# yum install chrony
L'emplacement par défaut du démonchrony est /usr/sbin/chronyd. L'utilitaire de ligne de commande sera installé sur /usr/bin/chronyc.

15.3.2. Vérifier le statut de Chronyd

Pour vérifier le statut de chronyd, veuillez exécuter la commande suivante :
~]$ systemctl status chronyd
chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled)
   Active: active (running) since Wed 2013-06-12 22:23:16 CEST; 11h ago

15.3.3. Lancer Chronyd

Pour lancer chronyd, veuillez exécuter la commande suivante en tant qu'utilisateur root :
~]# systemctl start chronyd
Pour s'assurer que chronyd soit lancé automatiquement lors du démarrage système, veuillez exécuter la commande suivante en tant qu'utilisateur root :
~]# systemctl enable chronyd

15.3.4. Arrêter Chronyd

Pour arrêter chronyd, veuillez exécuter la commande suivante en tant qu'utilisateur root :
~]# systemctl stop chronyd
Pour empêcher le lancement automatique de chronyd pendant le démarrage système, veuillez exécuter la commande suivante en tant qu'utilisateur root :
~]# systemctl disable chronyd

15.3.5. Vérifier si Chrony est synchronisé

Pour vérifier si chrony est synchronisé, veuillez utiliser les commandes tracking, sources, et sourcestats.

15.3.5.1. Vérifier le suivi Chrony

Pour vérifier le suivi chrony, veuillez exécuter la commande suivante :
~]$ chronyc tracking
Reference ID    : 1.2.3.4 (a.b.c)
Stratum         : 3
Ref time (UTC)  : Fri Feb  3 15:00:29 2012
System time     : 0.000001501 seconds slow of NTP time
Last offset     : -0.000001632 seconds
RMS offset      : 0.000002360 seconds
Frequency       : 331.898 ppm fast
Residual freq   : 0.004 ppm
Skew            : 0.154 ppm
Root delay      : 0.373169 seconds
Root dispersion : 0.024780 seconds
Update interval : 64.2 seconds
Leap status     : Normal
Les champs sont comme suit :
Reference ID
Il s'agit de l'ID de référence et du nom (ou de l'adresse IP), si disponible, du serveur avec lequel l'ordinateur est actuellement synchronisé. S'il s'agit de 127.127.1.1, cela signifie que l'ordinateur n'est synchronisé à aucune source externe et que le mode « local » est en cours d'exécution (via la commande locale dans chronyc, ou la directive local dans le fichier /etc/chrony.conf (veuillez consulter la section local)).
Stratum
Le stratum indique à combien de sauts d'un ordinateur avec une horloge de référence attachée nous nous trouvons. Ce type d'ordinateur est un ordinateur stratum-1, ainsi l'ordinateur de l'exemple se trouve à deux sauts (c'est-à-dire, a.b.c est un stratum-2 et est synchronisé à partir d'un stratum-1).
Ref time
Il s'agit de l'heure (UTC) à laquelle la dernière mesure en provenance de la source de référence a été traitée.
System time
Lors d'une opération normale, chronyd ne réajuste jamais l'horloge système, car tout saut dans le calendrier peut avoir des conséquences adverses pour certains programmes d'application. Au lieu de cela, toute erreur dans l'horloge système est corrigée en l'accélérant ou en la ralentissant légèrement jusqu'à ce que l'erreur soit résolue, puis celle-ci retourne à la vitesse normale. Une conséquence de cela est qu'il y aura une période pendant laquelle l'horloge système (comme lue par d'autres programmes utilisant l'appel système gettimeofday(), ou par la commande de date dans le shell) sera différente de l'estimation de l'heure actuelle réelle de chronyd (qui est rapportée sur les clients NTP lors de son exécution en mode serveur). La valeur rapportée sur cette ligne est la différence causée par cet effet.
Last offset
Décalage local estimé lors de la dernière mise à jour de l'horloge.
RMS offset
Moyenne à long terme de la valeur de décalage.
Frequency
La valeur « frequency » est la vitesse à laquelle l'horloge système serait erronée si chronyd ne la corrigeait pas. Celle-ci est exprimée en ppm (parties par million). Par exemple, une valeur de 1ppm signifie que lorsque l'horloge système est une seconde en avance, celle-ci a réellement avancé de 1,000001 secondes, de manière relative à l'heure réelle.
Residual freq
Ceci affiche la « fréquence résiduelle » de la source de référence actuellement sélectionnée. Celle-ci reflète la différence entre ce que la fréquence devrait être selon les indications des mesures de la source de référence et la fréquence réellement utilisée. Le résultat ne correspond pas toujours zéro car une procédure d'ajustement est appliquée à la fréquence. Chaque fois qu'une mesure de la source de référence est obtenue et qu'une nouvelle fréquence résiduelle est calculée, la précision estimée de ce résidu est comparée à la précision estimée (consultez skew) de la valeur de la fréquence. Une moyenne pondérée est calculée pour la nouvelle fréquence, et les coefficients dépendent de la précision. Si les mesures de la source de référence suivent une tendance cohérente, le résidu se rapprochera de zéro petit à petit.
Skew
Estimation de la limite de l'erreur sur la fréquence.
Root delay
Total des délais de chemins réseau vers l'ordinateur stratum-1 à partir duquel l'ordinateur est finalement synchronisé. Dans certaines situations extrêmes, cette valeur peut être négative. (Cela peut se produire dans un arrangement de pairs symétriques dans lequel les fréquences des ordinateurs n'effectuent pas de suivi les unes des autres et où le délai réseau est très court relativement à la durée du délai d'exécution de chaque ordinateur.)
Root dispersion
Dispersion totale accumulée à travers tous les ordinateurs en retournant à l'ordinateur stratum-1 à partir duquel l'ordinateur est finalement synchronisé. La dispersion est dûe à la résolution de l'horloge système, aux variations des mesures des statistiques, etc.
Leap status
Statut de l'intercalaire, qui peut être « Normal », « Insert second » (insérer une seconde), « Delete second » (supprimer une seconde)¸ou « Not synchronized » (non synchronisé).

15.3.5.2. Vérifier les sources Chrony

La commande des sources affiche des informations sur les sources horaires actuelles accédées par chronyd. L'argument optionnel -v, qui signifie verbosité, peut être spécifié. Dans ce cas, des lignes de légende supplémentaires sont affichées comme rappel de la signification des colonnes.
~]$ chronyc sources
	210 Number of sources = 3
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
#* GPS0                          0   4   377    11   -479ns[ -621ns] +/-  134ns
^? a.b.c                         2   6   377    23   -923us[ -924us] +/-   43ms
^+ d.e.f                         1   6   377    21  -2629us[-2619us] +/-   86ms
Les colonnes sont comme suit :
M
Ceci indique le mode la source. ^ signifie un serveur, = signifie un pair, et # indique une horloge de référence connectée localement.
S
Cette colonne indique l'état des sources. « * » indique la source avec laquelle chronyd est actuellement synchronisé. « + » indique les sources acceptables qui sont combinées avec la source sélectionnée. « - » indique les sources acceptables qui sont exclues de l'algorithme de combinaison. « ? » indique les sources dont la connectivité a été perdue ou dont les paquets n'ont pas passé tous les tests. « x » indique une horloge que chronyd croit être de type falseticker (son heure est incohérente avec la majorité des autres sources). « ~ » indique une source dont la variabilité de l'heure semble trop importante. La condition « ? » est également affichée lors du démarrage, jusqu'à ce qu'au moins 3 échantillons en soient prélevés.
Name/IP address
Affiche le nom ou l'adresse IP de la source, ou l'ID de référence pour les horloges de référence.
Stratum
Affiche le stratum de la source ainais noté dans l'échantillon reçu le plus récemment. Stratum 1 indique un ordinateur avec une horloge de référence attachée localement. Un ordinateur synchronisé avec un ordinateur stratum 1 se trouve au stratum 2. Un ordinateur synchronisé avec un ordinateur stratum 2 se trouve au stratum 3, et ainsi de suite.
Poll
Affiche la vitesse à laquelle la source est sondée, en tant que logarithme de base 2 de l'intervalle en secondes. Ainsi, une valeur de 6 indiquerait qu'une mesure est prise toutes les 64 secondes. chronyd fait varier automatiquement la vitesse de sondage en réponse aux conditions actuelles.
Reach
Affiche l'enregistrement de la portée de la source imprimé en tant que nombre octal. L'enregistrement compte 8 bits et est mis à jour chaque fois qu'un paquet est reçu ou n'a pas été reçu de la source. Une valeur de 377 indique qu'une réponse valide a été reçue pour chacune des huit dernières transmissions.
LastRx
Cette colonne affiche le temps écoulé depuis que le dernier échantillon a été reçu de la source. Cette valeur est généralement exprimée en secondes. Les lettres m, h, d ou y indiquent les minutes, heures, jours ou années. Une valeur de 10 ans indique qu'aucun échantillon n'a encore été reçu de cette source.
Last sample
Cette colonne affiche le décalage entre l'horloge locale et la source lors de la dernière mesure. Le chiffre entre les crochets montre le décalage mesuré réel. Celui-ci peut être suivi du suffixe ns (indiquant des nanosecondes), us (indiquant des microsecondes), ms (indiquant des millisecondes), ou s (indiquant des secondes). Le nombre à gauche des crochets affiche la mesure d'origine ajustée pour permettre tout changement appliqué à l'horloge locale. Le nombre suivant qui se trouve après le marqueur +/- affiche la marge d'erreur de la mesure. Des décalages positifs indiquent que l'horloge locale est en avance comparé à la source.

15.3.5.3. Vérifier les statistiques des sources Chrony

La commande sourcestats affiche des informations sur le taux de dérive et sur le processus d'estimation de décalage de chacune des sources actuellement examinées par chronyd. On peut spécifier l'argument optionnel -v qui indique une sortie verbeuse. Dans ce cas, des lignes de légende supplémentaires sont affichées pour rappeler ce que les colonnes signifient.
~]$ chronyc sourcestats
210 Number of sources = 1
Name/IP Address            NP  NR  Span  Frequency  Freq Skew  Offset  Std Dev
===============================================================================
abc.def.ghi                11   5   46m     -0.001      0.045      1us    25us
Les colonnes sont comme suit :
Name/IP address
Nom ou adresse IP du serveur (ou pair) NTP ou de l'ID de référence de l'horloge de référence à laquelle le reste de la ligne se réfère.
NP
Nombre de points des échantillons actuellement conservés pour le serveur. Le taux de dérive et décalage actuel sont estimés en effectuant une régression linéaire à travers ces points.
NR
Nombre de courses des résidus possédant le même signe suivant la dernière régression. Si ce nombre devient trop bas par rapport au nombre d'échantillons, cela indique qu'une ligne droite ne conviendra plus aux données. Si le nombre de courses est trop bas, chronyd abandonnera les échantillons plus anciens et ré-exécutera la régression jusqu'à ce que le nombre de courses redevienne acceptable.
Span
Intervalle entre les échantillons les plus anciens et les plus récents. Si aucune unité n'est affichée, la valeur est en secondes. Dans l'exemple, l'intervalle est égale à 46 minutes.
Frequency
Fréquence résiduelle estimée du serveur, en parties par million. Dans ce cas, il est estimé que l'horloge de l'ordinateur exécute 1 partie sur 109 plus lentement que le serveur.
Freq Skew
Limites des erreurs estimées sur Freq (en partie par millon).
Offset
Estimation du décalage de la source.
Std Dev
Estimation de la déviation standard de l'échantillon

15.3.6. Ajuster l'horloge système manuellement

Pour mettre à jour, modifier, l'horloge système immédiatement, en outrepassant tout ajustement en cours, veuillez exécuter les commandes suivantes en tant qu'utilisateur root :
~]# chronyc
chrony> password commandkey-password
200 OK
chrony> makestep
200 OK
commandkey-password est la clé de commande ou le mot de passe stocké(e) dans le fichier clé.
Si la directive rtcfile est utilisée, l'horloge temps réel ne devrait pas être ajustée manuellement. Des ajustements aléatoires interféreront avec le besoin de chrony de mesurer le taux auquel l'horloge temps réel dérive.
Si chronyc est utilisé pour configurer le démon chronyd local, -a exécutera les commandes authhash et password automatiquement. Cela signifie que la session interactive illustrée ci-dessus peut être remplacée par :
chronyc -a makestep