RHEL / CentOS7でネットワークボンディングまたはチーミングをセットアップおよび構成する方法-パート11


システム管理者が利用可能な帯域幅を増やし、データ転送に冗長性と負荷分散を提供したい場合、ネットワークボンディングと呼ばれるカーネル機能により、費用効果の高い方法で作業を行うことができます。

Linuxで帯域幅調整を増やす方法についてもっと読む

— TecMint.com(@tecmint)2015年9月17日

Linuxシステムでのネットワークボンディングの詳細については、こちらをご覧ください。

  1. Network Teaming or NiC Bondin in RHEL/CentOS 6/5
  2. Network NIC Bonding or Teaming on Debian based Systems
  3. How to Configure Network Bonding or Teaming in Ubuntu

ネットワークボンディングまたはチーミングの有効化と構成

デフォルトでは、ボンディングカーネルモジュールは有効になっていません。したがって、それをロードして、ブート間で永続的であることを確認する必要があります。 -first-time オプションと一緒に使用すると、モジュールのロードが失敗した場合にmodprobeが警告を発します。

# modprobe --first-time bonding

上記のコマンドは、現在のセッションのボンディングモジュールをロードします。永続性を確保するために、/etc/modules-load.d 内に/etc/modules-loadなどのわかりやすい名前で .conf ファイルを作成します。 .d/bonding.conf

# echo "# Load the bonding kernel module at boot" > /etc/modules-load.d/bonding.conf
# echo "bonding" >> /etc/modules-load.d/bonding.conf

サーバーを再起動し、再起動したら、図1に示すように、ボンディングモジュールが自動的にロードされることを確認します。

この記事では、3つのインターフェース( enp0s3 enp0s8 、および enp0s9 )を使用して、便利な bond0

bond0 を作成するには、NetworkManagerを制御するためのテキストインターフェースであるnmtuiを使用できます。コマンドラインから引数なしで呼び出されると、nmtuiは、既存の接続の編集、接続のアクティブ化、またはシステムホスト名の設定を可能にするテキストインターフェイスを表示します。

図2に示すように、[接続の編集] –> [追加] –> [結合]を選択します。

[接続の編集]画面で、スレーブインターフェイス(この場合は enp0s3 enp0s8 、および enp0s9 )を追加し、説明(プロファイル)を付けます。名前(たとえば、それぞれ NIC#1 NIC#2 、および NIC#3 )。

さらに、ボンドの名前とデバイス(図3の TecmintBond bond0 )、および bond0 <のIPアドレスを設定する必要があります。/code>に、ゲートウェイアドレスとDNSサーバーのIPを入力します。

nmtuiが自動的に行うため、各インターフェイスのMACアドレスを入力する必要がないことに注意してください。他のすべての設定はデフォルトのままにしておくことができます。詳細については、図3を参照してください。

完了したら、画面の下部に移動して[OK]を選択します(図4を参照)。

これで完了です。これで、テキストインターフェイスを終了してコマンドラインに戻ることができます。ここで、ipコマンドを使用して新しく作成されたインターフェイスを有効にします。

# ip link set dev bond0 up

その後、図5に示すように、 bond0 がUPになり、192.168.0.200が割り当てられていることがわかります。

# ip addr show bond0

Linuxでのネットワークボンディングまたはチーミングのテスト

bond0 が実際に機能することを確認するには、別のマシンからIPアドレスにpingを実行するか、さらに良いことに、カーネルインターフェイステーブルをリアルタイムで監視します(秒単位の更新時間は、 -n オプション)を参照して、図6に示すように、ネットワークトラフィックが3つのネットワークインターフェイス間でどのように分散されているかを確認します。

-d オプションは、変更が発生したときにそれを強調表示するために使用されます。

# watch -d -n1 netstat -i

いくつかのボンディングモードがあり、それぞれに特徴があることに注意することが重要です。これらは、Red Hat Enterprise Linux7ネットワーク管理ガイドのセクション4.5に記載されています。ニーズに応じて、どちらかを選択します。

現在の設定では、ラウンドロビンモード(図3を参照)を選択しました。これにより、パケットは最初のスレーブから順番に送信され、最後のスレーブで終わり、最初のスレーブから再開されます。

ラウンドロビンの代替手段は mode 0 とも呼ばれ、負荷分散とフォールトトレランスを提供します。ボンディングモードを変更するには、前に説明したようにnmtuiを使用できます(図7も参照)。

これをアクティブバックアップに変更すると、特定の時間にアクティブなインターフェイスが1つだけになるスレーブを選択するように求められます。そのようなカードに障害が発生した場合、残りのスレーブの1つが代わりになり、アクティブになります。

enp0s3 をプライマリスレーブとして選択し、 bond0 を再度上下させ、ネットワークを再起動して、カーネルインターフェイステーブルを表示しましょう(図8を参照)。

データ転送(TX-OKおよびRX-OK)が enp0s3 のみで行われていることに注意してください。

# ip link set dev bond0 down
# ip link set dev bond0 up
# systemctl restart network

または、カーネルが認識しているとおりに結合を表示することもできます(図9を参照)。

# cat /proc/net/bonding/bond0

概要

この章では、Red Hat Enterprise Linux 7(CentOS7およびFedora22 +でも機能します)でボンディングをセットアップおよび構成して、データ転送の負荷分散と冗長性とともに帯域幅を増やす方法について説明しました。

時間をかけて他のボンディングモードを検討すると、認定のこのトピックに関連する概念と実践を習得するようになります。

この記事について質問がある場合、またはコミュニティの他のメンバーと共有するための提案がある場合は、以下のコメントフォームを使用してお知らせください。

全著作権所有。 © Linux-Console.net • 2019-2022