systemd-timesyncd (Français)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Tango-preferences-desktop-locale.pngCet article ou section a besoin d'être traduit(e).Tango-preferences-desktop-locale.png

Notes: Cet article ne respecte pas la structure de sa version anglophone, merci de le réécrire en conséquence. Vous pouvez aussi ajouter à la version anglophone les informations à-jour et dignes d’intérêt qui ne seraient portées que par la version francophone. Voir Archwiki:Translation_Team_(Français) (Discuss in Talk:Systemd-timesyncd (Français)#)

systemd-timesyncd est un daemon qui peut être utilisé afin de synchroniser l'horloge du système avec un serveur NTP distant. Il effectue une sauvegarde de l'heure locale sur le disque chaque fois que l'horloge a été synchronisée et utilise cela pour avancer éventuellement l'horloge realtime du système lors des démarrage suivants afin d'assurer l'avance même si le système n'a pas de puce à batterie « horloge en temps réel » (RTC). Contrairement à NTP, systemd-timesyncd n'établit qu'un client SNTP. Il est ainsi moins complexe et vise à remplacer NTP lorsque l'accès à des clients en réseaux ou des horloges matérielles locales ne sont pas requis. Le daemon fonctionne avec des droits réduits et n'opère que lorsqu'une connexion est disponible.

Configuration

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

Lors du démarrage, systemd-timesyncd lit le fichier de configuration /etc/systemd/timesyncd.conf qui ressemble à :

/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 ou changer ceux qui sont inclus, décommentez la ligne adéquate et listez leur nom de domaine et IP séparés par une espace. Pour exemple ; vous pouvez utiliser n'importe quel serveur fourni par le projet NTP (en) ou utiliser ceux fournis par défaut par Arch Linux.

/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

Vous pouvez vérifier l'état de votre configuration via

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

Des serveurs NTP peuvent aussi être utilisés via systemd-networkd en utilisant NTP= option ou de manière dynamique via un serveur DHCP (en).

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

  • Tout serveur NTP par interface obtenu à partir de la configuration 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 de serveur NTP n'est acquise 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 activer ou démarrer systemd-timesyncd lancez :

timedatectl set-ntp true

Le processus de synchonisation peut être lent. Ce comportement est 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

Vous devriez obtenir, mutatis mutandis, un retour similaire à celui-ci :

               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

Liens