Fedora 14 でbonding設定
Fedora14でボンディング設定
bonding(ボンディング)
複数のNICをひとつのNICとして束ねる技術です。
耐障害性や負荷分散をさせることができます。
Linuxでは複数の動作モードが用意されていて、用途にあったものを選択することができます。
bondingの種類については以下を参照のこと。
http://www.jp.redhat.com/magazine/jp/200904/rhel.html
一般的には、
mode=1(Active-Backup:複数のNICの内1つだけが通信をし、そのNICがダウンした時は他のNICに切り替え、通信を続行できるようにする動作モード)
が使われているらしいので、これを例に設定します。
まずはルートに昇格
$ su -
#
初めに、bondingを有効にします。
# nano /etc/modprobe.d/dist.conf
ファイルの末尾に、
alias bond0 bonding
options bond0 mode=1 miimon=100
これでbondingの準備ができました。
miimonはbond0の監視を行う設定です。
次はインターフェース定義ファイルがあるディレクトリに移動。
# cd /etc/sysconfig/network-scripts/
NICの定義ファイルをコピーし、bonding用に設定する。
# cp ifcfg-eth0 ifcfg-bond0
# nano ifcfg-bond0
以下のように書き換えます。
bond0の設定はこれでおkです。
今度はifcfg-eth0、ifcfg-eth1の設定。
# nano ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
MASTER=bond0
SLAVE=yes
DEVICE=eth0
NICを指定します。
eth0の設定ならeth0、eth1ならeth1の設定。
ifcfg-***の***と合わせる。じゃないと分かりづらいです。
BOOTPRO=none
起動時にDHCPからIPアドレスを固定もしくは割り当てない時にする設定です。
ONBOOT=yes
Fedora14が起動したときにNICを有効にするかどうかの設定です。
yesなので起動時に有効化します。
MASTER=bond0
ボンディング用の設定です。
束ねられた(ボンディングされた)NICの名前を記述します。
SLAVE=yes
ボンディング用の設定です。
束ねられたNICのグループに入るかどうかの設定です。
yesはボンディングに参加します。
ifcfg-eth1も同様の設定で。
ここで一度再起動。
# reboot
諸事情で再起動できない〜と言う場合は、
# rmmod bonding
# modprobe bonding
# /etc/init.d/network restart
で大丈夫らしい。らしい。
※注意
再起動したときに、bond0、eth0にIPアドレスが割り振られている場合(ifconigで確認)、もしくは、
# /etc/init.d/network restart
を実行したときにNICの再起動が失敗する場合(RTNETLINK answers: File exists が出現するなど)、
# service NetworkManager stop
でNetworkManagerを停止させるとうまくいく場合あり。
NetworkManager止めてもネットワーク使えなくなるとかそんなことはなかったぜ!!
恒久的に止める場合
# chkconfig NetworkManager off
確認
# chkconfig NetworkManager --list
NetworkManager 0:off 1:off 2:off 3:off 4:off 5:off 6:off
これで次回以降再起動してもNetworkManagerは起動してきません。
その他、起こった現象としては、
・ルーティングテーブルの異常
# netstat -rn
で、ルーティングテーブルを確認するとデフォルトゲートウェイのifaceがbond0ではなくeth0
・ネットに接続できない
ブラウザなどでwebページを閲覧しようとしても閲覧できない繋がらない。
IPアドレスの確認
# ifconfig
bond0 Link encap:Ethernet HWaddr 08:00:27:14:C7:7A
inet addr:192.168.56.101 Bcast:192.168.56.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe14:c77a/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:3474 errors:0 dropped:0 overruns:0 frame:0
TX packets:1464 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:356502 (348.1 KiB) TX bytes:208594 (203.7 KiB)eth0 Link encap:Ethernet HWaddr 08:00:27:14:C7:7A
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:1436 errors:0 dropped:0 overruns:0 frame:0
TX packets:1187 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:149741 (146.2 KiB) TX bytes:168411 (164.4 KiB)
Interrupt:11 Base address:0xd020eth1 Link encap:Ethernet HWaddr 08:00:27:14:C7:7A
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:2064 errors:0 dropped:0 overruns:0 frame:0
TX packets:290 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:208477 (203.5 KiB) TX bytes:42305 (41.3 KiB)
Interrupt:10 Base address:0xd060lo 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:1341 errors:0 dropped:0 overruns:0 frame:0
TX packets:1341 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2856114 (2.7 MiB) TX bytes:2856114 (2.7 MiB)
bond0にのみIPアドレスが割り振られていれば設定完了です。
確認作業として、eth0のLANケーブルを抜線します。
通信が正常に続けられれば成功。(何度かtimeoutになってもちょっとしたら復活します。)