linux-system-roles.timesync
synchronisation du temps
Ce rôle installe et configure une implémentation NTP et/ou PTP pour fonctionner en tant que client NTP et/ou esclave PTP afin de synchroniser l'horloge système avec des serveurs NTP et/ou des maîtres PTP. Les implémentations NTP/PTP prises en charge sont chrony, ntp (l'implémentation de référence) et linuxptp.
Avertissement
Le rôle remplace la configuration du service fournisseur détecté sur l'hôte géré. Les paramètres précédents seront perdus, même s'ils ne sont pas spécifiés dans les variables du rôle (aucun effort n'est fait pour préserver ou fusionner les anciens réglages, les fichiers de configuration sont entièrement remplacés). Le seul paramètre qui est préservé est le choix du fournisseur si timesync_ntp_provider
n'est pas défini (voir la description de cette variable ci-dessous).
Exigences
Voir ci-dessous
Exigences de collection
Pour gérer les systèmes rpm-ostree
, le rôle nécessite des modules provenant de collections externes. Utilisez la commande suivante pour les installer :
ansible-galaxy collection install -vv -r meta/collection-requirements.yml
Variables du rôle
Les variables qui peuvent être passées à ce rôle sont les suivantes :
# Liste des serveurs NTP
timesync_ntp_servers:
- hostname: foo.example.com # Nom d'hôte ou adresse du serveur
minpoll: 4 # Intervalle de sondage minimum (défaut 6)
maxpoll: 8 # Intervalle de sondage maximum (défaut 10)
iburst: true # Indicateur activant la synchronisation initiale rapide
# (défaut faux)
pool: false # Indicateur indiquant que chaque adresse résolue
# du nom d'hôte est un serveur NTP distinct
# (défaut faux)
nts: false # Indicateur activant le mécanisme d'authentification
# Network Time Security (NTS) (défaut faux,
# pris en charge uniquement avec chrony >= 4.0)
prefer: false # Indicateur marquant la source à privilégier pour
# la synchronisation par rapport à d'autres sources
# (défaut faux)
trust: false # Indicateur marquant la source de confiance par rapport
# à celles qui n'ont pas cette indication
# (défaut faux)
xleave: false # Indicateur activant le mode entrelacé (défaut faux)
filter: 1 # Nombre de mesures NTP par mise à jour de l'horloge
# (défaut 1)
# Liste des domaines PTP
timesync_ptp_domains:
- number: 0 # Numéro de domaine PTP
interfaces: [eth0] # Liste des interfaces dans le domaine
delay: 0.000010 # Délai réseau maximum supposé jusqu'au
# maître en secondes (défaut 100 microsecondes)
transport: UDPv4 # Transport réseau : UDPv4, UDPv6, L2
# (défaut UDPv4)
udp_ttl: 1 # TTL pour les transports UDPv4 et UDPv6
# (défaut 1)
hybrid_e2e: false # Indicateur activant les demandes de délai
# unicast de bout en bout (défaut faux)
# Indicateur activant l'utilisation de serveurs NTP fournis par DHCP (défaut faux)
timesync_dhcp_ntp_servers: false
# Décalage minimum de l'horloge qui peut être corrigé par un pas (le défaut est
# spécifique à l'implémentation NTP/PTP : chrony 1.0, ntp 0.128, linuxptp 0.00002).
# Le seuil zéro désactive tous les pas.
timesync_step_threshold: 1.0
# Distance racine maximale pour accepter les mesures des serveurs NTP
# Définit à 0 pour utiliser le paramètre par défaut du fournisseur
timesync_max_distance: 0
# Nombre minimum de sources temporelles sélectionnables requises pour permettre
# la synchronisation de l'horloge (défaut 1)
timesync_min_sources: 1
# Liste des interfaces devant avoir l'horodatage matériel activé pour NTP
# (liste vide par défaut). Comme valeur spéciale, '*' active l'horodatage sur
# toutes les interfaces qui le prennent en charge.
timesync_ntp_hwts_interfaces: ["*"]
# Nom du paquet qui doit être installé et configuré pour NTP.
# Les valeurs possibles sont "chrony" et "ntp". Si non défini, le service actif
# ou autorisé sera configuré. Si aucun service n'est actif ou autorisé, un
# paquet spécifique au système et à sa version sera sélectionné.
timesync_ntp_provider: chrony
# Parfois, les administrateurs peuvent avoir besoin de configurations avancées
# pour chrony qui ne sont pas couvertes par les paramètres prédéfinis fournis par ce rôle.
# 'timesync_chrony_custom_settings' permet de définir une liste de paramètres
# personnalisés pour le fichier chrony.conf, en fournissant une liste de paramètres.
# Par exemple, pour le débogage, on peut avoir besoin d'enregistrer les mesures,
# les statistiques et le suivi.
# Ces informations sont généralement stockées dans le répertoire /var/log/chrony.
# Pour cela, il faut définir deux paramètres différents (logdir et log), comme suit :
timesync_chrony_custom_settings:
- "logdir /var/log/chrony"
- "log measurements statistics tracking"
# Cette variable est applicable uniquement aux systèmes de mise à jour transactionnelle.
# Si une mise à jour transactionnelle nécessite un redémarrage, le rôle procédera au
# redémarrage si `timesync_transactional_update_reboot_ok` est défini sur `true`.
# Si défini sur `false`, le rôle notifiera l'utilisateur qu'un redémarrage est nécessaire,
# permettant ainsi un traitement personnalisé de cette exigence. Si cette variable n'est pas
# définie, le rôle échouera à s'assurer que le besoin de redémarrage n'est pas négligé.
# Pour les systèmes de mise à jour non transactionnelle, cette variable est ignorée.
timesync_transactional_update_reboot_ok: true
Exemples de Playbooks
Installer et configurer ntp pour synchroniser l'horloge système avec trois serveurs NTP :
- name: Gérer la synchronisation du temps avec 3 serveurs
hosts: targets
vars:
timesync_ntp_servers:
- hostname: foo.example.com
iburst: true
- hostname: bar.example.com
iburst: true
- hostname: baz.example.com
iburst: true
roles:
- linux-system-roles.timesync
Installer et configurer linuxptp pour synchroniser l'horloge système avec un maître dans le domaine PTP numéro 0, accessible sur l'interface eth0 :
- name: Gérer la synchronisation du temps dans le domaine PTP 0, interface eth0
hosts: targets
vars:
timesync_ptp_domains:
- number: 0
interfaces: [eth0]
roles:
- linux-system-roles.timesync
Installer et configurer chrony et linuxptp pour synchroniser l'horloge système avec plusieurs serveurs NTP et domaines PTP pour une synchronisation très précise et résiliente :
- name: Gérer plusieurs serveurs NTP et domaines PTP
hosts: targets
vars:
timesync_ntp_servers:
- hostname: foo.example.com
maxpoll: 6
- hostname: bar.example.com
maxpoll: 6
- hostname: baz.example.com
maxpoll: 6
timesync_ptp_domains:
- number: 0
interfaces: [eth0, eth1]
transport: L2
delay: 0.000010
- number: 1
interfaces: [eth2]
transport: UDPv4
delay: 0.000010
roles:
- linux-system-roles.timesync
Installer et configurer chrony avec plusieurs serveurs NTP et des paramètres avancés
personnalisés : enregistrer les mesures
, statistiques
et suivi
dans
/var/log/chrony
:
- name: Gérer avec des paramètres avancés personnalisés
hosts: targets
vars:
timesync_ntp_servers:
- hostname: foo.example.com
- hostname: bar.example.com
- hostname: baz.example.com
timesync_chrony_custom_settings:
- "logdir /var/log/chrony"
- "log measurements statistics tracking"
roles:
- linux-system-roles.timesync
rpm-ostree
Voir README-ostree.md
Configure NTP and/or PTP
ansible-galaxy install linux-system-roles.timesync