systemd-timesyncd (Français)

From ArchWiki

État de la traduction: Cet article est la version francophone de Systemd-timesyncd. Date de la dernière traduction: 2022-03-08. Vous pouvez aider à synchroniser la traduction s'il y a eu des changements dans la version anglaise.

Selon la liste de diffusion systemd :

systemd-timesyncd est un daemon qui a été ajouté pour synchroniser l'horloge du 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, celui-ci n'implémente qu'un côté client, et ne s'embarrasse pas de toute la complexité de NTP, se concentrant seulement sur l'interrogation de l'heure d'un serveur distant et la synchronisation de l'horloge locale avec celui-ci. A moins que vous n'ayez l'intention de servir le NTP à des clients en réseau ou que vous vouliez vous connecter à des horloges matérielles locales, ce simple client NTP devrait être plus qu'approprié pour la plupart des installations. Le daemon fonctionne avec des privilèges minimaux, et a été connecté à networkd pour ne fonctionner que lorsque la connectivité réseau est disponible. Le daemon sauvegarde l'horloge actuelle sur le disque à chaque fois qu'une nouvelle synchronisation NTP a été acquise, et l'utilise pour corriger éventuellement l'horloge du système au démarrage, afin de s'adapter aux systèmes qui n'ont pas de RTC comme le Raspberry Pi et les appareils embarqués, et s'assurer que le temps progresse de façon monotone sur ces systèmes, même si ce n'est pas toujours correct. Pour utiliser ce daemon, un nouvel utilisateur système et un groupe "systemd-timesync" doivent être créés lors de l'installation de systemd.

Configuration

Démarrez et activez systemd-timesyncd.service, qui est disponible via systemd.

Au démarrage, systemd-timesyncd lira le fichier de configuration de /etc/systemd/timesyncd.conf, qui ressemble à ceci :

/etc/systemd/timesyncd.conf
[Time]
#NTP=
#FallbackNTP=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org
#RootDistanceMaxSec=5
#PollIntervalMinSec=32
#PollIntervalMaxSec=2048

Pour ajouter des serveurs de temps ou modifier ceux qui sont fournis, décommentez la ligne correspondante et indiquez leur nom d'hôte ou leur adresse IP en les séparant par un espace. Par exemple, vous pouvez utiliser tous les serveurs fournis par le projet de pool NTP ou utiliser les serveurs par défaut d'Arch. (également fournis par le projet de pool NTP) :

/etc/systemd/timesyncd.conf
[Time]
NTP=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org
FallbackNTP=0.pool.ntp.org 1.pool.ntp.org 0.fr.pool.ntp.org

Pour vérifier votre configuration:

$ timedatectl show-timesync --all
LinkNTPServers=
SystemNTPServers=
FallbackNTPServers=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org
ServerName=0.arch.pool.ntp.org
ServerAddress=103.47.76.177
RootDistanceMaxUSec=5s
PollIntervalMinUSec=32s
PollIntervalMaxUSec=34min 8s
PollIntervalUSec=1min 4s
NTPMessage={ Leap=0, Version=4, Mode=4, Stratum=2, Precision=-21, RootDelay=177.398ms, RootDispersion=142.196ms, Reference=C342F10A, OriginateTimestamp=Mon 2018-07-16 13:53:43 +08, ReceiveTimestamp=Mon 2018-07-16 13:53:43 +08, TransmitTimestamp=Mon 2018-07-16 13:53:43 +08, DestinationTimestamp=Mon 2018-07-16 13:53:43 +08, Ignored=no PacketCount=1, Jitter=0 }
Frequency=22520548

Outre la configuration du daemon, les serveurs NTP peuvent également être fournis via une configuration [[Systemd-networkd (Français)#Section [NetDev]|systemd-networkd]] avec une option NTP= ou, de manière dynamique, via un serveur DHCP.

Le serveur NTP à utiliser est déterminé d'après les règles suivantes :

  • Tout serveur NTP par interface obtenu à partir de la configuration de systemd-networkd.service(8) ou via DHCP est prioritaire.
  • Les serveurs NTP définis dans /etc/systemd/timesyncd.conf seront ajoutés à la liste par interface lors de l'exécution et le daemon contactera les serveurs à son tour jusqu'à ce qu'il en trouve un qui réponde.
  • Si aucune information sur le serveur NTP n'est obtenue après ces étapes, les noms d'hôtes ou adresses IP du serveur NTP définis dans FallbackNTP= seront utilisés.
Note: Le service écrit dans un fichier local /var/lib/systemd/systemd/timesync/clock à chaque synchronisation. Cet emplacement est codé en dur et ne peut pas être modifié. Cela peut être problématique pour l'exécution d'une partition racine en lecture seule ou pour essayer de minimiser les écritures sur une carte SD.

Utilisation

Pour l' activer ou le démarrer lancez :

# timedatectl set-ntp true

Le processus de synchronisation peut être sensiblement lent. Ce comportement est normal et vous devriez patienter un moment avant de considérer qu'il y a un problème. Pour vérifier l'état du service, utilisez :

$ timedatectl status
               Local time: Thu 2015-07-09 18:21:33 CEST
           Universal time: Thu 2015-07-09 16:21:33 UTC
                 RTC time: Thu 2015-07-09 16:21:33
                Time zone: Europe/Amsterdam (CEST, +0200)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

Pour obtenir de plus amples informations sur le service, utilisez :

$ timedatectl timesync-status
       Server: 103.47.76.177 (0.arch.pool.ntp.org)
Poll interval: 2min 8s (min: 32s; max 34min 8s)
         Leap: normal
      Version: 4
      Stratum: 2
    Reference: C342F10A
    Precision: 1us (-21)
Root distance: 231.856ms (max: 5s)
       Offset: -19.428ms
        Delay: 36.717ms
       Jitter: 7.343ms
 Packet count: 2
    Frequency: +267.747ppm

Voir aussi