Comment configurer la synchronisation de l'heure sur Debian 9 – Serveur d’impression
Sommaire
introduction
Un chronométrage précis est devenu un élément essentiel des déploiements de logiciels modernes. Qu'il s'agisse de s'assurer que les journaux sont enregistrés dans le bon ordre ou que les mises à jour de la base de données sont appliquées correctement, le temps de désynchronisation peut provoquer des erreurs, une corruption des données et d'autres problèmes difficiles à déboguer.
Debian 9 dispose d'une synchronisation horaire intégrée et activée par défaut à l'aide du serveur horaire ntpd standard, fourni par le ntp
paquet. Dans cet article, nous examinerons certaines commandes de base liées au temps, vérifierons que ntpd est actif et connecté à des pairs et apprendrons comment activer le service de temps réseau alternatif systemd-timesyncd.
Conditions préalables
Avant de commencer ce tutoriel, vous aurez besoin d'un serveur Debian 9 avec un utilisateur non root, activé par sudo, comme décrit dans ce tutoriel de configuration du serveur Debian 9.
Navigation dans les commandes de temps de base
La commande la plus simple pour connaître l'heure sur votre serveur est Date
. Tout utilisateur peut saisir cette commande pour imprimer la date et l'heure:
Production
Mar. 4 sept. 17:51:49 UTC 2018
Le plus souvent, votre serveur sera par défaut le UTC fuseau horaire, comme souligné dans la sortie ci-dessus. UTC est Temps universel coordonné, l'heure à zéro degré de longitude. L'utilisation constante du temps universel réduit la confusion lorsque votre infrastructure s'étend sur plusieurs fuseaux horaires.
Si vous avez des exigences différentes et devez changer le fuseau horaire, vous pouvez utiliser le timedatectl
commande pour le faire.
D'abord, listez les fuseaux horaires disponibles:
- timedatectl list-timezones
Une liste des fuseaux horaires s'imprime sur votre écran. Vous pouvez appuyer sur ESPACE
page vers le bas, et b
à la page. Une fois que vous avez trouvé le fuseau horaire correct, notez-le, puis tapez q
pour quitter la liste.
Maintenant, définissez le fuseau horaire avec timedatectl set-timezone
, en veillant à remplacer la partie en surbrillance ci-dessous par le fuseau horaire que vous avez trouvé dans la liste. Vous devrez utiliser sudo
avec timedatectl
pour faire ce changement:
- sudo timedatectl set-timezone Amérique / New_York
Vous pouvez vérifier vos modifications en exécutant Date
encore:
Production
Mar. 4 sept. 13:52:57 EDT 2018
L'abréviation du fuseau horaire doit refléter la nouvelle valeur choisie.
Maintenant que nous savons comment vérifier l'horloge et définir les fuseaux horaires, assurons-nous que notre heure est correctement synchronisée.
Vérification de l'état de ntpd
Par défaut, Debian 9 exécute le serveur ntpd standard pour synchroniser l'heure de votre système avec un pool de serveurs de temps externes. Nous pouvons vérifier qu'il fonctionne avec le systemctl
commander:
- sudo systemctl status ntp
Production
● ntp.service - LSB: démarrez le démon NTP
Chargé: chargé (/etc/init.d/ntp; généré; préréglage fournisseur: activé)
Actif: actif (en cours d'exécution) depuis le mar 2018-09-04 15:07:03 EDT; Il y a 30min
Documents: man: systemd-sysv-generator (8)
Processus: 876 ExecStart = / etc / init.d / ntp start (code = exit, status = 0 / SUCCESS)
Tâches: 2 (limite: 4915)
CGroup: /system.slice/ntp.service
└─904 / usr / sbin / ntpd -p /var/run/ntpd.pid -g -u 105: 109
. . .
le actif (en cours d'exécution)
l'état indique que ntpd a démarré correctement. Pour obtenir plus d'informations sur l'état de ntpd, nous pouvons utiliser le ntpq
commander:
Production
refid à distance st t lorsque le sondage atteint le retard décalage de la gigue
================================================== ============================
0.debian.pool.n .POOL. 16 p - 64 0 0,000 0,000 0,000
1.debian.pool.n .POOL. 16 p - 64 0 0,000 0,000 0,000
2.debian.pool.n .POOL. 16 p - 64 0 0,000 0,000 0,000
3.debian.pool.n .POOL. 16 p - 64 0 0,000 0,000 0,000
-eterna.binary.n 204.9.54.119 2 u 240256377 35.392 0.142 0.211
-statique-96-244-9 192.168.10.254 2 u 60256377 10.242 1.297 2.412
+ minime.fdf.net 83.157.230.212 3 u 99256377 24.042 0.128 0.250
* t1.time.bf1.yah 98.139.133.62 2 u 31256377 11.112 0,621 0,186
+ x.ns.gin.ntt.ne 249.224.99.213 2 u 108256377 1,290 -0,073 0,132
-ord1.m-d.net 142.66.101.13 2 u 473512377 19.930 -1.764 0.293
ntpq
est un outil de requête pour ntpd. le -p
indicateur demande des informations sur les serveurs NTP (ou peers) ntpd est connecté à. Votre sortie sera légèrement différente, mais devrait répertorier les serveurs de pool Debian par défaut ainsi que quelques autres. Gardez à l'esprit que ntpd peut mettre quelques minutes à établir des connexions.
Passer à systemd-timesyncd
Il est possible d'utiliser la fonction intégrée de systemd timesyncd composant pour remplacer ntpd. timesyncd est une alternative plus légère à ntpd qui est plus intégrée à systemd. Notez toutefois qu'il ne prend pas en charge l'exécution en tant que serveur de temps et qu'il est légèrement moins sophistiqué dans les techniques qu'il utilise pour garder l'heure de votre système synchronisée. Si vous utilisez des systèmes distribués complexes en temps réel, vous voudrez peut-être vous en tenir à ntpd.
Pour utiliser timesyncd, nous devons d'abord désinstaller ntpd:
Ensuite, démarrez le service timesyncd:
- sudo systemctl start systemd-timesyncd
Enfin, vérifiez l'état du service pour vous assurer qu'il fonctionne:
- sudo systemctl status systemd-timesyncd
Production
● systemd-timesyncd.service - Synchronisation de l'heure du réseau
Chargé: chargé (/lib/systemd/system/systemd-timesyncd.service; activé; préréglage du fournisseur: activé)
Drop-In: /lib/systemd/system/systemd-timesyncd.service.d
└─disable-with-time-daemon.conf
Actif: actif (en cours d'exécution) depuis le mar 2018-09-04 16:14:23 EDT; Il y a 1s
Documents: man: systemd-timesyncd.service (8)
PID principal: 3399 (systemd-timesyn)
Statut: "Synchronisé avec le serveur de temps 198.60.22.240:123 (0.debian.pool.ntp.org)."
Tâches: 2 (limite: 4915)
CGroup: /system.slice/systemd-timesyncd.service
└─3399 / lib / systemd / systemd-timesyncd
On peut utiliser timedatectl
pour imprimer la compréhension actuelle de systemd de l'heure:
Production
Heure locale: mar 2018-09-04 16:15:34 EDT
Heure universelle: mar 2018-09-04 20:15:34 UTC
Heure RTC: mar 2018-09-04 20:15:33
Fuseau horaire: America / New_York (EDT, -0400)
Temps réseau activé: oui
NTP synchronisé: oui
RTC dans TZ local: non
Cela imprime l'heure locale, l'heure universelle (qui peut être la même que l'heure locale, si vous n'avez pas changé de fuseau horaire UTC) et certaines informations d'état de l'heure du réseau. Temps réseau activé: oui
signifie que timesyncd est activé, et NTP synchronisé: oui
indique que l'heure a été correctement synchronisée.
Conclusion
Dans cet article, nous avons montré comment afficher l'heure système, modifier les fuseaux horaires, travailler avec ntpd et basculer vers le service timesyncd de systemd. Si vous avez des besoins de chronométrage plus sophistiqués que ce que nous avons couvert ici, vous pouvez vous référer à la documentation officielle du NTP, et également jeter un coup d'œil au NTP Pool Project, un groupe mondial de bénévoles fournissant une grande partie de l'infrastructure NTP du monde.
Commentaires
Laisser un commentaire