NTP : passage de chrony à systemd-timesyncd

NTP : passage de chrony à systemd-timesyncdC’est à partir d’un commentaire lu dans le forum Fedora-fr que j’ai décidé de troquer mon serveur de temps chrony pour le démon systemd-timesyncd. Chrony, comme ntpd et comme systemd-timesyncd permettent de synchroniser l’heure de votre système Linux avec des serveurs de temps distants.

La différence entre chrony et systemd-timesyncd est que le 1er est aussi un serveur de temps, là où systemd ne propose qu’un simple client pour synchroniser votre machine (netstat -lntup|grep 123). Ne vous trompez pas d’usage !

Désactivation de chrony

J’ai tout d’abord désactivé et arrêté chrony :

systemctl stop chronyd
systemctl disable chronyd

J’ai même désinstallé le paquet à l’aide de la commande dnf sous Fedora :

dnf remove chrony

Configuration de systemd-timesyncd

J’ai modifié le fichier /etc/systemd/timesyncd.conf en indiquant les serveurs de temps français :

[Time]
NTP=0.fr.pool.ntp.org 1.fr.pool.ntp.org 2.fr.pool.ntp.org 3.fr.pool.ntp.org
FallbackNTP=3.fr.pool.ntp.org 2.fr.pool.ntp.org 2.fr.pool.ntp.org 0.fr.pool.ntp.org

Activation et démarrage de systemd-timesyncd

systemd-timesyncd se lance et s’active en une seule commande :

timedatectl set-ntp true

Vous pouvez vérifier que le démon systemd-timesynd est lancé à l’aide la commande :

timedatectl status

                      Local time: mer. 2018-05-16 00:06:38 CEST
                  Universal time: mar. 2018-05-15 22:06:38 UTC
                        RTC time: mar. 2018-05-15 22:06:38
                       Time zone: Europe/Paris (CEST, +0200)
       System clock synchronized: yes
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

Pour savoir sur quel serveur de temps vous êtes synchronisé, faites :

systemctl status systemd-timesyncd

● systemd-timesyncd.service - Network Time Synchronization
   Loaded: loaded (/usr/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2018-05-15 23:51:56 CEST; 33min ago
     Docs: man:systemd-timesyncd.service(8)
 Main PID: 8091 (systemd-timesyn)
   Status: "Synchronized to time server 212.51.181.242:123 (0.fr.pool.ntp.org)."
    Tasks: 2 (limit: 4915)
   CGroup: /system.slice/systemd-timesyncd.service
           └─8091 /usr/lib/systemd/systemd-timesyncd

mai 15 23:51:56 srv2 systemd[1]: Starting Network Time Synchronization...
mai 15 23:51:56 srv2 systemd[1]: Started Network Time Synchronization.
mai 15 23:51:56 srv2 systemd-timesyncd[8091]: Synchronized to time server 212.51.181.242:123 (0.fr.pool.ntp.org).

Documentation

Linux  / Formateur Linux Linux Network Time Protocol Ntp Systemd 

Commentaires

Salut Denis,

Je suis allé lire le lien, je ne suis guère convaincu. Tu as fait ce changement sur un Pi et sur des serveurs ?

On est passé récemment sous Chrony au job et une réflexion rapide a été lancée sur systemd-timesyncd. Histoire d’éviter que tout ne soit géré par systemd donc de mettre tous les œufs dans le même panier, on a retenu Chrony. systemd c’est bien mais c’est loin d’être parfait et sans bug également.

Tcho !

@Cascador

Je l’ai mis sur mes serveurs de prod au niveau Fedora. On verra. Ce qui me manque, c’est l’équivalent de la commande chronyc. Depuis hier, il semble accroché au même serveur. Je vais peut-être compléter la ligne FallBack. ;+)

Bises.

Pour info voir le 5.1 et le 5.5 :
https://chrony.tuxfamily.org/faq.html

Je trouve Chrony en tout point mieux que systemd-timesyncd, les fonctionnalités offertes par un outil c’est important aussi.

Tcho !

@Cascador

systemd-timesyncd a le défaut de ne pas être un serveur. Ce n’est pas le même usage. Je n’ai pas besoin de serveur NTP.

Bises.

Et même en mettant SELinux à « Permissive » ou « 0 », il reste ce bug : https://bugzilla.redhat.com/show_bug.cgi?id=1559286

Mais qui peut facilement se corriger en mettant les bonnes permissions sur « /var/lib/private », à savoir 700.

@Nicolas K.

Je suis resté sur la 27. J’attends un peu avant de basculer à la 28. ;+) Et ça semble marcher. Mais il faut régler les paramètres :

RootDistanceMaxSec=1
PoolIntervalMinSec=20 (16 mini, 32 par défaut)
PoolIntervalMaxSec=60 (2048 par défaut)

La première chose que je fais sur une RHEL/CentOS 7 fraîche, c’est supprimer chrony pour le remplacer par ce bon vieux NTP. :o)

@Nicolas

J’ai toujours mis Chrony, depuis qu’il existe sans constater le moindre problème. Le diable se cache sans doute dans les détails. ;+)

Laisser un commentaire

(requis)

(requis)