http://m97087yh.seesaa.net/article/169472227.html
情報も多くあり、そんなに難しくなかった。いつも先人の方達に感謝!
1.bondingモジュールの設定ファイルを作成
# vi /etc/modprobe.d/bonding.conf
alias bond0 bonding
2.NICの設定
# vi ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
NAME="System eth0"
HWADDR=50:46:5D:DB:B8:64
# vi ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
NAME="System eth1"
HWADDR=50:46:5D:DB:B8:65
# vi ifcfg-bond0
DEVICE=bond0
BOOTPROT=none
ONBOOT=yes
IPADDR=192.168.1.102
BROADCAST=192.168.1.255
NETWORK=192.168.1.0
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
BONDING_OPTS='mode=0 miimon=500'
modeは以下7種類。デフォルトは0。
mode | 説明 |
0 | 全てのスレーブデバイス(NIC)を順番(ラウンドロビン)に使いパケットを送信。送信のみ負荷分散。 |
1 | 1つのスレーブのみを active interfaceとしパケットを送信。active interfaceに障害が発生した場合、他の backup slave を active interfaceに切り替え、冗長性を確保。 |
2 | 送信元/先 MACアドレスを元に送信スレーブを決定しパケットを送信。送信のみ負荷分散。 |
3 | 全スレーブに同一パケットを送信。このモードは通常の用途で使用されないので無視。 |
4 | IEEE 802.3ad(LACP)に準拠したリンクアグリゲーション。 |
5 | スレーブの負荷に応じて送信スレーブを決定しパケットを送信。送信のみ負荷分散。 |
6 | balance-tlbの機能に加え、受信も負荷分散。 |
miimon= − MIIリンク監視の実行頻度を指定します。(ミリ秒単位) NICがアクティブかを確認するのにMIIを利用。
MIIでの監視が使えるかは以下のコマンドで確認。
# mii-tool eth0
eth0: negotiated 100baseTx-FD, link ok
link ok とあるのでNICは対応している。
MIIが使えない場合はARPパケットで監視を行うらしい。
その際のオプションは以下の感じ。
options bonding mode=1 arp_interval=100 arp_ip_target=192.168.100.1
3.ネットワーク再起動
# service network restart
4.テスト
# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)
Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 50:46:5d:db:b8:64
Slave queue ID: 0
Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 50:46:5d:db:b8:65
Slave queue ID: 0
2つのNICがUPしてる。
# ifdown eth0
通信ができることを確認。さっきのコマンドで確認。
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)
Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 50:46:5d:db:b8:65
Slave queue ID: 0
eth1で通信頑張ってる。
eth0を再起動。
# ifup eth0
さっきのコマンドで確認。
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)
Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 50:46:5d:db:b8:65
Slave queue ID: 0
Slave Interface: eth0
MII Status: down
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 50:46:5d:db:b8:64
Slave queue ID: 0
eth0が復活!
逆も試してみる。
以上