linux-system-roles.timesync
CTS
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
Configure NTP and/or PTP
ansible-galaxy install linux-system-roles.timesync