linux-system-roles.timesync

sincronización de tiempos

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

Este rol instala y configura una implementación de NTP y/o PTP para funcionar como un cliente NTP y/o como esclavo PTP, con el fin de sincronizar el reloj del sistema con los servidores NTP y/o maestros PTP. Las implementaciones soportadas de NTP/PTP son chrony, ntp (la implementación de referencia) y linuxptp.

Advertencia

El rol reemplaza la configuración del proveedor de servicio dado o detectado en el host administrador. Se perderán los ajustes anteriores, incluso si no están especificados en las variables del rol (no se hace ningún intento de conservar o combinar la configuración previa, los archivos de configuración se reemplazan por completo). La única configuración que se conserva es la elección del proveedor si timesync_ntp_provider no está definido (ver la descripción de esta variable más abajo).

Requisitos

Ver abajo

Requisitos de colección

Para gestionar sistemas rpm-ostree, el rol requiere módulos de colecciones externas. Usa el siguiente comando para instalarlos:

ansible-galaxy collection install -vv -r meta/collection-requirements.yml

Variables del rol

Las variables que se pueden pasar a este rol son las siguientes:

# Lista de servidores NTP
timesync_ntp_servers:
  - hostname: foo.example.com   # Nombre o dirección del servidor
    minpoll: 4                  # Intervalo de sondeo mínimo (por defecto 6)
    maxpoll: 8                  # Intervalo de sondeo máximo (por defecto 10)
    iburst: true                # Bandera que habilita la sincronización inicial rápida
                                # (por defecto false)
    pool: false                 # Bandera que indica que cada dirección resuelta
                                # del nombre host es un servidor NTP separado
                                # (por defecto false)
    nts: false                  # Bandera que habilita el mecanismo de autenticación
                                # de Network Time Security (NTS)
                                # (por defecto false, soportado solo con chrony >= 4.0)
    prefer: false               # Bandera que marca la fuente como preferida para
                                # sincronización sobre otras fuentes
                                # (por defecto false)
    trust: false                # Bandera que marca la fuente como confiable sobre
                                # las fuentes que no tienen esta bandera
                                # (por defecto false)
    xleave: false               # Bandera que habilita el modo entrelazado (por defecto false)
    filter: 1                   # Número de mediciones de NTP por actualización de reloj
                                # (por defecto 1)

# Lista de dominios PTP
timesync_ptp_domains:
  - number: 0                   # Número del dominio PTP
    interfaces: [eth0]          # Lista de interfaces en el dominio
    delay: 0.000010             # Máxima suposición de retraso en la red hasta el
                                # maestro en segundos # wokeignore:rule=master
                                # (por defecto 100 microsegundos)
    transport: UDPv4            # Transporte de red: UDPv4, UDPv6, L2
                                # (por defecto UDPv4)
    udp_ttl: 1                  # TTL para transportes UDPv4 y UDPv6
                                # (por defecto 1)
    hybrid_e2e: false           # Bandera que habilita solicitudes de retraso de fin a fin
                                # unicast (por defecto false)

# Bandera que habilita el uso de servidores NTP proporcionados por DHCP (por defecto false)
timesync_dhcp_ntp_servers: false

# Desviación mínima del reloj que se puede corregir por salto (el valor por defecto es
# específico para la implementación NTP/PTP: chrony 1.0, ntp 0.128, linuxptp 0.00002).
# Un umbral de cero desactiva todos los saltos.
timesync_step_threshold: 1.0

# Distancia raíz máxima para aceptar mediciones de servidores NTP
# Establecer en 0 para usar el valor predeterminado del proveedor
timesync_max_distance: 0

# Número mínimo de fuentes de tiempo seleccionables requeridas para permitir la sincronización
# del reloj (por defecto 1)
timesync_min_sources: 1

# Lista de interfaces que deberían tener habilitado el sello de tiempo de hardware para NTP
# (lista vacía por defecto). Como un valor especial, '*' habilita el sello de tiempo en todas
# las interfaces que lo soportan.
timesync_ntp_hwts_interfaces: ["*"]

# Nombre del paquete que debe ser instalado y configurado para NTP.
# Los posibles valores son "chrony" y "ntp". Si no está definido, se configurará el servicio activo 
# o habilitado que esté actualmente en uso. Si no hay ningún servicio activo o habilitado, se 
# seleccionará un paquete específico para el sistema y su versión.
timesync_ntp_provider: chrony

# A veces, los administradores pueden necesitar configuraciones extendidas para chrony que
# no están cubiertas por los ajustes predefinidos proporcionados por este rol.
# 'timesync_chrony_custom_settings' permite definir una lista de configuraciones personalizadas
# para el archivo chrony.conf, proporcionando una lista de configuraciones. Como ejemplo,
# para la depuración, uno podría necesitar registrar mediciones, estadísticas y seguimiento.
# Esta información se almacena generalmente en el directorio /var/log/chrony. Para
# eso, uno necesita definir dos configuraciones diferentes (logdir y log), como sigue:
timesync_chrony_custom_settings:
  - "logdir /var/log/chrony"
  - "log measurements statistics tracking"

# Esta variable es aplicable solo para sistemas de actualización transaccional.
# Si una actualización transaccional requiere un reinicio, el rol procederá con el
# reinicio si `timesync_transactional_update_reboot_ok` está establecido en `true`. Si se establece
# en `false`, el rol notificará al usuario que se requiere un reinicio, permitiendo
# un manejo personalizado del requisito de reinicio. Si esta variable no está configurada,
# el rol fallará para asegurar que el requisito de reinicio no se pase por alto.
# Para sistemas de actualización no transaccionales, esta variable se ignora.
timesync_transactional_update_reboot_ok: true

Ejemplos de Playbooks

Instalar y configurar ntp para sincronizar el reloj del sistema con tres servidores NTP:

- name: Gestionar sincronización de tiempos con 3 servidores
  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

Instalar y configurar linuxptp para sincronizar el reloj del sistema con un

maestro en el dominio PTP número 0, que es accesible en la interfaz eth0:

- name: Gestionar sincronización de tiempos en el dominio PTP 0, interfaz eth0
  hosts: targets
  vars:
    timesync_ptp_domains:
      - number: 0
        interfaces: [eth0]
  roles:
    - linux-system-roles.timesync

Instalar y configurar chrony y linuxptp para sincronizar el reloj del sistema con múltiples servidores NTP y dominios PTP para una sincronización altamente precisa y resistente:

- name: Gestionar múltiples servidores NTP y dominios 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

Instalar y configurar chrony con múltiples servidores NTP y configuraciones avanzadas personalizadas: registrar mediciones, estadísticas y seguimiento en /var/log/chrony:

- name: Gestionar con configuraciones avanzadas personalizadas
  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

Ver README-ostree.md

Instalar
ansible-galaxy install linux-system-roles.timesync
Licencia
mit
Descargas
741.9k
Propietario