linux-system-roles.timesync

synchronisation du temps

ansible-lint.yml ansible-test.yml markdownlint.yml shellcheck.yml tft.yml tft_citest_bad.yml woke.yml

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

Installer
ansible-galaxy install linux-system-roles.timesync
Licence
mit
Téléchargements
741.9k
Propriétaire