linux-system-roles.timesync

タイムシンク

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

このロールは、NTPおよび/またはPTPの実装をインストールおよび構成し、システムクロックをNTPサーバーおよび/またはPTPドメインのグランドマスターと同期させます。サポートされているNTP/PTPの実装は、chrony、ntp(リファレンス実装)、およびlinuxptpです。

警告

このロールは、管理対象ホストの指定されたまたは検出されたプロバイダーサービスの設定を置き換えます。以前の設定は失われ、ロール変数に指定されていなくても適用されます(以前の設定を保存またはマージしようとはせず、構成ファイルは完全に置き換えられます)。唯一保存される設定は、timesync_ntp_providerが定義されていない場合のプロバイダーの選択です(この変数の説明を参照してください)。

要件

以下を参照してください。

コレクションの要件

rpm-ostreeシステムを管理するために、ロールには外部コレクションからのモジュールが必要です。次のコマンドを使用してインストールしてください。

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

ロール変数

このロールに渡すことができる変数は次のとおりです。

# NTPサーバーのリスト
timesync_ntp_servers:
  - hostname: foo.example.com   # サーバーのホスト名またはアドレス
    minpoll: 4                  # 最小ポーリング間隔(デフォルトは6)
    maxpoll: 8                  # 最大ポーリング間隔(デフォルトは10)
    iburst: true                # 初期の高速同期を有効にするフラグ
                                #(デフォルトはfalse)
    pool: false                 # 解決された各アドレスが別々のNTPサーバーであることを示すフラグ
                                #(デフォルトはfalse)
    nts: false                  # ネットワークタイムセキュリティ(NTS)認証メカニズムを有効にするフラグ
                                #(デフォルトはfalse、chrony >= 4.0のみサポート)
    prefer: false               # 他のソースよりも優先すべきソースを示すフラグ
                                #(デフォルトはfalse)
    trust: false                # このフラグがないソースよりも信頼されるソースを示すフラグ
                                #(デフォルトはfalse)
    xleave: false               # インターリーブモードを有効にするフラグ(デフォルトはfalse)
    filter: 1                   # クロック更新ごとのNTP測定の数
                                #(デフォルトは1)

# PTPドメインのリスト
timesync_ptp_domains:
  - number: 0                   # PTPドメイン番号
    interfaces: [eth0]          # ドメイン内のインターフェースのリスト
    delay: 0.000010             # グランドマスターまでの最大ネットワーク遅延(秒) # wokeignore:rule=master
                                #(デフォルトは100マイクロ秒)
    transport: UDPv4            # ネットワークトランスポート:UDPv4、UDPv6、L2
                                #(デフォルトはUDPv4)
    udp_ttl: 1                  # UDPv4およびUDPv6トランスポートのTTL
                                #(デフォルトは1)
    hybrid_e2e: false           # ユニキャストエンドツーエンド遅延リクエストを有効にするフラグ
                                #(デフォルトはfalse)

# DHCPによって提供されたNTPサーバーの使用を有効にするフラグ(デフォルトはfalse)
timesync_dhcp_ntp_servers: false

# ステッピングによって修正できるクロックの最小オフセット(デフォルトは
# NTP/PTP実装に特有:chrony 1.0、ntp 0.128、linuxptp 0.00002)。
# ゼロのしきい値はすべてのステップを無効にします。
timesync_step_threshold: 1.0

# NTPサーバーからの測定を受け入れるための最大ルート距離
# プロバイダーのデフォルトを使用するには0に設定します
timesync_max_distance: 0

# クロックの同期を許可するために必要な選択可能なタイムソースの最小数
# (デフォルトは1)
timesync_min_sources: 1

# NTP用にハードウェアタイムスタンピングを有効にすべきインターフェースのリスト
# (デフォルトは空のリスト)。特殊な値として、'*'を指定すると
# サポートされているすべてのインターフェースでタイムスタンプが有効になります。
timesync_ntp_hwts_interfaces: ["*"]

# NTPのためにインストールして構成すべきパッケージ名。
# 可能な値は「chrony」と「ntp」です。指定しない場合は、
# 現在アクティブまたは有効なサービスが構成されます。
# アクティブまたは有効なサービスがない場合は、システムおよびそのバージョンに特有のパッケージが選択されます。
timesync_ntp_provider: chrony

# 管理者が時折、chronyに対して予め定義された設定では
# カバーされていない拡張設定を必要とする場合があります。
# `timesync_chrony_custom_settings`を使用すると、設定のリストを提供することで
# chrony.confファイルのカスタム設定を定義できます。デバッグのために、
# 測定、統計、および追跡をログに記録する必要があるかもしれません。
# これらの情報は通常、/var/log/chronyディレクトリに保存されます。
# そのためには、次のように2つの異なる設定(logdirとlog)を定義する必要があります。
timesync_chrony_custom_settings:
  - "logdir /var/log/chrony"
  - "log measurements statistics tracking"

# この変数はトランザクショナルアップデートシステムにのみ適用されます。
# トランザクショナルアップデートが再起動を必要とする場合、`timesync_transactional_update_reboot_ok`
# が`true`に設定されていると、役割は再起動を進めます。
# `false`に設定されていると、再起動が必要であることをユーザーに通知し、再起動要件のカスタム処理を許可します。
# この変数が設定されていない場合、役割は再起動要件を見逃さないように失敗します。
# 非トランザクショナル更新システムでは、この変数は無視されます。
timesync_transactional_update_reboot_ok: true

サンプルプレイブック

3つのNTPサーバーとシステムクロックを同期させるためにntpをインストールして構成します:

- name: 3つのサーバーでのタイムシンク管理
  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

0番のPTPドメインにあるグランドマスターとシステムクロックを同期させるためにlinuxptpをインストールして構成します。インターフェースeth0でアクセス可能:

- name: PTPドメイン0、インターフェースeth0でのタイムシンク管理
  hosts: targets
  vars:
    timesync_ptp_domains:
      - number: 0
        interfaces: [eth0]
  roles:
    - linux-system-roles.timesync

複数のNTPサーバーおよびPTPドメインとの高精度で強靭な同期のためにchronyとlinuxptpをインストールして構成します:

- name: 複数のNTPサーバーおよび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

複数のNTPサーバーとカスタムの高度な設定でchronyをインストールして構成し、/var/log/chronymeasurementsstatistics、およびtrackingをログします:

- name: カスタム高度な設定での管理
  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

README-ostree.mdを参照してください。

インストール
ansible-galaxy install linux-system-roles.timesync
ライセンス
mit
ダウンロード
741.9k