ちゃんと覚えておけよ?

忘れちゃいけない事のメモ、覚え書き

CentOS 6.3にbonding設定をしてみた(リンクアグリゲーション機能)

環境) NIC 2枚

eth0(onbord Broadcom NetXtreme BCM5715 Gigabit Ethernet)
eth1(onbord Broadcom NetXtreme BCM5715 Gigabit Ethernet)

eth0 と eth1 を束ねて理論上 2Gbit の NIC にする.

設定)

 # cat /etc/modprobe.d/bonding
 alias bond0 bonding
# cat /etc/sysconfig/network-scripts/ifcfg-bond0
 DEVICE="bond0"
 BOOTPROTO="none"
 IPADDR="172.168.0.100"
 NETMASK="255.240.255.0"
 ONBOOT="yes"
 BONDING_OPTS="mode=6 miimon=100"
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
 DEVICE="eth0"
 BOOTPROTO="none"
 HWADDR="**:**:**:**:**:**"
 MASTER="bond0"
 SLAVE="yes"
# cat /etc/sysconfig/network-scripts/ifcfg-eth1
 DEVICE="eth1"
 BOOTPROTO="none"
 HWADDR="**:**:**:**:**:**"
 MASTER="bond0"
 SLAVE="yes"

 

bonding 動作モード
mode名称説明
0balance-rrload balancing (round-robin)
全てのスレーブデバイス(NIC)を順番(ラウンドロビン)に使いパケットを送信。
送信のみ負荷分散。
1active-backupfault-tolerance (active-backup)
1つの NIC のみをアクティブインターフェイスとしてパケットを送信。
送受信とも負荷分散なし。
2balance-xorload balancing (xor)
送信元/先のMACアドレスを元に、送信スレーブデバイスを決定しパケットを送信。
送信のみ負荷分散。
3broadcastfault-tolerance (broadcast)
全スレーブに同一パケットを送信。
通常の用途では使用しない。
4802.3adIEEE 802.3ad Dynamic link aggregation
IEEE 802.3ad(LACP)に準拠したリンクアグリゲーション。
接続するスイッチが IEEE 802.3ad に対応している必要がある。
5balance-tlbtransmit load balancing
各スレーブの負荷に応じて送信スレーブを分散させる。受信は現在のスレーブによって行われる。
送信のみ負荷分散。
6balance-albadaptive load balancing
balance-tlbの機能に加え、受信も負荷分散。

bonding 動作確認

cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v2.6.3-rh (June 8, 2005)

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

Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:e0:18:56:de:ad

Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:01:8e:b8:ec:78

/var/log/message には bonding の動作ログが記録される。

eth0 のケーブルを抜く
kernel: e100: eth0: e100_watchdog: link down
kernel: bonding: bond0: link status definitely down for interface eth0, disabling it
eth0 のケーブルを挿す
kernel: e100: eth0: e100_watchdog: link up, 100Mbps, full-duplex
kernel: bonding: bond0: link status up for interface eth0, enabling it in 5000 ms.
kernel: bonding: bond0: link status definitely up for interface eth0.
eth1 のケーブルを抜く
kernel: eth1: link down
kernel: bonding: bond0: link status definitely down for interface eth1, disabling it
kernel: bonding: bond0: making interface eth0 the new active one.
eth1 のケーブルを挿す
kernel: eth1: link up, 100Mbps, full-duplex, lpa 0xC1E1
kernel: bonding: bond0: link status up for interface eth1, enabling it in 5000 ms.
kernel: bonding: bond0: link status definitely up for interface eth1.

Comment

*