Ubuntu 9.10 Server で bonding 設定

atom サーバを実運用にまわすため、ちょこちょこと触ってきましたが、週末でデータ移動と監視系の設定を行い、移行させました。

今回は、オンボードのギガビットに、ギガビットの NIC をもう一枚追加したため、これらをボンディング設定(ウェブサーバがメインなので、あくまでも耐障害)しました。一応、このときの記録を残しておきます。

ifenslave パッケージのインストール

$ sudo aptitude install ifenslave

bonding モジュールの設定

/etc/modprobe.d/bonding.conf に、bonding モジュールのパラメータを設定します。

#/etc/modprobe.d/bonding.conf

alias bond0 bonding
options bonding mode=1 miimon=100

bonding ポリシーは、mode=1 を設定しています。ちなみに、mode=0 は、「耐障害性と負荷バランシング」。ラウンドロビンとなり、ボンディングされたスレーブインタフェースは使用できるものから順に、送受信を順次行ないます。mode=1 は、耐障害性に対するアクティブ バックアップ ポリシーを設定します。最初に使用できるボンディングされたスレーブインタフェースによって送受信が行なわれます。ボンディングされた他のスレーブインタフェースはアクティブなスレーブインタフェースが失敗した場合のみ使用されます。詳しいパラメータの説明はイーサネットパラメータに詳しく載っています。

miimon は、MII リンク監視の実行頻度を指定します。

bonding モジュールのロード設定

bonding モジュールをロードします。

$ sudo modprobe bonding
$ lsmod | grep bonding

bonding 83680 0

ロードに成功したら、OS 起動時に自動ロードされるように /etc/modules に追加、設定します。

#/etc/modules
bonding

bonding インタフェースの設定

/etc/network/interface に bonding インタフェースを設定します。

今回は、bonding インタフェースを bond0 とし、DHCP を使用しました。

#/etc/network/interface

# The primary network interface
iface eth0 inet manual
 
# The secondary network interface
iface eth1 inet manual
 
# The bonding interface
auto bond0
iface bond0 inet dhcp
slaves eth0 eth1

Posted in tech