新トップページへ | Tip

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 」