機械翻訳について

ネットワーク結合

ネットワーク・スイッチに接続されている、システムの複数の物理ネットワーク・インタフェースを単一の論理インタフェースにまとめると、スループットや可用性を高めることができます。 物理ネットワーク・インタフェースのこのグループ化(集約)は、ネットワーク結合と呼ばれます。

結合ネットワーク・インタフェースでは、ロード・バランシングによってデータ・スループットを高めることができ、あるコンポーネント・デバイスから別のコンポーネント・デバイスへのフェイルオーバーをアクティブ化することで冗長性を提供できます。 デフォルトでは、結合インタフェースはカーネルから通常のネットワーク・デバイスのように認識されますが、このインタフェースは、ラウンドロビン・スケジューラを使用して、使用可能なセカンダリ・デバイスを介してネットワーク・パケットを送信します。 結合インタフェースの構成ファイル内の結合モジュール・パラメータを構成して、ロード・バランシングとデバイス・フェイルオーバーの動作を変更できます。

カーネル内のネットワーク結合ドライバを使用すると、要件および使用可能なネットワーク・インフラストラクチャに応じて異なる結合機能を利用するために、様々なモードでネットワーク結合を構成できます。 たとえば、balance-rrモードを使用すると、一連の物理ネットワーク・インタフェースにわたり、基本的なラウンドロビン・ロードバランシングおよびフォルト・トレランスを提供できます。一方、active-backupモードでは、高可用性構成のための基本的なフォルト・トレランスが提供されます。 802.3adや動的リンク・アグリゲーションなどの一部の結合モードでは、物理インタフェースが接続するスイッチに特定のハードウェア機能と構成が必要です。 基本ロード・バランシング・モード(balance-rrおよびbalance-xor)では、EtherChannelまたはトランキングをサポートするスイッチが使用されます。 拡張ロード・バランシング・モード(balance-tlbおよびbalance-alb)では、切替えハードウェアに要件は課されませんが、各コンポーネント・インタフェースのデバイス・ドライバで特定の機能(ethtoolのサポートや、デバイスがアクティブである間にハードウェア・アドレスを変更する機能など)を実装する必要があります。

カーネル結合ドライバの詳細は、https://www.kernel.org/doc/Documentation/networking/bonding.txtでアップストリームのドキュメントを参照するか、/usr/share/doc/iputils-*/README.bondingを参照してください。

ノート:

高可用性のために複数のシステムを直接接続してひとまとめにするネットワーク構成の場合は、自動フェイルオーバーなどの特定のネットワーク・インタフェース結合機能をサポートするにはスイッチが必要です。 そうしないと、メカニズムが機能しない可能性があります。

コマンドラインを使用したネットワーク・ボンディングの構成

nmcliコマンドライン・ツールを使用してネットワーク結合を設定します。
  1. nmcli connection addコマンドを使用して、結合インタフェースを追加します。
    sudo nmcli connection add type bond con-name "Bond Connection 1" ifname bond0 bond.options "mode=active-backup"

    結合接続名と結合インタフェース名、さらに、重要なこととして、結合モード・オプションを設定することに注意してください。 この例では、モードはactive-backupに設定されています。 結合接続名を設定しなかった場合は、結合インタフェース名が接続名としても使用されます。

  2. オプション: nmcli connection modifyコマンドを使用して、ボンド・インタフェースのIPアドレスを構成 .

    デフォルトでは、インタフェースはDHCPを使用するように構成されていますが、静的IPアドレス指定が必要な場合は、アドレスを手動で構成する必要があります。 たとえば、結合のIPv4設定を構成するには、次のように入力します。

    sudo nmcli connection modify "Bond Connection 1" \
    ipv4.addresses '192.0.2.2/24' \
    ipv4.gateway '192.0.2.1' \
    ipv4.dns '192.0.2.254' \
    ipv4.method manual
  3. nmcli connection addコマンドを使用して、物理ネットワーク・インタフェースをセカンダリタイプのインタフェースとして結合に追加します。

    たとえば:

    sudo nmcli connection add type ethernet slave-type bond con-name bond0-if1 ifname enp1s0 master bond0
    sudo nmcli connection add type ethernet slave-type bond con-name bond0-if2 ifname enp2s0 master bond0

    各セカンダリに接続名を指定し、追加する各インタフェースのインタフェース名を選択します。 使用可能なインタフェースのリストを取得するには、nmcli deviceコマンドを実行します。 セカンダリ・ネットワーク・インタフェースをアタッチする結合のインタフェース名を指定します。

  4. 結合インタフェースを起動します。
    sudo nmcli connection up "Bond Connection 1"
  5. ネットワーク・インタフェースが結合に正しく追加されたことを確認します。

    これを確認するには、デバイス・リストを再度調べます。

    sudo nmcli device
    ...
    enp1s0   ethernet  connected  bond0-if1
    enp2s0   ethernet  connected  bond0-if2

