ネットワーク インターフェイスを集約する理由 (インターフェイス ボンディング)
インターフェース ボンディングを作成する 2 つの重要な理由は次のとおりです。
1.増加した帯域幅を提供するには
2.ハードウェア障害に備えて冗長性を提供するため
ボンディングを構成するための前提条件の 1 つは、Etherchannel をサポートするネットワーク スイッチを用意することです (これは、ほとんどすべてのスイッチの場合に当てはまります)。
結合モード
要件に応じて、結合モードを以下の 7 つのモードのいずれかに設定できます。ボンディング モードは、ボンディング インターフェイスのネットワーク ファイル /etc/sysconfig/network-scripts/ifcfg-bond0 で設定できます。 以下のように:
BONDING_OPTS="mode=active-backup miimon=250"
または
BONDING_OPTS="mode=1 miimon=250"
モード | ポリシー | 仕組み | 耐障害性 | 負荷分散 |
---|---|---|---|---|
0 | ラウンドロビン | パケットは、各インターフェイスを介して 1 つずつ順番に送受信されます。 | いいえ | はい |
1 | アクティブ バックアップ | 1 つの NIC がアクティブで、別の NIC がスリープ状態です。アクティブな NIC がダウンすると、別の NIC がアクティブになります。 x86 環境でのみサポートされます。 | はい | いいえ |
2 | XOR [排他的 OR] | このモードでは、スレーブ NIC の MAC アドレスが着信要求の MAC と照合され、この接続が確立されると、宛先 MAC の送受信に同じ NIC が使用されます。 | はい | はい |
3 | ブロードキャスト | すべての送信はすべてのスレーブで送信されます | はい | いいえ |
4 | 動的リンク集約 | 集約された NIC は 1 つの NIC として機能するため、スループットが向上しますが、NIC に障害が発生した場合はフェイルオーバーも提供されます。ダイナミック リンク アグリゲーションには、IEEE 802.3ad をサポートするスイッチが必要です。 | はい | はい |
5 | 送信負荷分散 (TLB) | 送信トラフィックは、各スレーブ インターフェイスの現在の負荷に応じて分散されます。着信トラフィックは現在のスレーブによって受信されます。受信スレーブが失敗した場合、別のスレーブが失敗したスレーブの MAC アドレスを引き継ぎます。 | はい | はい |
6 | アダプティブ ロード バランシング (ALB) | ダイナミック リンク アグリゲーションとは異なり、アダプティブ ロード バランシングには特定のスイッチ構成は必要ありません。アダプティブ ロード バランシングは、x86 環境でのみサポートされます。受信パケットは、ARP ネゴシエーションによって負荷分散されます。 | はい | はい |
インターフェイス ボンディングの構成
<強い>1.マスター bond0 インターフェイスを作成する
このために、ファイル /etc/sysconfig/network-scripts/ifcfg-bond0 を作成する必要があります 以下の内容で:
# vi /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 BOOTPROTO=static ONBOOT=yes IPADDR=10.10.1.10 NETMASK=255.255.255.0 BONDING_OPTS="miimon=100"RHEL6 では、/etc/modprobe.d/bonding.conf ファイルではなく、ifcfg-bondX で結合パラメーターを構成します。利点は、結合ドライバーの初期化プロセスではなく、インターフェイスの初期化プロセス中にこれらのパラメーターを結合インターフェイスごとに変更できることです。つまり、パラメータを変更しても、ボンディング ドライバを再ロードする必要はありません。これにより、ボンディング インターフェイスでいくつかの小さな変更を行いながら、システム全体のネットワーク停止を減らすことができます。
BONDING_OPTS - Specify bonding module parameters, e.g. miimon - link polling interval for fault detection (in ms)
IP アドレスとネットマスクを使用して結合インターフェイスを構成したので、結合を構成する個々のインターフェイス ファイルでそれらを指定する必要はありません。
<強い>2.スレーブ インターフェースの作成
em0 と em1 をスレーブ インターフェイスとして使用して、bond0 結合インターフェイスを作成します。 MASTER と SLAVE の行は、マスター ボンディング インターフェイス bond0 と em0/em1 をスレーブ インターフェイスとして定義します。
# vi /etc/sysconfig/network-scripts/ifcfg-em0 DEVICE=em0 BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes
# vi /etc/sysconfig/network-scripts/ifcfg-em1 DEVICE=em1 BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes
<強い>3.結合ドライバーを構成する
構成ファイル /etc/modprobe.conf は RHEL 6 では非推奨になり、構成ファイルは現在ディレクトリ /etc/modprobe.d にあります。古い構成ファイルは引き続きサポートされますが、推奨されません。ディレクトリ /etc/modprobe.d に新しいファイル bond.conf を作成して、新しいデバイス bond0 に結合ドライバーを使用する必要があることをカーネルに伝えます。
# vi /etc/modprobe.d/bond.conf alias bond0 bonding
<強い>4.ネットワーク サービスを再起動します
ネットワーク サービスを再起動して、ボンディング インターフェイスを有効にします。
# service network restart
ネットワーク サービスを再起動したくない場合は、ボンディング インターフェイスを個別に plumb できます:
# ifup bond0
<強い>5.確認
ifconfig コマンド出力で新しいインターフェースを確認してください:
# ifconfig bond0 bond0 Link encap:Ethernet HWaddr 00:0C:29:9B:FD:2B inet addr:10.10.1.10 Bcast:10.10.1.1 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe9b:fd2b/64 Scope:Link UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1 RX packets:39 errors:0 dropped:0 overruns:0 frame:0 TX packets:34 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:13875 (13.5 KiB) TX bytes:3446 (3.3 KiB)
結合モジュールが正しくロードされているかどうかを確認するには:
# lsmod |grep bond bonding 122351 0
現在アクティブなインターフェイスを確認するには (アクティブ バックアップ モードの場合):
# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: em0 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 5000 Down Delay (ms): 5000 Slave Interface: em0 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 00:21:28:b2:65:26 Slave queue ID: 0 Slave Interface: em1 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 00:21:28:b2:65:27 Slave queue ID: 0
ボンディングが適切に構成されているかどうかをテストする場合は、アクティブなインターフェイス (ここでは em0) をボンディングからダウンさせます。結合インターフェイスにはまだアクセスできることがわかります。
# ifdown em0RedHat / CentOS :オンラインでボンディングの現在アクティブなスレーブ インターフェイスを変更する方法