CentOS 6
Sponsored Link

bonding で NIC を冗長化する
2013/07/23
 
複数の NIC を使って NIC の冗長化・負荷分散ができるように bonding の設定をしてみます。
コンピュータに2枚以上の NIC が搭載されていることが前提です。
ここの例では、2枚の NIC を搭載済みで、ネットワークインターフェース名は「eth0」,「eth1」が割り当てられているという前提で設定してみます。
[1] bonding の設定
[root@dlp ~]#
vi /etc/sysconfig/network-scripts/ifcfg-eth0
# 以下のように変更

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
IPV6INIT=no
USERCTL=no
MASTER=bond0
SLAVE=yes

[root@dlp ~]#
vi /etc/sysconfig/network-scripts/ifcfg-eth1
# 以下のように変更

DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
IPV6INIT=no
USERCTL=no
MASTER=bond0
SLAVE=yes

[root@dlp ~]#
vi /etc/sysconfig/network-scripts/ifcfg-bond0
# 以下のように新規作成 (IPADDR・GATEWAY・DNS1は自身の環境に合わせて設定してください)

DEVICE=bond0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
IPV6INIT=no
USERCTL=no
IPADDR=10.0.0.100
GATEWAY=10.0.0.1
DNS1=10.0.0.10
BONDING_OPTS="mode=1 primary=eth0 miimon=500"

[root@dlp ~]#
/etc/rc.d/init.d/network restart

Shutting down interface bond0:                             [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface bond0:                               [  OK  ]

[root@dlp ~]#
bond0     Link encap:Ethernet  HWaddr 00:24:1D:13:7A:26
          inet addr:10.0.0.100  Bcast:10.255.255.255  Mask:255.0.0.0
          inet6 addr: fe80::224:1dff:fe13:7a26/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:4588926 errors:0 dropped:1425 overruns:0 frame:0
          TX packets:2067375 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:6939378147 (6.4 GiB)  TX bytes:141018635 (134.4 MiB)

eth0      Link encap:Ethernet  HWaddr 00:24:1D:13:7A:26
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:322066 errors:0 dropped:0 overruns:0 frame:0
          TX packets:285472 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:485688628 (463.1 MiB)  TX bytes:20867225 (19.9 MiB)

eth1      Link encap:Ethernet  HWaddr 00:1D:73:78:94:1E
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:4266861 errors:0 dropped:1425 overruns:0 frame:0
          TX packets:1781904 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6453689579 (6.0 GiB)  TX bytes:120151644 (114.5 MiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:12 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:720 (720.0 b)  TX bytes:720 (720.0 b)
[2]
以上で設定終了です。片方のLANケーブルを抜いたりした後、 他ホストから Ping を打つなどして、正常に切り替わっているかどうか確認してみてください。
 
上記の例では Mode「1」で設定しましたが、他にも以下のようなモードを設定可能です。
Mode Mode名
説明
0 balance-rr
全てのスレーブデバイス(NIC)を順番(ラウンドロビン)に使いデータを送受信する。
負荷分散と冗長化に対応する。
trunk に対応したスイッチが必要。
Mode を指定しない場合のデフォルトモード。
1 active-backup
1つの NIC のみをアクティブインターフェイスとしてデータを送受信する。
冗長化のみ対応。
2 balance-xor
送信元/先のMACアドレスを元に送信スレーブデバイスを決定してデータを送受信する。
負荷分散と冗長化に対応する。
trunk に対応したスイッチが必要。
3 broadcast
全スレーブに同一パケットを送信する。
通常の用途では使用しない。
4 802.3ad
IEEE 802.3ad(LACP)に準拠したリンクアグリゲーション。
IEEE 802.3ad に対応したスイッチが必要。
5 balance-tlb
送信時のみ NIC の速度、及び負荷に応じて負荷分散を行い、受信時は冗長化する。
負荷分散と冗長化に対応する。
6 balance-alb
balance-tlbの機能に加え、受信も負荷分散する。
負荷分散と冗長化に対応する。
 
Tweet