2011年11月26日土曜日

Linux NIC チーミング

Cです。こんばんは

debian系でのチーミングの方法を書いておく。
Redhat系では必要なパッケージ名が違う。(iputilsだったかな)

ifenslaveでカーネルモジュールのbondingをコントロールする
インストールしとこう。

■インストール
#apt-get install ifenslave

■カーネルモジュールbonding読み込み
#echo "bonding" >> /etc/modules
#modprobe bonding

■bondingモジュール設定
#touch /etc/modprobe.d/bonding
#echo "options bonding miimon=2000 mode=0" >> /etc/modprobe.d/bonding
#modprobe bonding

■modeについて
 0: load balancing (round-robin):ラウンドロビン方式。
   使用できるスレーブデバイスから順にデータの送受信を行い、負荷分散と冗長化に対応する。
 1: fault-tolerance (active-backup):アクティブ・バックアップ方式。
   1つのスレーブがアクティブでありそのスレーブに障害が起きたとき自動的に他のスレーブを使用し、
   冗長化に対応
 2: load balancing (xor):XOR方式。
   同じ送信先のMACアドレス対して同じスレーブを使用し、負荷分散と冗長化に対応  
 3: fault-tolerance (broadcast):
   全部のスレーブデバイスでデータの送信を行う。
 4: IEEE 802.3ad Dynamic link aggregation:IEEE 802.3ad ダイナミックリンク集合方式。
   IEEE 802.3adに対応しているスイッチを用いて、Speed(通信速度100M/1Gb等)と
   Duplex(全/半二重設定)が同じグループを作って、 全てのスレーブデバイスで
   データの送受信をする。
 5: transmit load balancing:
   送信時のみ負荷分散を行い受信時は冗長化(MACアドレスを引き継ぐ)
 6: adaptive load balancing:アクティブロードバランシング方式。
   送受信共に負荷分散を行う

■NICの死活監視(miimon or arp)
miiに対応したNICであればmiiで監視して
対応してなければarpで監視をする。
miiを使えばネットワークにパケットを出さないのでそっちのほうがいい。
大抵対応している。

このコマンドでmii対応しているか確認できる。
#mii-tool

Operation not supportedとか出なければ対応している。

監視間隔はmiimonで設定する(※ミリ秒単位)
options bonding miimon=2000 mode=0

arpのほうで監視する場合は下記のように設定する。
(※intervalはミリ秒単位!!!!!!!!間違うとえらいことになる)
arp_interval=1000 arp_ip_target=IPアドレス,IPアドレス

あとはネットワークの設定ファイルをいじくろう。

■設定サンプル(eth0とeth1をbond0にまとめる設定)
#vi /etc/network/interfaces

auto lo bond0 eth2
iface lo inet loopback

allow-hotplug eth0 eth1 eth2

iface bond0 inet static
address 10.10.10.10
netmask 255.255.255.0
broadcast 10.10.10.255
slaves eth0 eth1

iface eth2 inet static
address 192.168.24.163
netmask 255.255.255.0
broadcast 192.168.24.255

以上、これはよく使うのでいい加減覚えておきたい。

0 件のコメント:

コメントを投稿