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