NTP et PTP synchronisation

Pour vérifier la synchronisation des protocoles NTP (Network Time Protocol) et PTP (Precision Time Protocol) sur vos serveurs et clients.

Vérifier la synchronisation

Il est nécessaire d’exécuter les actions sur le serveur et les clients.

NTP - Network Time Protocol

Vérifiez si le service NTP est en cours d’exécution :

# systemctl status chronyd

Vérifiez si les clients sont synchronisées avec le serveur NTP :

# chronyc tracking

Exemple de sortie :

Reference ID    : 0A424242 (mon-serveur-test.my.company.org)
Stratum : 2
Ref time (UTC) : Wen Mar 22 11:38:29 2023
System time : 0.000000012 seconds slow of NTP time
Last offset : -0.000009785 seconds
RMS offset : 0.000012122 seconds
Frequency : 4.541 ppm slow
Residual freq : -0.007 ppm
Skew : 0.238 ppm
Root delay : 0.000097821 seconds
Root dispersion : 0.001114622 seconds
Update interval : 64.2 seconds
Leap status : Normal

PTP - Precision Time Protocol

Vérifiez si le service PTP est en cours d’exécution, aux choix :

# ptpd-core status
# service ptp4l status
# service phc2sys status

Il est aussi possible de vérifier si PTP fonctionne correctement en regardant dans le fichier /var/log/messages les logs indiquant des décalages et ajustements de fréquence sur les sorties ptp4l et/ou phc2sys (horodatage matériel) :

# cat /var/log/syslog | grep ptp4l
# cat /var/log/syslog | grep phc2sys

Exemple de sortie :

ptp4l[352.359]: selected /dev/ptp0 as PTP clock
ptp4l[352.361]: port 1: INITIALIZING to LISTENING on INITIALIZE
ptp4l[352.361]: port 0: INITIALIZING to LISTENING on INITIALIZE
ptp4l[353.210]: port 1: new foreign master 00a069.fffe.0b552d-1
ptp4l[357.214]: selected best master clock 00a069.fffe.0b552d
ptp4l[357.214]: port 1: LISTENING to UNCALIBRATED on RS_SLAVE
ptp4l[359.224]: master offset 3304 s0 freq +0 path delay 9202
ptp4l[360.224]: master offset 3708 s1 freq -29492 path delay 9202
ptp4l[361.224]: port 1: UNCALIBRATED to SLAVE on MASTER_CLOCK_SELECTED
ptp4l[362.223]: master offset -145 s2 freq -30580 path delay 9202
ptp4l[363.223]: master offset 1043 s2 freq -29436 path delay 8972
[...]
phc2sys[526.527]: Waiting for ptp4l...
phc2sys[528.528]: phc offset 55341 s0 freq +0 delay 2729
phc2sys[529.528]: phc offset 54658 s1 freq -37690 delay 2725
phc2sys[530.528]: phc offset 888 s2 freq -36802 delay 2756

Vérifiez si les clients peuvent être synchronisés PTP via la commande pmc (PTP management client) qui peut s’utiliser avec 3 actions :

  • GET récupère les informations spécifiées
  • SET met à jour les informations spécifiées
  • CMD (ou COMMAND) lance l’événement spécifié
# pmc "GET PTPD_SYNC_STATE"

Egalement :

# pmc -u -b 0 'GET CURRENT_DATA_SET'
sending: GET CURRENT_DATA_SET
90e2ba.fffe.20c7f8-0 seq 0 RESPONSE MANAGMENT CURRENT_DATA_SET
stepsRemoved 1
offsetFromMaster -142.0
meanPathDelay 9310.0

Ou encore :

# pmc -u -b 0 'GET TIME_STATUS_NP'
sending: GET TIME_STATUS_NP
90e2ba.fffe.20c7f8-0 seq 0 RESPONSE MANAGMENT TIME_STATUS_NP
master_offset 310
ingress_time 1361545089345029441
cumulativeScaledRateOffset +1.000000000
scaledLastGmPhaseChange 0
gmTimeBaseIndicator 0
lastGmPhaseChange 0x0000'0000000000000000.0000
gmPresent true
gmIdentity 00a069.fffe.0b552d

Documentation

https://access.redhat.com/documentation/fr-fr/red_hat_enterprise_linux/7/html/system_administrators_guide/sect-using_chrony
https://access.redhat.com/documentation/fr-fr/red_hat_enterprise_linux/7/html/system_administrators_guide/sec-verifying_time_synchronization
https://manpages.ubuntu.com/manpages/xenial/man8/pmc.8.html
https://access.redhat.com/documentation/fr-fr/red_hat_enterprise_linux/6/html/deployment_guide/s1-using_the_ptp_management_client
https://access.redhat.com/solutions/638753

> Partager <