NIC の冗長設定
Linux kernel の bonding モジュールを利用することで,
複数の NIC (eth0, eth1, ...) をまとめて使用することができる.
これにより,
NIC 関連の障害 (ハブの故障やケーブルの切断) に対する耐故障性,
負荷分散を実現できる.
設定方法
ここでは,
Scientific Linux 6.1 を例に設定を説明する.
CentOS 5.5 でも, 同様に設定することができる.
RHEL 5, RHEL 6, CentOS 6 などでも同様に設定できるだろう.
/etc/modprobe.d/bond0.conf
を作成する.
以下の1行を記述する.
alias bond0 bonding
オプションはここに書かず, ifcfg-bond0
へ記述する.
/etc/sysconfig/network-scripts/ifcfg-bond0
を記述する.
例を以下に示す.
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.254.137
NETMASK=255.255.255.0
NM_CONTROLLED=no
BONDING_OPTS='miimon=1000 mode=6'
BONDING_OPTS
で設定可能な項目については,
/usr/share/doc/kernel-doc-*/Documentation/networking/bonding.txt
が参考になる.
ここ
も参考になる.
ifcfg-ethN
の設定を行う. (複数の NIC を使用するので, 毎数分のファイルを設定する.)
/etc/sysconfig/network-scripts/ifcfg-ethN
に以下のような記述を行う.
(ethN
の部分は eth0
, eth1
, ... に置き換えること.)
DEVICE="ethN"
HWADDR="01:12:34:56:78:9A"
NM_CONTROLLED=no
MASTER=bond0
SLAVE=yes
最後に, システムを再起動または, 新しい設定を反映させる.
# depmod -a
# /etc/init.d/network restart
送信速度
複数のNFSサーバへ書き込むときの速度を測定してみた.
NIC (1000BASE-T) 2枚, mode=6 の構成で,
dd if=/dev/zero bs=8192 ...
を同時に実行して書き込むと,
最大で 1.8Gbps となった. (8秒間隔で
ifconfig bond0
を実行し, 送信バイトの増分を求めた.)
0 件のコメント:
コメントを投稿