Bondingを行ってみる
LstUpdate : 08/07/27
Linuxにて、bondingにて複数のNICを1つのNICとして扱い、通信をおこなってみます。面白いことに、異なるNICでも、1つのNICとしてまとめることができます。
私が行った手順としては、以下のとおりです。
2つのNICをbondingを行う際の、作業手順をメモしています。
なお、今回の設定例は、eth0とeth1をbond0に設定を行った際の私の作業手順です。
※私の環境では、HubにcoregaのSSW08GTRを使っています(リンクアグリゲーション対応)。どうでもいいですが、これを私は定価(42000円)で購入したのですが、購入後、3ヶ月で半額で売られています・・・。いったい何が起こったのでしょうか?tt
1. /etc/modprobe.confファイルの編集
modprobe.confファイルに、次の文を書き加えます。
alias bond0 bonding
options bond0 mode=0
options bond0 miimon=100
optionに関してはbondingドライバについての解説を参照してください(どのモードを使用するのか・・・などここで指定します)。
今回設定するのはbalance-rr (ラウンドロビン)というやつです。
2. 設定ファイルの編集
/etc/sysconfig/network-scriptsの中に、以下のファイルを編集&作成する。
/etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 IPADDR=192.168.11.34 NETMASK=255.255.255.0 NETWORK=192.168.11.0 BROADCAST=192.168.11.255 GATEWAY=192.168.11.1 ONBOOT=yes BOOTPROTO=none USERCTL=none
/etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ONBOOT=yes MASTER=bond0 SLAVE=yes BOOTPROTO=none USERCTL=none
/etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 ONBOOT=yes MASTER=bond0 SLAVE=yes BOOTPROTO=none USERCTL=none
以上で、再起動を行えば、完了です(私は念のため、再起動し、起動した時点でbondingされているかの確認を行いました)。
※ 上記でダメな場合・・・!
ネット上にある情報を調べてみると、基本的に上記の設定だけでうまく行っている人が多いようです。しかし、私の環境ではうまく行きませんでした。
私の環境の場合、どうやら、3回ぐらいマシンが再起動すると、NICの認識順序が勝手に変わってしまう様子でした。そのため、ifcfg-ethXのファイル内に、MACアドレスを書き込みました。
MACアドレスを書き込めば、強制的に、ifcfg-ethXの設定ファイルは、そのMACアドレスで指定されたNICの設定ファイルとして使用される様なので、これで、上手く行きました(私の環境については<a
href="../xen/">ここ</a>を見てください)。
ちなみにフォーマットはifcfg-ethXファイル内に、一行追加するだけです。 例→ 「 HWADDR=XX:XX:XX:XX:XX:XX 」