Red Hat Training

A Red Hat training course is available for RHEL 8

34.11. ネットワークアダプターのオフロード設定

CPU 負荷を軽減するために、特定のネットワークアダプターは、ネットワーク処理負荷をネットワークインターフェイスコントローラー (NIC) に移動するオフロード機能を使用します。たとえば、Encapsulating Security Payload (ESP) オフロードを使用すると、NIC は ESP 操作を実行して、IPsec 接続を高速化し、CPU 負荷を軽減します。

デフォルトでは、Red Hat Enterprise Linux のほとんどのオフロード機能が有効になっています。次の場合にのみ無効にしてください。

  • トラブルシューティングの目的でオフロード機能を一時的に無効にします。
  • 特定の機能がホストに悪影響を与える場合は、オフロード機能を永続的に無効にします。

ネットワークドライバーでパフォーマンス関連のオフロード機能がデフォルトで有効になっていない場合は、手動で有効にすることができます。

34.11.1. オフロード機能の一時的な設定

オフロード機能によって問題が発生したり、ホストのパフォーマンスが低下したりすると予想される場合は、現在の状態に応じて、オフロード機能を一時的に有効または無効にして、原因の絞り込みを試みることができます。

オフロード機能を一時的に有効または無効にすると、次回の再起動時に以前の値に戻ります。

前提条件

  • ネットワークカードがオフロード機能をサポートしている。

手順

  1. インターフェイスで利用可能なオフロード機能とその現在の状態を表示します。

    # ethtool -k enp1s0
    ...
    esp-hw-offload: on
    ntuple-filters: off
    rx-vlan-filter: off [fixed]
    ...

    出力はハードウェアとそのドライバーの機能によって異なります。[fixed] のフラグが付いている機能の状態は変更できないことに注意してください。

  2. オフロード機能を一時的に無効にします。

    # ethtool -K <interface> <feature> [on|off]
    • たとえば、enp10s0u1 インターフェイスで IPsec Encapsulating Security Payload (ESP) オフロードを一時的に無効にするには、次のように入力します。

      # ethtool -K enp10s0u1 esp-hw-offload off
    • たとえば、enp10s0u1 インターフェイスで Receive Flow Steering (aRFS) フィルタリングを一時的に有効にするには、次のように入力します。

      # ethtool -K enp10s0u1 ntuple-filters on

検証

  1. オフロード機能の状態を表示します。

    # ethtool -k enp1s0
    ...
    esp-hw-offload: off
    ntuple-filters: on
    ...
  2. オフロード機能を変更する前に発生した問題がまだ存在するかどうかをテストします。

    • 特定のオフロード機能を変更した後に問題が解消された場合は、次のようにします。

      1. Red Hat サポート に連絡して問題を報告してください。
      2. 修正が利用可能になるまで、オフロード機能を永続的に設定すること を検討してください。
    • 特定のオフロード機能を無効にしても問題が解決しない場合は、以下を実行します。

      1. ethtool -K <interface> <feature> [on|off] コマンドを使用して、設定を前の状態にリセットします。
      2. 異なるオフロード機能を有効または無効にして、問題を絞り込みます。

関連情報

  • ethtool(8) man ページ

34.11.2. オフロード機能の永続的な設定

ホストのパフォーマンスを制限する特定のオフロード機能を特定した場合は、現在の状態に応じて、それを永続的に有効または無効にすることができます。

オフロード機能を永続的に有効または無効にすると、NetworkManager は再起動後もその機能がこの状態のままであることを確認します。

前提条件

  • ホスト上のパフォーマンスを制限する特定のオフロード機能を特定している。

手順

  1. オフロード機能の状態を変更するネットワークインターフェイスを使用する接続プロファイルを特定します。

    # nmcli connection show
    NAME     UUID                                  TYPE      DEVICE
    Example  a5eb6490-cc20-3668-81f8-0314a27f3f75  ethernet  enp1ss0
    ...
  2. オフロード機能の状態を永続的に変更します。

    # nmcli connection modify <connection_name> <feature> [on|off]
    • たとえば、Example 接続プロファイルで IPsec Encapsulating Security Payload (ESP) オフロードを永続的に無効にするには、次のように入力します。

      # nmcli connection modify Example ethtool.feature-esp-hw-offload off
    • たとえば、Example 接続プロファイルでアクセラレート Receive Flow Steering (aRFS) フィルタリングを永続的に有効にするには、次のように入力します。

      # nmcli connection modify Example ethtool.feature-ntuple on
  3. 接続プロファイルを再度アクティベートします。

    # nmcli connection up Example

検証

  • オフロード機能の出力状態を表示します。

    # ethtool -k enp1s0
    ...
    esp-hw-offload: off
    ntuple-filters: on
    ...

関連情報

  • nm-settings-nmcli (5) man ページ