linux-system-roles.timesync

CTS

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

Ta rola instaluje i konfiguruje implementację NTP i/lub PTP, aby działała jako klient NTP i/lub podrzędny PTP w celu synchronizacji zegara systemowego z serwerami NTP i/lub masterami w domenach PTP. Obsługiwane implementacje NTP/PTP to chrony, ntp (implementacja referencyjna) oraz linuxptp.

Ostrzeżenie

Rola zastępuje konfigurację danej lub wykrytej usługi dostawcy na zarządzanym hoście. Poprzednie ustawienia zostaną utracone, nawet jeśli nie zostały określone w zmiennych roli (nie podejmowane są próby zachowania lub połączenia wcześniejszych ustawień, pliki konfiguracyjne są całkowicie zastępowane). Jedynym ustawieniem, które jest zachowywane, jest wybór dostawcy, jeśli timesync_ntp_provider nie jest zdefiniowane (zobacz opis tej zmiennej poniżej).

Wymagania

Zobacz poniżej

Wymagania dotyczące kolekcji

Aby zarządzać systemami rpm-ostree, rola wymaga modułów z zewnętrznych kolekcji. Użyj poniższego polecenia, aby je zainstalować:

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

Zmienne roli

Zmienne, które można przekazać do tej roli, to:

# Lista serwerów NTP
timesync_ntp_servers:
  - hostname: foo.example.com   # Nazwa hosta lub adres serwera
    minpoll: 4                  # Minimalny interwał sondowania (domyślnie 6)
    maxpoll: 8                  # Maksymalny interwał sondowania (domyślnie 10)
    iburst: true                # Flaga włączająca szybkie początkowe synchronizacje
                                # (domyślnie false)
    pool: false                 # Flaga określająca, że każdy rozwiązany adres
                                # nazwy hosta jest osobnym serwerem NTP
                                # (domyślnie false)
    nts: false                  # Flaga włączająca mechanizm uwierzytelniania
                                # Network Time Security (NTS) (domyślnie false,
                                # obsługiwany tylko z chrony >= 4.0)
    prefer: false               # Flaga oznaczająca źródło jako preferowane do
                                # synchronizacji ponad inne źródła
                                # (domyślnie false)
    trust: false                # Flaga oznaczająca źródło jako zaufane ponad
                                # źródła, które nie mają tej flagi
                                # (domyślnie false)
    xleave: false               # Flaga włączająca tryb przeplatany (domyślnie false)
    filter: 1                   # Liczba pomiarów NTP na aktualizację zegara
                                # (domyślnie 1)

# Lista domen PTP
timesync_ptp_domains:
  - number: 0                   # Numer domeny PTP
    interfaces: [eth0]          # Lista interfejsów w domenie
    delay: 0.000010             # Przyjęty maksymalny czas opóźnienia do
                                # mastera w sekundach (domyślnie 100 mikrosekund)
    transport: UDPv4            # Transport sieciowy: UDPv4, UDPv6, L2
                                # (domyślnie UDPv4)
    udp_ttl: 1                  # TTL dla transportu UDPv4 i UDPv6
                                # (domyślnie 1)
    hybrid_e2e: false           # Flaga włączająca żądania opóźnienia unicast end-to-end
                                # (domyślnie false)

# Flaga włączająca użycie serwerów NTP dostarczonych przez DHCP (domyślnie false)
timesync_dhcp_ntp_servers: false

# Minimalne przesunięcie zegara, które może być skorygowane przez skok (domyślnie jest to
# specyficzne dla implementacji NTP/PTP: chrony 1.0, ntp 0.128, linuxptp 0.00002).
# Zero threshold wyłącza wszystkie skoki.
timesync_step_threshold: 1.0

# Maksymalne dystans do zaakceptowania pomiarów z serwerów NTP
# Ustaw na 0, aby użyć domyślnych wartości dostawcy
timesync_max_distance: 0

