GNU/Linux >> Linux の 問題 >  >> Linux

ネットワーク インターフェイス HA の Linux Etherchannel ボンディングをセットアップする方法

Linux では、イーサチャネル ボンディングを使用して、2 つ以上の物理ネットワーク インターフェイス (NIC) を組み合わせて仮想インターフェイスを作成できます。

IP アドレスは、この仮想インターフェイスで構成されます。基礎となる物理アダプターの 1 つがダウンした場合、もう一方の物理アダプターが通信トラフィックの処理に使用されます。

以下は、さまざまなタイプのイーサチャネル ボンディング モードです。

  • モード 0 – ラウンド ロビン (RR) ポリシー:パケット送信は順番に行われます。たとえば、最初のパケットはインターフェイスを使用して送信され、2 番目のパケットは次のインターフェイスを介して送信されます。このモードは、負荷分散とフォールト トレランスを提供します。
  • モード 1 – アクティブ バックアップ ポリシー:パケット送信はアクティブ インターフェースを介してのみ行われ、トラフィックはアクティブ インターフェースがダウンした場合にのみバックアップ インターフェースを介してルーティングされます。
  • モード 2 – XOR ポリシー:このモードは、アクティブなポート間で送信トラフィックのバランスをとります。このモードでは、各宛先 MAC アドレスの送信に同じスレーブが使用されます。これにより、負荷分散とフォールト トレランスが提供されます。
  • モード 3 – ブロードキャスト ポリシー:すべてのスレーブ インターフェイスですべてを送信します。このモードはフォールト トレランスを提供します。
  • モード 4 ( 802.3ad ):このモードは、同じ速度とデュプレックス設定を共有するリンク アグリゲーション グループを作成するために使用されます。
  • モード 5( balance-tlb ):アダプティブ送信ロード バランシング。発信トラフィックは、各スレーブの現在の負荷に基づいて分散されます。着信トラフィックは現在のスレーブによって受信されます。現在のスレーブに障害が発生した場合、別のスレーブが MAC アドレスに基づいて着信トラフィックを引き継ぎます。
  • モード 6( balance-alb ):アダプティブ ロード バランシング。この場合、着信トラフィックは、すべてのスレーブ間で負荷分散を使用するように処理されます。受信負荷分散は、ARP ネゴシエーションを通じて行われます。

Redhat または CentOS でボンディングを構成する

1. ifcfg-bond0 ファイルを作成

すべてのネットワーク構成スクリプトは、RHEL の /etc/sysconfig/network-scripts の下にあります。コマンド「ethtool」を使用して、インターフェイスのリンク ステータスを確認します

以下の値でファイル ifcfg-bond0 を作成し、以下のように正しい IP、NETMASK、および適切な結合モード (モード 0、1、2 …) に置き換えます。

# cd /etc/sysconfig/network-scripts

# vi ifcfg-bond0
DEVICE=bond0
IPADDR=19.86.101.120
NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
BONDING_OPTS="mode=1 miimon=100"

2. ifcfg-eth0 および ifcfg-eth1 ファイルの変更

eth0 と eth1 のネットワーク インターフェイス ファイルを編集して、次のようなエントリを反映させます。以下に示すように、MASTER および SLAVE パラメータが定義されていることを確認してください。

# cat ifcfg-eth0
DEVICE=eth0
HWADDR=00:50:56:8E:0C:10
MASTER=bond0
SLAVE=yes
ONBOOT=yes
USERCTL=no
BOOTPROTO=none

# cat ifcfg-eth1
DEVICE=eth1
HWADDR=00:50:56:8E:0C:2A
MASTER=bond0
SLAVE=yes
ONBOOT=yes
USERCTL=no
BOOTPROTO=none

3. bond.conf ファイルを作成

次の内容でbonding.confファイルを作成します。

# vi /etc/modprobe.d/bonding.conf
alias netdev-bond0 bonding

4.ネットワーク サービスを再起動してボンディングを確認する

ネットワーク サービスを再起動します:

service network restart

以下に示すように、結合ステータスを確認します。

以下は、現在の結合モードが耐障害性であることを示しています。

# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:50:56:8e:0c:10
Slave queue ID: 0

Slave Interface: eth1
MII Status: up
Speed: 10000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:50:56:8e:0c:2a
Slave queue ID: 0

1 つのインターフェースをダウンさせてテストを実行し、他のインターフェースがアクティブになることを確認し、その逆も可能です。

