34.2. ネットワーク RHEL システムロールを使用した ethtool オフロード機能の設定

network の RHEL システムロールを使用して、NetworkManager 接続の ethtool 機能を設定できます。

重要

network RHEL システムロールを使用するプレイの実行時に、プレイで指定した値と設定値が一致しない場合、当該ロールは同じ名前の既存の接続プロファイルをオーバーライドします。これらの値がデフォルトにリセットされないようにするには、IP 設定などの設定がすでに存在する場合でも、ネットワーク接続プロファイルの設定全体をプレイで必ず指定してください。

Ansible コントロールノードで以下の手順を実行します。

前提条件

  • 制御ノードと管理ノードを準備している
  • 管理対象ノードで Playbook を実行できるユーザーとしてコントロールノードにログインしている。
  • 管理対象ノードへの接続に使用するアカウントには、そのノードに対する sudo 権限がある。
  • この Playbook を実行する管理対象ノードまたは管理対象ノードのグループが、Ansible インベントリーファイルにリストされている。

手順

  1. Playbook ファイル (例: ~/configure-ethernet-device-with-ethtool-features.yml) を次の内容で作成します。

    ---
    - name: Configure the network
      hosts: managed-node-01.example.com
      tasks:
      - name: Configure an Ethernet connection with ethtool features
        include_role:
          name: rhel-system-roles.network
    
        vars:
          network_connections:
            - name: enp1s0
              type: ethernet
              autoconnect: yes
              ip:
                address:
                  - 198.51.100.20/24
                  - 2001:db8:1::1/64
                gateway4: 198.51.100.254
                gateway6: 2001:db8:1::fffe
                dns:
                  - 198.51.100.200
                  - 2001:db8:1::ffbb
                dns_search:
                  - example.com
              ethtool:
                features:
                  gro: "no"
                  gso: "yes"
                  tx_sctp_segmentation: "no"
              state: up

    この Playbook は、enp1s0 接続プロファイルを次の設定で作成します。プロファイルがすでに存在する場合は、次の設定に更新します。

    • 静的 IPv4 アドレス - /24 サブネットマスクを持つ 198.51.100.20
    • 静的 IPv6 アドレス - 2001:db8:1::1/64 サブネットマスク
    • IPv4 デフォルトゲートウェイ - 198.51.100.254
    • IPv6 デフォルトゲートウェイ - 2001:db8:1::fffe
    • IPv4 DNS サーバー - 198.51.100.200
    • IPv6 DNS サーバー - 2001:db8:1::ffbb
    • DNS 検索ドメイン - example.com
    • ethtool 機能:

      • 汎用受信オフロード (GRO): 無効
      • Generic segmentation offload(GSO): 有効化
      • TX stream control transmission protocol (SCTP) segmentation: 無効
  2. Playbook の構文を検証します。

    # ansible-playbook ~/configure-ethernet-device-with-ethtool-features.yml --syntax-check

    このコマンドは構文を検証するだけであり、有効だが不適切な設定から保護するものではないことに注意してください。

  3. Playbook を実行します。

    # ansible-playbook ~/configure-ethernet-device-with-ethtool-features.yml

関連情報

  • /usr/share/ansible/roles/rhel-system-roles.network/README.md ファイル