注目トピック

Wikiガイド

最近の更新

2022-12-28
2021-10-12
2018-08-20
2013-10-30
2013-02-06
2011-06-22
2010-08-13
2009-03-27
2008-11-14
2008-11-13
2008-10-01

ディストリビューション動作確認情報トップ

(Linux) LANポート二重化 機能 動作確認

使用ドライバ:bonding

LANポートの二重化による、負荷分散(LB)・対障害性(FT)機能を有効にするために、 Red Hat Enterprise Linux、Miracle Linux等のディストリビューションにパッケージングされている Bondingドライバを使用して、評価を実施しました。
AFT/ALB(Adaptive Fault Tolerance/Adaptive Load Balancing)機能の説明については、 こちら(PDF)を参照してください。

■資料

■bondingドライバ動作確認概要

  • distribution に標準実装のbonding driver と ifenslaveを利用して実施。
  • モードは主に、負荷分散と対障害機能を持つ、mode 0 の balance-rr (ラウンドロビン)で動作を確認しました。 その他、多くのモードがありますが、詳細は Linux ドキュメントを参照してください。
  • ポート監視は、主に MII リンク監視 miimoc=100 にて実施しました。
    リンク監視の場合、スウィッチ装置の先で障害があった場合に対応できないので、 ARP監視の方法もあります。その他、監視方法の細かな設定については、Linux ドキュメントを参照してください。 Bladeサーバなど、スウィッチ装置を内蔵する装置の場合、監視方法・ポリシー設定には、注意が必要です。
  • Red Hat Enterprise Linux、MIRACLE LINUX、SUSE LINUX ES にて動作が確認されています。

■設定手順(概要)

詳細については、各種Linux資料を参照してください。
以下の手順にて、動作を確認しました。

  1. 二重化に使用しないものも含む全てのインターフェースを停止します。
    ( ifconfigコマンドで、アクティブなインターフェースが無くなることを確認します。)
    # ifconfig bond0 down    ←既に bonding が動作している場合は停止。
    # ifconfig eth? down     ←eth? インターフェースを停止。
    
  2. 「mode 0 」(balance-rr)の設定例です。 /etc/modprobe.conf (なければ/etc/modules.conf) を編集し、下の2行を追加します。 bond0 は、bonding インターフェース名です。
    alias bond0 bonding
    options bonding mode=0 miimon=100
    
  3. 上記の代わりに、「mode 1」(active-backup)で、ポート監視にARP監視を行う設定の例です。 /etc/modprobe.conf (なければ /etc/modules.conf) を編集し、下の2行を追加します。arp_ip_targetでは、導通確認用のIPアドレスを指定します(複数可能)。 このIPアドレスのどれかと導通すればインターフェースが正常であると判断します。 arp_interval は、導通確認の間隔(秒)です。
    alias bond0 bonding
    options bonding mode=1 miimon=0 arp_interval=60 arp_ip_target=X.X.X.X,Y.Y.Y.Y,Z.Z.Z.Z
    
  4. 上記 option を有効にするため、bonding ドライバをロードします。
    syslog(/var/log/messages) あるいはdmesg で、異常がないか確認してください。
    # rmmod bonding
    # modprobe bond0
    
  5. bond0 インターフェースを起動します。ifconfig で結果を確認します。
    # ifconfig bond0 10.10.10.10 netmask 255.255.255.0 broadcast 10.10.10.255 up
    
  6. bonding にインターフェースを追加します。次は eth0, eth1 をbond0 のslaveとして起動する例です。
    # ifenslave bond0 eth0 eth1
    
  7. ifconfig で 全てのMAC アドレスが同一になっているのを確認します。
    ping 等で導通チェックを行います。
  8. proc, syslog(/var/log/messages)で、ステイタスを確認します。
    # cat /proc/net/bonding/bond0
    
    あるいは、
    # cat /proc/net/bond0/info
    

■確認内容

動作確認

ftp、telnet 等の動作確認

対障害性(FT)機能の確認

  1. インターフェースの LINK状態が UP であることを dmesgコマンドで確認します。
  2. Bonding のステイタスを確認します。
    # cat /proc/net/bonding/bond0
    
    あるいは、
    # cat /proc/net/bond0/info
    
  3. Pingコマンドなどでネットワークを使用中に、インターフェースのネットワークケーブルを取り外します。
  4. Pingコマンドなどが途切れずに継続することを確認します。
  5. インターフェースの LINK状態が down していることを dmesgコマンドで確認します。
  6. Bonding のステイタスで、切断したインターフェースが down していることを確認します
  7. ネットワークケーブルを再接続して60秒待ち、Link状態と Bondingステイタスが初期状態に戻ることを確認します。
  8. 残りのインターフェースについても同様に確認します。

負荷分散(LB)機能について

使用に当たっては、個々の構成における、性能の検証が必要です。

ディストリビューション動作確認情報トップ