CentOS/NICの冗長化(bonding設定)

提供:maruko2 Note.
移動: 案内, 検索

目次

bonding ドライバ設定

CentOS 5/6

/etc/modprobe.d/bonding に、bonding ドライバをロードする設定を書く。

alias bond0 bonding

CentOS 4

/etc/modprobe.conf に bonding ドライバをロードする設定に加え、ドライバのオプションも書く。

alias bond0 bonding
options bond0 mode=0 miimon=100

bonding ドライバのオプション

mode を指定しない場合、デフォルトの mode 0 が設定されるが、miimon パラメータまたは arp_interval と arp_ip_target パラメータの指定は必須。

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

bonding デバイスの設定

/etc/sysconfig/network-scripts にある、各インターフェースを設定するファイルを次のように設定する。

ifcfg-eth0

DEVICE=eth0
BOOTPROTO=none
HWADDR=xx:xx:xx:xx:xx:xx
MASTER=bond0
SLAVE=yes

ifcfg-eth1

DEVICE=eth1
BOOTPROTO=none
HWADDR=yy:yy:yy:yy:yy:yy
MASTER=bond0
SLAVE=yes

ifcfg-bond0

DEVICE=bond0
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
ONBOOT=yes
BONDING_OPTS="mode=0 miimon=100"
  • CentOS 5/6 では、ifcfg-bond0 に boinding ドライバのオプション設定(BONDING_OPTS)を書く。
  • CentOS 4 では、ifcfg-bond0 に BONDING_OPTS を書いても設定が反映されない。

IPエイリアス(IPの複数割り当て)

ifcfg-bond0:1

DEVICE=bond0:1
IPADDR=192.168.1.101
NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=static

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.

参考ページ

脚注

  1. JF: Linux Kernel 2.6 Documentation: bonding.txt
LINEで送る このエントリーをはてなブックマークに追加
個人用ツール
名前空間
変種
表示
操作
案内
ツールボックス

注目のページ

このサイトのはてなブックマーク数