SuSE Linux でのボンディングの構成

最新バージョンの SuSE でボンディングを構成するには、YaST を使用するか、以下に示すようにシステム ファイルを変更します。

次のコマンドを使用して、アクティブなインターフェースを確認してください:

ethtool  eth0 | egrep "Speed|Duplex|Link"

速度、デュプレックス、およびリンクのステータスが不明な場合は、インターフェイスがダウン ステータスになっている可能性があります。 「ifconfig up」を使用してインターフェイスを起動してみてください。それでもリンクが表示されない場合は、インターフェイスがスイッチに接続されていません。

1. ifcfg-bond0 ファイルを作成

コンソールを使用してマシンにログインします。 /etc/sysconfig/network の下に ifcfg-bond0 を作成し、使用できる IP アドレスとスレーブ インターフェイスを定義します。

次の例では、結合にアクティブ バックアップ モードを使用しています。これは、アクティブ インターフェイスのみが通信トラフィックを処理し、バックアップ インターフェイスが機能し始める障害を処理することを意味します。

# cd /etc/sysconfig/network

# cat ifcfg-bond0
BONDING_MASTER=yes
BONDING_MODULE_OPTS='mode=active-backup miimon=100'
BONDING_SLAVE0='eth0'
BONDING_SLAVE1='eth1'
BOOTPROTO='static'
IPADDR='192.168.1.85/24'
BROADCAST=''
STARTMODE='auto'

2. ifcfg-eth0 および ifcfg-eth1 ファイルの変更

スレーブ インターフェイスを変更して、IP アドレス、ネットマスクを持たないようにします。出力は次のようになります:

# cat ifcfg-eth0
DEVICE='eth0'
BOOTPROTO='none'
STARTMODE='onboot'
NAME='82545EM Gigabit Ethernet Controller (Copper)'

# cat ifcfg-eth1
DEVICE='eth1'
BOOTPROTO='none'
STARTMODE='onboot'
NAME='82545EM Gigabit Ethernet Controller (Copper)'

3. modprobe.conf ファイルの編集

ファイル /etc/modprobe.conf を編集し、以下の 2 行を追加して、ボンディング ドライバーとオプションを含めます。

alias bond0 bonding
options bond0 miimon=100 mode=1

注:/etc/sysconfig/network/ifcfg-bond0 ファイルに既に含まれている場合は、オプションを無視することを選択できます。

4.ネットワーク サービスを再起動してボンディングを確認する

ボンディングを設定したら、ネットワーク サービスを再起動します。

rcnetwork restart

ボンディング インターフェイスがアップしていて、IP が適切に構成されていることを確認します。また、IP アドレスを使用してサーバーに接続できることも確認してください。

# ifconfig bond0
bond0     Link encap:Ethernet  HWaddr 00:50:56:8E:00:26
          inet addr:192.168.1.85  Bcast:192.168.1.1  Mask:255.255.255.0
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:28420409 errors:0 dropped:0 overruns:0 frame:0
          TX packets:151985 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2362560309 (2253.1 Mb)  TX bytes:17330542 (16.5 Mb)

結合インターフェースが正しく機能することをテストするには、コンソールにログインし、「ifconfig eth0 down」を使用してアクティブなインターフェースを停止します。同じ IP またはホスト名を使用してマシンにログインできることを確認します。以下のファイルでアクティブなインターフェースのステータスを確認できます。

以下に示すように、eth0 はダウンしていますが、マシンへのネットワーク接続はまだ失われておらず、ボンディングをセットアップしており、eth1 インターフェイスはまだアップしています。

# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth1
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: down
Link Failure Count: 1
Permanent HW addr: 00:50:56:8e:00:26

Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:50:56:8e:7e:20

Linux
  1. DebianLinuxで静的IPアドレスを設定する方法

  2. LinuxでユーザーのSudo権限を設定する方法

  3. Oracle Linux 6でインタフェース・ボンディング(NICチーミング)を構成する方法

  1. Linuxでフェイルオーバーと高可用性ネットワークボンディングを構成する方法

  2. Linux で「パスワードなし」の ssh ログイン用に SSH キーをセットアップする方法

  3. ネットワーク ボンディング Ubuntu 20.04 のセットアップ方法

  1. ネットワーク診断用の10のLinuxコマンド

  2. Linux –現在のプロセスでネットワークの共有を解除する方法は?

  3. Linux でインターフェイス統計をクリアするにはどうすればよいですか