# Minimalna liczba selektywnych źródeł czasu wymagana do pozwolenia
# na synchronizację zegara (domyślnie 1)
timesync_min_sources: 1

# Lista interfejsów, które powinny mieć włączone znacznikowanie sprzętowe dla NTP
# (domyślnie pusta lista). Jako specjalna wartość, '*' włącza znacznikowanie
# na wszystkich interfejsach, które to obsługują.
timesync_ntp_hwts_interfaces: ["*"]

# Nazwa pakietu, który powinien zostać zainstalowany i skonfigurowany dla NTP.
# Możliwe wartości to "chrony" i "ntp". Jeśli nie jest zdefiniowane, zostanie
# skonfigurowana obecnie aktywna lub włączona usługa. Jeśli żadna usługa nie jest
# aktywna lub włączona, wybierany będzie pakiet specyficzny dla systemu i jego wersji.
timesync_ntp_provider: chrony

# Czasami administratorzy mogą potrzebować rozszerzonych konfiguracji dla chrony,
# które nie są objęte zdefiniowanymi ustawieniami dostarczonymi przez tę rolę.
# 'timesync_chrony_custom_settings' pozwala zdefiniować listę niestandardowych ustawień
# dla pliku chrony.conf, dostarczając listę ustawień. Na przykład, dla debugowania,
# można potrzebować logować pomiary, statystyki i śledzenie.
# Te informacje są zazwyczaj przechowywane w katalogu /var/log/chrony. Aby to osiągnąć,
# należy zdefiniować dwie różne ustawienia (logdir i log), jak poniżej:
timesync_chrony_custom_settings:
  - "logdir /var/log/chrony"
  - "log measurements statistics tracking"

# Ta zmienna ma zastosowanie tylko dla systemów aktualizacji transakcyjnej.
# Jeśli aktualizacja transakcyjna wymaga ponownego uruchomienia, rola
# przeprowadzi ponowne uruchomienie, jeśli `timesync_transactional_update_reboot_ok`
# jest ustawione na `true`. Jeśli ustawione na `false`, rola powiadomi
# użytkownika, że wymagane jest ponowne uruchomienie, pozwalając na
# własne zarządzanie wymaganiem ponownego uruchomienia. Jeśli ta zmienna
# nie jest ustawiona, rola zakończy się niepowodzeniem, aby upewnić się,
# że wymóg ponownego uruchomienia nie zostanie przeoczony.
# Dla systemów nie-transakcyjnych, ta zmienna jest ignorowana.
timesync_transactional_update_reboot_ok: true

Przykłady Playbooków

Zainstaluj i skonfiguruj ntp, aby synchronizować zegar systemowy z trzema serwerami NTP:

- name: Zarządzaj synchronizacją z 3 serwerami
  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

Zainstaluj i skonfiguruj linuxptp, aby synchronizować zegar systemowy z masterem w domenie PTP numer 0, który jest dostępny na interfejsie eth0:

- name: Zarządzaj synchronizacją w domenie PTP 0, interfejs eth0
  hosts: targets
  vars:
    timesync_ptp_domains:
      - number: 0
        interfaces: [eth0]
  roles:
    - linux-system-roles.timesync

Zainstaluj i skonfiguruj chrony oraz linuxptp, aby synchronizować zegar systemowy z wieloma serwerami NTP i domenami PTP dla precyzyjnej i odpornej synchronizacji:

- name: Zarządzaj wieloma serwerami NTP i domenami 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

Zainstaluj i skonfiguruj chrony z wieloma serwerami NTP i niestandardowymi zaawansowanymi ustawieniami: zaloguj pomiary, statystyki i śledzenie do /var/log/chrony:

- name: Zarządzaj z niestandardowymi zaawansowanymi ustawieniami
  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

Zobacz README-ostree.md

Zainstaluj
ansible-galaxy install linux-system-roles.timesync
Licencja
mit
Pobrania
741.9k
Właściciel