CentOS/NICの冗長化(bonding設定)
提供:maruko2 Note.
< CentOS
目次 |
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 が 7 種類あり、mode を指定しない場合、mode=0 が使われる。
- スレーブデバイスのリンク状態を監視する方式として、MII 監視と ARP 監視がある。
mode を指定しない場合、デフォルトの mode 0 が設定されるが、miimon パラメータまたは arp_interval と arp_ip_target パラメータの指定は必須。 |
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の機能に加え、受信も負荷分散。 |
- 日本HP_Linux_技術文書_bondingドライバの違いについて
- bonding.txt 日本語訳[1]
- REDHAT MAGAZINE 第31号(2009年4月) RHEL5のbonding設定
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"
|
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.
参考ページ
- Bonding ドライバー利用ガイド for RHEL5
- レッドハット・ニュースレター 記事:RHEL5のbonding設定
- イーサネットパラメータ
- bonding でフォールトトレラントなNICにする - いますぐ実践! Linuxシステム管理 / Vol.161