ネットワーク接続エディタを使用したネットワーク結合の構成

nm-connection-editorグラフィカル・インタフェースを使用してネットワーク結合を設定します。
  1. このエディタを起動します。
    sudo nm-connection-editor

    ネットワーク接続ウィンドウが開きます。

  2. 接続を追加するには、ウィンドウの下部にあるプラス(+)ボタンをクリックします。

    別のウィンドウが開き、作成する接続のタイプを入力するように求められます。

  3. ウィンドウのドロップダウン・リストで、仮想セクションから結合を選択し、作成をクリックします。

    ネットワーク結合エディタ・ウィンドウが開きます。

    ネットワーク結合エディタ


    この図は、ネットワーク接続インタフェース・エディタが開き、新しい結合ネットワーク・インタフェースを構成できる状態を示しています。
  4. オプション: ボンドの接続名の構成 .
  5. ネットワーク結合に追加する物理ネットワーク・インタフェースごとに、次のステップを実行します:
    1. 追加」ボタンをクリックします。
      新しいウィンドウが開き、ネットワーク結合に追加する物理インタフェースのタイプを選択できます。
    2. 作成する接続のタイプを選択し、「作成」をクリックしてセカンダリ・インタフェースを構成します。
      たとえば、イーサネット・タイプを選択して、ネットワーク結合にイーサネット・インタフェースを追加できます。
    3. オプション: セカンダリ・インタフェースの名前の構成 .
    4. デバイスフィールドで、結合にセカンダリとして追加する物理ネットワーク・インタフェースを選択します。

      ノート:

      デバイスがすでにネットワーキング用に構成されている場合、そのデバイスはボンディング内で構成可能なものとしてリストされません。
    5. 保存をクリックして、セカンダリ・デバイスをネットワーク結合に追加します。
  6. 「モード」ドロップダウン・リストで、ネットワーク・ボンドに使用するボンディング・モードを選択します。

    ノート:

    一部のモードでは、ネットワーク・スイッチでさらに構成が必要な場合があります。
  7. デフォルト設定を使用しない場合は、必要に応じてその他の結合パラメータ(リンク・モニタリングなど)を構成します。
    ネットワーク結合IP構成にDHCPを使用しない予定の場合は、IPv4タブとIPv6タブをクリックすることでIPアドレス指定を設定します。
  8. 「保存」をクリックして構成を保存し、ネットワーク結合を作成します。

ネットワーク結合ステータスの確認

  1. 次のコマンドを実行して、デバイス名がbond0のネットワーク結合に関する情報を取得します。
    cat /proc/net/bonding/bond0

    出力では、アクティブな結合セカンダリなど、結合構成およびステータスが示されます。 出力では、各セカンダリ・インタフェースのステータスに関する情報も示されます。

  2. セカンダリ・インタフェースの1つに接続されている物理ケーブルを一時的に取り外します。
    この他に、リンク障害をテストするために使用可能な信頼できる方法はありません。
  3. この手順の最初のステップに示されているように、結合リンクのステータスを確認します。
    セカンダリ・インタフェースのステータスでは、そのインタフェースが停止しており、リンク障害が発生していることが示されます。