© 2009 IBM Corporation2009/12/18
Bonding ドライバー利用ガイド for RHEL5
Linux/OSS Support Center, IBM Japan
Bonding ドライバー利用ガイドfor RHEL5
Linux/OSS Support Center
Version 1.1
© 2009 IBM Corporation2 Bonding ドライバー利用ガイド for RHEL5
Linux/OSS Support Center, IBM Japan
はじめに
このドキュメントでは、Linux の Bonding ドライバーの利用方法を紹介します。Bonding ドライバーは、一般に、
チーミングドライバーと呼ばれる機能を提供するもので、複数のイーサネットアダプター上に、論理的なアダプターを構成することで、イーサネットアダプターの冗長化を実現します。Bonding ドライバーは複数の動作モード
を選択可能ですが、このドキュメントでは、 もシンプルで、ネットワークスイッチに特別な機能を必要としない、active-backup モードについて主に説明します。また、このドキュメントで紹介する手順は、Red Hat Enterprise Linux 5 を前提としています。
この資料の内容に関しては正式なIBM のテストを受けておりません。この資料は、資料作成時における 新情報をご参考のために提供することを目的として記載されており、IBMは、情報の正確性、完全性または有用性について何ら保証するものではありません。また、内容は予告なしに変更または更新されることがあります。
この資料の内容は、限られた検証環境における結果に基づくものであり、全ての環境で同一の結果を保証するものではありません。お客様固有の環境に対し、適切であるかどうか、また、正確であるかどうかは十分検証されていません。この資料の情報に基づき導入・設定を実施される場合には、十分な検証テストを行ってください。また、予め各社より提供される情報および製品のマニュアルをご覧ください。
この資料の情報に基づいて導入・設定・運用した結果について、IBMはいかなる保証も責任も負いかねますので
予めご了承ください。
© 2009 IBM Corporation3 Bonding ドライバー利用ガイド for RHEL5
Linux/OSS Support Center, IBM Japan
目次
Bonding ドライバーの概要
設定手順
システムログメッセージ
参考資料
© 2009 IBM Corporation4 Bonding ドライバー利用ガイド for RHEL5
Linux/OSS Support Center, IBM Japan
Bonding ドライバー
の概要
Bonding ドライバー
の概要
© 2009 IBM Corporation5 Bonding ドライバー利用ガイド for RHEL5
Linux/OSS Support Center, IBM Japan
Bonding ドライバーとは
Bonding ドライバーは、Linux カーネルに標準で付属する、イーサネットアダプターのチーミングドラ
イバーとして機能するモジュールです。複数のイーサネットアダプター上に、論理的なアダプターを構成することで、イーサネットアダプターの冗長化を実現します。
Bonding ドライバーは、特定のイーサネットカードを前提とするものではありませんが、全てのイー
サネットカードでの動作を保証しているものではありません。イーサネットカード、および、ドライバーの機能によっては、Bonding ドライバーで使用可能な機能が制限される場合があります。
► 使用条件の詳細については、『参考資料』に記載の、Linux カーネル付属文書 “bonding.txt” を参照してくだ
さい。
※ RHEL5 の initscripts パッケージでは、これまで、Bonding ドライバーの設定に関連する複数の問
題の修正が行われています。– BONDING_OPTS に設定した primary パラメーターが反映されません。(Bugzilla #236897)
– 複数の論理アダプターを構成する際に modprobe.conf にて “options bonding max_bonds=X” の指定が必要です。(Bugzilla #229643)
– bond デバイス起動時に arp_ip_target オプションを正しく認識しません。 (Bugzilla #288151)
– bond デバイス停止時に arp_ip_target オプションが正しくクリアされません。(Bugzilla #483711)
► これらの問題を回避するために RHEL5 で Bonding ドライバーを使用する場合は、RPM パッケージinitscripts を 新に更新しておいてください。
– 2009/12/17 時点では、initscripts-8.45.30-2.el5 が 新です。
© 2009 IBM Corporation6 Bonding ドライバー利用ガイド for RHEL5
Linux/OSS Support Center, IBM Japan
Bonding ドライバーの動作モード (1)
Bonding ドライバーは次の 7 種類の動作モードを選択することができます。
► モード 0 : balance-rr– Ether Channel などの Trunking をサポートするネットワークスイッチと接続する必要があります。
– 送信アダプターは、1 パケット毎に、各アダプターが順に使用されます。
– 受信アダプターは、ネットワークスイッチ側の判断で選択されます。
► モード 1 : active-backup– ネットワークスイッチに特別な機能は必要ありません。
– 1 つのアクティブアダプターのみを使用し、アクティブアダプターの障害時には、他のアダプターに切り替えます。
► モード 2 : balance-xor– Ether Channel などの Trunking をサポートするネットワークスイッチと接続する必要があります。
– 送信アダプターは、送信先の MAC アドレスをキーとするハッシュで選択します。
– 受信アダプターは、ネットワークスイッチ側の判断で選択されます。
► モード 3 : broadcast– 全てのアダプターからパケットを送出します。特殊なネットワーク構成において使用するもので、通常の環境では使用でき
ません。
► モード 4 : 802.3ad– IEEE 802.3ad Link Aggregation の規格による接続を行います。IEEE 802.3ad に対応したネットワークスイッチと接続す
る必要があります。
© 2009 IBM Corporation7 Bonding ドライバー利用ガイド for RHEL5
Linux/OSS Support Center, IBM Japan
Bonding ドライバーの動作モード (2)
► モード 5 : balance-tlb– ネットワークスイッチに特別な機能は必要ありません。
– 送信アダプターは、アダプターの速度、および、負荷に応じて選択されます。
– 受信アダプターは、1 つのアクティブアダプターのみを使用し、アクティブアダプターの障害時には、他のアダプターに切り替えます。
► モード 6 : balance-alb– ネットワークスイッチに特別な機能は必要ありません。
– 送信アダプターは、アダプターの速度、および、負荷に応じて選択されます。
– 受信アダプターは、アダプターの速度、および、負荷に応じて選択されます。ただし、通信相手の IP アドレス応じて、固定したアダプターを選択します。(*)
以降のページでは、主に、active-backup モードについて説明します。
(*) 通信相手の ARP テーブルに登録される MAC アドレスを変更することで、受信アダプターを選択しますので、実際には、ブロードキャストドメイン内での通信相手ごとに固定されることになります。例えば、ルーターを経由する通信では、同一のルーターに対しては常に同じ受信アダプターが使用されます。
© 2009 IBM Corporation8 Bonding ドライバー利用ガイド for RHEL5
Linux/OSS Support Center, IBM Japan
リンク障害の監視について (1)
# ethtool eth0Settings for eth0:
Supported ports: [ TP ]Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full1000baseT/Full
Supports auto-negotiation: YesAdvertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full1000baseT/Full
Advertised auto-negotiation: YesSpeed: 1000Mb/sDuplex: FullPort: Twisted PairPHYAD: 1Transceiver: internalAuto-negotiation: onSupports Wake-on: dWake-on: dLink detected: yes
# ethtool eth0Settings for eth0:No data available
active-backup モードでは、リンク障害の監視方法として、以下の 2 種類が選択可能です。(*1)
► MII リンク監視
– MII (Media Independent Interface)規格のリンク情報を利用します。物理アダプターのドライバーモジュールがMII に対応している必要があります。通常は、ethtool コマンド、もしくは、mii-tool コマンドでリンク状態の情報が取
得できれば問題ありません。(*2)
– MII のリンクダウンイベントだけを見ていますので、物理アダプターのドライバーモジュールがリンクダウンを認識しない障害(ネットワークスイッチより先での接続障害など)は検知できません。
ethtool コマンドの出力例 (MII に対応している場合)
ethtool コマンドの出力例 (MII に対応していない場合)
(*1) 他のモード(balance-tlb, balance-alb など)では、 MII によるアダプターの性能情報を必要とするため、MII リンク監視のみが使用できる場合もあります。
(*2) MII リンク監視を指定した場合、デフォルトでは、リンク状態の検知には、物理アダプターのドライバーモジュールが提供する、netif_carrier_ok() 関数を使用します。ドライバーモジュールがこの関数を提供していない場合、use_carrier オプションに 0 を指定することで、ethtool コマンド、もしくは、mii-tool コマンドと同等のシステムコールを使用することもできます。詳細は、参考資料『Linux カーネル付属文書 “bonding.txt”』を参照してください。
© 2009 IBM Corporation9 Bonding ドライバー利用ガイド for RHEL5
Linux/OSS Support Center, IBM Japan
リンク障害の監視について (2)
► ARP 監視
– 物理アダプターの受信パケット・カウントによって、リンクの状態を確認します。物理アダプターが受信するパケットを強制的に生成するために、事前に定義した IP アドレスに ARP リクエストを送出しますので、論理アドレスと同一サブネット(ブロードキャストドメイン)で、常時、ARP に応答可能な複数の IP アドレスを指定してください。単一の IP アドレスでも動作しますが、該当機器の停止時の誤認識を避けるため、複数指定することをお勧めします。
– active-backup モードの場合、active アダプターは ARP の返答パケットを、backup アダプターは active アダプターが送出した ARP リクエストパケット(ブロードキャストパケット)を受信することで、受信パケット・カウントが更新され、リンクの状態が正常と判断されます。ただし、これらの ARP パケット以外でも、物理アダプターが受信するパケットが存在し、受信パケット・カウントが更新される限り、リンクダウンとは判断されません。特に、他の機器がブロードキャストパケットを送信している場合などは、ARP リクエスト対象機器との通信が出来ない場合でも、リンクダウンとは判断されない場合があ
ります。
MII リンク監視、および、ARP 監視は共に、物理アダプター本体の障害や、物理アダプターに直接
接続されたスイッチとの接続が切れた場合など、物理アダプターが一切パケットを受信できない状況を検知する機能と理解してください。► 基本的には MII リンク監視の使用をお勧めします。ARP 監視は、物理アダプターのドライバーモジュールが
MII に対応していない場合の代替手段と考えてください。
►上位のネットワーク全体は、Spanning Tree など、ネットワーク機器の機能で冗長化を行ってください。
© 2009 IBM Corporation10 Bonding ドライバー利用ガイド for RHEL5
Linux/OSS Support Center, IBM Japan
ARP テーブルの更新について
active-backup モードでは、全ての物理アダプター、および、論理アダプターに同一の論理 MAC アドレスが設定されます。► 通常は、 初に認識した物理アダプターの物理 MAC アドレスに統一します。
– 図は、物理アダプター eth0、eth1 の上に論理アダプター bond0 を定義した場合の MAC アドレスの例です。eth0 の物理MAC アドレスが、eth0, eth1, bond0 の論理 MAC アドレスとして定義されています。
► アクティブなアダプターが切り替わった場合でも、論理 MAC アドレスは変わらないため、クライアント側でのARP テーブルの更新は不要です。(ARP テーブル更新用のパケットの送出などは行われません。)
# grep HWaddr /proc/net/nicinfo/eth0.infoCurrent_HWaddr00:11:25:9c:6a:65Permanent_HWaddr00:11:25:9c:6a:65
# grep HWaddr /proc/net/nicinfo/eth1.infoCurrent_HWaddr00:11:25:9c:6a:65Permanent_HWaddr00:0d:60:5b:64:02
# ifconfig bond0 | grep HWaddrbond0 Link encap:Ethernet HWaddr00:11:25:9C:6A:65
(*) /proc/net/nicinfo はデバイスドライバーが bmc5700 の場合に使用できます。
© 2009 IBM Corporation11 Bonding ドライバー利用ガイド for RHEL5
Linux/OSS Support Center, IBM Japan
MAC テーブルの更新について
ネットワークスイッチは各ポートに接続された機器の MAC アドレスを、MAC テーブルと呼ばれる領
域に記憶しています。チーミングデバイスを使用する場合、一般に、アクティブなアダプターの切り替え後、この情報が適切に更新されるまで、通信が再開されません。
RHEL5 (正確には RHEL4U4 以降)のカーネルに付属の Bonding ドライバーでは、アクティブなアダプターの切り替え時に、MAC テーブルを更新するための Gratuitous ARP パケットが発行される
ため、上記の問題は発生しません。► MII リンク監視を使用している場合、アダプターのリンクアップ検知後、上位スイッチの状態が安定する前に
Gratuitous ARP パケットが送信されると、Gratuitous ARP パケットがサブネット全体に転送されず、MAC テーブルの更新が適切に行われない場合があります。『主な設定パラメーター』に記載の updelay オプション
で、アダプターをアクティブにするまでの時間を調整してください。– これは、アダプターの障害復帰時の自動 Failback が発生した場合に問題となります。Spanning Tree などを使用してい
ない環境であれば、通常、updelay=5000 程度で問題ありません。
– ARP 監視を使用している場合は、updelay は設定できませんが、ARP 監視用のパケットで MAC テーブルが更新されるので問題ありません。
© 2009 IBM Corporation12 Bonding ドライバー利用ガイド for RHEL5
Linux/OSS Support Center, IBM Japan
設定手順設定手順
© 2009 IBM Corporation13 Bonding ドライバー利用ガイド for RHEL5
Linux/OSS Support Center, IBM Japan
設定手順 (1)
例として、物理アダプター eth0、eth1 の上に論理アダプター bond0 を定義する手順を紹介します。
► 論理アダプター名は bondX を使用する必要があります。X は 0 から始まる通し番号を使用してください。
DEVICE=eth0MASTER=bond0SLAVE=yesBOOTPROTO=noneHWADDR=00:11:25:9C:6A:65
ifcfg-eth0
DEVICE=eth1MASTER=bond0SLAVE=yesBOOTPROTO=noneHWADDR=00:0D:60:5B:64:02
ifcfg-eth1
alias eth0 bnx2alias eth1 bnx2alias bond0 bonding
modprobe.confドライバーモジュール設定ファイル /etc/modprobe.conf で、物理アダプター eth0、eth1 のドライバーモジュール、および、論理アダプターbond0 のドライバーモジュール bonding を指定します。
► 物理アダプター eth0、eth1 の alias 行では、物理アダプターに対応するドライバーモジュール(この例では bnx2)を指定します。
ネットワーク設定ファイル ifcfg-eth0、および、ifcfg-eth1 で、eth0、eth1 を bond0 をマスターとするスレイブアダプターとして指定します。
► /etc/sysconfig/network-scripts/ 以下の ifcfg-eth0、ifcfg-eth1 を編集し、マスターとなる論理アダプター bond0 を指定します。IP アドレスなどの情報は
指定しません。
► HWADDR で対応する物理アダプターを指定する場合は、該当の物理アダプターの物理 MAC アドレスを記載します。
– 右図の MAC アドレスは例ですので、環境に応じて変更してください。
© 2009 IBM Corporation14 Bonding ドライバー利用ガイド for RHEL5
Linux/OSS Support Center, IBM Japan
設定手順 (2)
論理アダプター設定ファイル ifcfg-bond0 に、論理アダプターのネットワーク設定、および、Bonding ドライバーの動作パラメーターを指定します。► /etc/sysconfig/network-scripts/ 以下の ifcfg-bond0 を作成し、通常のネットワークアダプターの設定と同様
に、論理アダプターの IP アドレスなどの情報を指定します。DHCP によるアドレスの設定も可能です。
► BONDING_OPTS に Bonding ドライバーの動作パラメーターを指定します。
– スペースで区切って、複数のパラメーターを指定します。パラメーターの内容は次ページで紹介します。
► システム起動時に自動的に論理アダプターをアクティブにする場合は、ifcfg-bond0 に ONBOOT=yes を指
定します。
DEVICE=bond0IPADDR=192.168.1.190NETMASK=255.255.255.0NETWORK=192.168.1.0BROADCAST=192.168.1.255GATEWAY=192.168.1.254ONBOOT=yesBOOTPROTO=staticBONDING_OPTS="mode=1 primary=eth0 miimon=100 updelay=5000"
ifcfg-bond0 (IP アドレスを直接指定する場合。)
DEVICE=bond0ONBOOT=yesBOOTPROTO=dhcpBONDING_OPTS="mode=1 primary=eth0 miimon=100 updelay=5000"
ifcfg-bond0 (DHCP でアドレスを設定する場合。)
© 2009 IBM Corporation15 Bonding ドライバー利用ガイド for RHEL5
Linux/OSS Support Center, IBM Japan
主な設定パラメーター
bonding モジュールの主な設定パラメーターには以下のものがあります。
► mode : 動作モード
– 『Bonding ドライバーの概要』で紹介した動作モードを指定します。active-backup モードは 1 を指定します。
► primary : プライマリーアダプター
– active-backup モードで、起動時に優先的にアクティブにするアダプターを指定します。また、このパラメーターを指定した場合、プライマリアダプターの障害後、プライマリアダプターが復旧すると、自動的にプライマリアダプターがアクティブに戻ります。
► miimon : MII リンク監視インターバル
– MII リンク監視によるリンク確認時間間隔を 1/1000 秒単位で指定します。特に要件がない場合は、100 を指定します。
– MII リンク監視を行う場合にのみ、このパラメーターを指定します。(arp_interval と同時に指定はできません。)
► updelay : MII 監視リンクアップ遅延時間
– MII リンク監視で、リンクアップを検知後、該当アダプターをアクティブにするまでの遅延時間を 1/1000 秒単位で指定します。この値は miimon の整数倍の値にする必要があります。アダプターのリンクアップ後、上位スイッチの状態が安定するまで該当アダプターの使用開始を待つために使用します。
► arp_interval : ARP 監視インターバル
– ARP 監視によるリンク確認時間間隔を 1/1000 秒単位で指定します。
– ARP 監視を行う場合にのみ、このパラメーターを指定します。(miimon と同時に指定はできません。)
► arp_ip_target : ARP 監視対象 IP アドレス
– ARP 監視の際に ARP リクエストを送信する IP アドレスを指定します。 大で 16 個の IP アドレスが指定可能です。
– 例: "arp_ip_target=192.168.1.1,192.168.1.2"
© 2009 IBM Corporation16 Bonding ドライバー利用ガイド for RHEL5
Linux/OSS Support Center, IBM Japan
複数の論理アダプターを使用する場合
複数の論理アダプターを定義するには、2 個目(bond1)以降の論理アダプターについても、同様に設定ファイル ifcfg-ethX, ifcfg-bondY を作成します。
► ifcfg-ethX の MASTER エントリーには、対応する論理アダプター bondY を指定してください。
► modprobe.conf では、各論理アダプター bondY に対して、ドライバーモジュール bonding を指定します。
alias eth0 bnx2alias eth1 bnx2 alias eth2 bnx2alias eth3 bnx2 alias bond0 bondingalias bond1 bonding
modprobe.conf
© 2009 IBM Corporation17 Bonding ドライバー利用ガイド for RHEL5
Linux/OSS Support Center, IBM Japan
論理アダプターの起動手順
ifcfg-bond0 に ONBOOT=yes を指定した場合は、システム起動時に自動的に論理アダプターが起動します。システム起動後に、手動で論理アダプターを起動するには、ifup コマンドを使用します。
► システムログ /var/log/messages に起動時のログやエラーメッセージが出力されます。
アクティブなアダプターを手動で切り替える場合は、ifenslave コマンドを使用します。
► 次は、eth1 を bond0 のアクティブなアダプターに変更する例です。
– MII 監視でプライマリーアダプターを指定している場合、プライマリーアダプターが一度 down して、再度 up すると、自動的にプライマリーアダプターがアクティブになります。
– ARP 監視でプライマリーアダプターを指定している場合は、アクティブなアダプターを手動で切り替えることはできません。(プライマリーアダプターが正常に稼働している場合、プライマリーアダプターが必ずアクティブになります。)
BONDING_OPTS で指定するパラメーターを変更した場合は、network サービスの再起動、もしくは、ifdown/ifup コマンドで該当の bond デバイスを再起動します。
► 次は bond0 の設定変更を反映する場合です。
– ただし、initscripts パッケージを 新(8.45.30-2.el5 以降)に更新していない場合で、ip_arp_target の指定を変更した場合は、設定変更の反映には、サーバーの再起動が必用です。
# ifup bond0
# ifenslave -c bond0 eth1
# ifdown bond0; ifup bond0
© 2009 IBM Corporation18 Bonding ドライバー利用ガイド for RHEL5
Linux/OSS Support Center, IBM Japan
VLAN の設定について
Bonding ドライバーによるチーミングデバイスの上に VLAN アダプターを構成することが可能です。
► 論理アダプター bondX に追加で、論理アダプター bondX.Y を定義すると、VLAN ID が Y の VLAN アダプ
ターとなります。
bond0 に加えて VLAN ID 10 の VLAN アダプター bond0.10 を構成する手順を紹介します。
► /etc/sysconfig/network に次の行を追加します。
► 前述の手順で bond0 を構成します。
– bond0 自身に IP アドレスをアサインせず、VLAN アダプターのみを構成することも可能です。
– /etc/sysconfig/network-scripts/ifcfg-bond0.10 に、通常のネットワークアダプターの設定と同様に、論理アダプターの IP アドレスなどの情報を指定します。
DEVICE=bond0.10IPADDR=192.168.10.190NETMASK=255.255.255.0NETWORK=192.168.10.0BROADCAST=192.168.10.255ONBOOT=yesBOOTPROTO=static
ifcfg-bond0.10
DEVICE=bond0ONBOOT=yesBOOTPROTO=staticBONDING_OPTS="mode=1 primary=eth0 miimon=100 updelay=5000"
ifcfg-bond0 (bond0 に IP アドレスをアサインしない場合)
VLAN=yes
© 2009 IBM Corporation19 Bonding ドライバー利用ガイド for RHEL5
Linux/OSS Support Center, IBM Japan
システムログメッセージシステムログメッセージ
© 2009 IBM Corporation20 Bonding ドライバー利用ガイド for RHEL5
Linux/OSS Support Center, IBM Japan
システム起動時
システム起動時の Bonding ドライバーに関連するシステムログの例です。
Jan 7 10:32:41 node01 kernel: Ethernet Channel Bonding Driver: v3.0.3 (March 23, 2006)Jan 7 10:32:41 node01 kernel: bonding: Warning: either miimon or arp_interval and arp_ip_target module parameters must be specified, otherwise bonding will not detect link failures! see bonding.txt for details.Jan 7 10:32:41 node01 kernel: bonding: bond0: setting mode to active-backup (1).Jan 7 10:32:41 node01 kernel: bonding: bond0: Unable to set eth0 as primary slave as it is not a slave.Jan 7 10:32:41 node01 kernel: bonding: bond0: Setting MII monitoring interval to 100.Jan 7 10:32:41 node01 kernel: bonding: bond0: Setting up delay to 5000.Jan 7 10:32:41 node01 kernel: ADDRCONF(NETDEV_UP): bond0: link is not readyJan 7 10:32:41 node01 kernel: bonding: bond0: Adding slave eth0.Jan 7 10:32:41 node01 kernel: bnx2: eth0: using MSIJan 7 10:32:41 node01 kernel: ADDRCONF(NETDEV_UP): eth0: link is not readyJan 7 10:32:41 node01 kernel: bonding: bond0: enslaving eth0 as a backup interface with a down link.Jan 7 10:32:41 node01 kernel: bonding: bond0: Adding slave eth1.Jan 7 10:32:41 node01 kernel: bnx2: eth1: using MSIJan 7 10:32:41 node01 kernel: ADDRCONF(NETDEV_UP): eth1: link is not readyJan 7 10:32:41 node01 kernel: bonding: bond0: enslaving eth1 as a backup interface with a down link.Jan 7 10:32:41 node01 kernel: bonding: bond0: Setting eth0 as primary slave.Jan 7 10:32:41 node01 kernel: bnx2: eth0 NIC Link is Up, 1000 Mbps full duplex, receive & transmit flow control ONJan 7 10:32:41 node01 kernel: ADDRCONF(NETDEV_CHANGE): eth0: link becomes readyJan 7 10:32:41 node01 kernel: bonding: bond0: link status up for interface eth0, enabling it in 5000 ms.Jan 7 10:32:41 node01 kernel: bnx2: eth1 NIC Link is Up, 1000 Mbps full duplex, receive & transmit flow control ONJan 7 10:32:41 node01 kernel: bonding: bond0: link status up for interface eth1, enabling it in 5000 ms.Jan 7 10:32:41 node01 kernel: ADDRCONF(NETDEV_CHANGE): eth1: link becomes readyJan 7 10:32:41 node01 kernel: bonding: bond0: link status definitely up for interface eth0.Jan 7 10:32:41 node01 kernel: bonding: bond0: making interface eth0 the new active one.Jan 7 10:32:41 node01 kernel: bonding: bond0: first active interface up!Jan 7 10:32:41 node01 kernel: ADDRCONF(NETDEV_CHANGE): bond0: link becomes readyJan 7 10:32:41 node01 kernel: bonding: bond0: link status definitely up for interface eth1.
© 2009 IBM Corporation21 Bonding ドライバー利用ガイド for RHEL5
Linux/OSS Support Center, IBM Japan
物理アダプターのリンクダウン、リンクアップ時
バックアップアダプター eth1 のリンクダウン、リンクアップを発生させた時のシステムログの例です。
► アクティブアダプター eth0 の動作には影響は発生していません。
アクティブアダプター eth0 のリンクダウン、リンクアップを発生させた時のシステムログの例です。
► eth0 がダウンすると、eth1 がアクティブアダプターになっています。
► eth0 がアップすると、eth0 が再びアクティブアダプターになっています。
システムログメッセージから物理アダプターの障害を検知する場合、上記の赤字部分の文字列が利用できるものと思われます。
Jan 7 10:22:19 node01 kernel: bnx2: eth1 NIC Link is DownJan 7 10:22:19 node01 kernel: bonding: bond0: link status definitely down for interface eth1, disabling itJan 7 10:22:27 node01 kernel: bnx2: eth1 NIC Link is Up, 1000 Mbps full duplex, receive & transmit flow control ONJan 7 10:22:27 node01 kernel: bonding: bond0: link status up for interface eth1, enabling it in 5000 ms.Jan 7 10:22:32 node01 kernel: bonding: bond0: link status definitely up for interface eth1.
Jan 7 10:24:09 node01 kernel: bnx2: eth0 NIC Link is DownJan 7 10:24:09 node01 kernel: bonding: bond0: link status definitely down for interface eth0, disabling itJan 7 10:24:09 node01 kernel: bonding: bond0: making interface eth1 the new active one.Jan 7 10:24:24 node01 kernel: bnx2: eth0 NIC Link is Up, 1000 Mbps full duplex, receive & transmit flow control ONJan 7 10:24:24 node01 kernel: bonding: bond0: link status up for interface eth0, enabling it in 5000 ms.Jan 7 10:24:29 node01 kernel: bonding: bond0: link status definitely up for interface eth0.Jan 7 10:24:29 node01 kernel: bonding: bond0: making interface eth0 the new active one.
(*) ”bnx2: ethX NIC Link is XXXX” の行は、bnx2 ドライバーが出力しているものですので、物理アダプターのドライバーモジュールやリンク障害の種類によって、出力内容は異なります。
© 2009 IBM Corporation22 Bonding ドライバー利用ガイド for RHEL5
Linux/OSS Support Center, IBM Japan
proc ファイルシステムからの情報 (1)
proc ファイルシステムから物理アダプター、および、
論理アダプターの状態が確認できます。► /proc/net/bonding/《論理アダプター名》 を cat コマン
ドで出力します。
► “Currently Active Slave:” の行で、現在、アクティブア
ダプターとなっている物理アダプターが確認できます。
► VLAN アダプターの情報は、ここには現れません。VLAN アダプターについては、次ページを参照してくだ
さい。
sys ファイルシステムを利用して、設定パラメーター
を直接変更することも可能です。► /sys/class/net/bondX/bonding/ 以下に bondX の各
設定パラメーターに対応した仮想ファイルがあります。これらのファイルに echo で値を直接書き込むことが可
能です。
# cat /proc/net/bonding/bond0Ethernet Channel Bonding Driver: v3.1.2 (January 20, 2007)Bonding Mode: fault-tolerance (active-backup)Primary Slave: eth0Currently Active Slave: eth0MII Status: upMII Polling Interval (ms): 100Up Delay (ms): 5000Down Delay (ms): 0
Slave Interface: eth0MII Status: upLink Failure Count: 0Permanent HW addr: 00:0c:29:5b:82:c5
Slave Interface: eth1MII Status: upLink Failure Count: 0Permanent HW addr: 00:0c:29:5b:82:cf
# ls /sys/class/net/bond0/bondingactive_slave arp_ip_target primaryad_actor_key arp_validate slavesad_aggregator downdelay updelayad_num_ports lacp_rate use_carrierad_partner_key miimon xmit_hash_policyad_partner_mac mii_statusarp_interval mode
© 2009 IBM Corporation23 Bonding ドライバー利用ガイド for RHEL5
Linux/OSS Support Center, IBM Japan
proc ファイルシステムからの情報 (2)
VLAN アダプターの情報は次の方法で確認します。
► /proc/net/vlan/《VLAN アダプター名》 を cat コマンドで出力します。
► /proc/net/vlan/config を cat コマンドで出力すると、構成されている VLAN の一覧が得られます。
# cat /proc/net/vlan/bond0.10bond0.10 VID: 10 REORDER_HDR: 1 dev->priv_flags: 1
total frames received 0total bytes received 0
Broadcast/Multicast Rcvd 0
total frames transmitted 75total bytes transmitted 9957
total headroom inc 0total encap on xmit 0
Device: bond0INGRESS priority mappings: 0:0 1:0 2:0 3:0 4:0 5:0 6:0 7:0EGRESSS priority Mappings:
# cat /proc/net/vlan/configVLAN Dev name | VLAN IDName-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PADbond0.10 | 10 | bond0bond0.20 | 20 | bond0
© 2009 IBM Corporation24 Bonding ドライバー利用ガイド for RHEL5
Linux/OSS Support Center, IBM Japan
参考資料参考資料
© 2009 IBM Corporation25 Bonding ドライバー利用ガイド for RHEL5
Linux/OSS Support Center, IBM Japan
参考資料
Linux カーネル付属文書 “bonding.txt”► カーネルソースに含まれる Documentation/networking/bonding.txt► http://www.linux-m32r.org/lxr/http/source/Documentation/networking/bonding.txt?a=i386
Linux環境における Broadcomネットワークアダプター・ドライバー変更に伴う技術情報 (bnx2 -> tg3)► http://www-06.ibm.com/jp/domino04/pc/support/Sylphd08.nsf/jtechinfo/SYJ0-01B7A82
Red Hat Enterprise Linux / bonding ドライバー利用ガイド (RHEL3, RHEL4)► http://www-06.ibm.com/jp/domino01/mkt/cnpages7.nsf/page/default-0046E089
© 2009 IBM Corporation26 Bonding ドライバー利用ガイド for RHEL5
Linux/OSS Support Center, IBM Japan
商標
© International Business Machines Corporation 2009All Rights ReservedIBM Corporation
IBM は、International Business Machines Corporationの米国およびその他の国における商標。
Red Hat は、Red Hat, Inc. の米国およびその他の国における商標または登録商標。
UNIX は、The Open Group の米国およびその他の国における登録商標。
Linux は、Linus Torvalds の米国およびその他の国における商標。
その他の会社名、製品名およびサービス名等はそれぞれ各社の商標。
© 2009 IBM Corporation27 Bonding ドライバー利用ガイド for RHEL5
Linux/OSS Support Center, IBM Japan
変更履歴
Version 1.0 2008/01/07 公開
Version 1.1 2009/12/17 initscripts パッケージの更新を推奨。
既知の問題の修正に伴い arp_ip_target の書式を変更。