aquadrops *

ネットワークの冗長化・bondingを試す。


ネットワークの冗長化・bondingを試す。すごく今更感ではありますが、Linuxでネットワークの冗長化・bondingを試してみました。

試した機器は下記の通り。

サーバー:PowerEdge SC1435 × 2台、PowerEdge 2650 × 1台
スイッチングハブ:NETGEAR FS526T

サーバー側のNICはいずれもtg3ドライバのものが2基ずつ搭載されています。

2つのNICを束ねてload balancingしてみます。

  1. /etc/modules.conf に bond0デバイスを定義する。

    alias bond0 bonding

  2. /etc/sysconfig/network-scripts/ifcfg-bond0 を作成する。
    基本的にはeth0をそのままコピペして、デバイス名を変えて、bondingのオプションを追記します。

    DEVICE=bond0
    BOOTPROTO=static
    IPADDR=10.x.x.1
    NETMASK=255.255.0.0
    NETWORK=10.x.x.0
    ONBOOT=yes
    BONDING_OPTS=”mode=0 miimon=100″

  3. /etc/sysconfig/network-scripts/ifcfg-eth0を修正

    DEVICE=eth0
    ONBOOT=yes
    MASTER=bond0
    SLAVE=yes

    BOOTPROTO=none

  4. /etc/sysconfig/network-scripts/ifcfg-eth1を修正

    DEVICE=eth1
    ONBOOT=yes
    MASTER=bond0
    SLAVE=yes

    BOOTPROTO=none

  5. ネットワークを再起動

    # /etc/init.d/network restart

  6. ステータスを確認

    # ifconfig bond0
    # cat /proc/net/bond0

この場合、

bondingされていないfirewall(GbE接続)に対しては180Mbps程度のスループットが出たのですが、
bondingされている機器同士(PE SC1435間、PE SC1435←→PE 2650間)だと10Mbpsも出ない、という不可解な状況となってしまいました。

冗長化とスループット向上に、と思ったのですが、あまり良い結果ではありませんでした。

他のNICやスイッチを使用した場合だとまた違った結果となりそうなので、別環境でリトライしてみようかと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です