YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

Transcript
Page 1: Bonding Guide RHEL5 v1 1

© 2009 IBM Corporation2009/12/18

Bonding ドライバー利用ガイド for RHEL5

Linux/OSS Support Center, IBM Japan

Bonding ドライバー利用ガイドfor RHEL5

Linux/OSS Support Center

Version 1.1

Page 2: Bonding Guide RHEL5 v1 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はいかなる保証も責任も負いかねますので

予めご了承ください。

Page 3: Bonding Guide RHEL5 v1 1

© 2009 IBM Corporation3 Bonding ドライバー利用ガイド for RHEL5

Linux/OSS Support Center, IBM Japan

目次

Bonding ドライバーの概要

設定手順

システムログメッセージ

参考資料

Page 4: Bonding Guide RHEL5 v1 1

© 2009 IBM Corporation4 Bonding ドライバー利用ガイド for RHEL5

Linux/OSS Support Center, IBM Japan

Bonding ドライバー

の概要

Bonding ドライバー

の概要

Page 5: Bonding Guide RHEL5 v1 1

© 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 が 新です。

Page 6: Bonding Guide RHEL5 v1 1

© 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 に対応したネットワークスイッチと接続す

る必要があります。

Page 7: Bonding Guide RHEL5 v1 1

© 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 アドレスを変更することで、受信アダプターを選択しますので、実際には、ブロードキャストドメイン内での通信相手ごとに固定されることになります。例えば、ルーターを経由する通信では、同一のルーターに対しては常に同じ受信アダプターが使用されます。

Page 8: Bonding Guide RHEL5 v1 1

© 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”』を参照してください。

Page 9: Bonding Guide RHEL5 v1 1

© 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 など、ネットワーク機器の機能で冗長化を行ってください。

Page 10: Bonding Guide RHEL5 v1 1

© 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 の場合に使用できます。

Page 11: Bonding Guide RHEL5 v1 1

© 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 テーブルが更新されるので問題ありません。

Page 12: Bonding Guide RHEL5 v1 1

© 2009 IBM Corporation12 Bonding ドライバー利用ガイド for RHEL5

Linux/OSS Support Center, IBM Japan

設定手順設定手順

Page 13: Bonding Guide RHEL5 v1 1

© 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 アドレスは例ですので、環境に応じて変更してください。

Page 14: Bonding Guide RHEL5 v1 1

© 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 でアドレスを設定する場合。)

Page 15: Bonding Guide RHEL5 v1 1

© 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"

Page 16: Bonding Guide RHEL5 v1 1

© 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

Page 17: Bonding Guide RHEL5 v1 1

© 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

Page 18: Bonding Guide RHEL5 v1 1

© 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

Page 19: Bonding Guide RHEL5 v1 1

© 2009 IBM Corporation19 Bonding ドライバー利用ガイド for RHEL5

Linux/OSS Support Center, IBM Japan

システムログメッセージシステムログメッセージ

Page 20: Bonding Guide RHEL5 v1 1

© 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.

Page 21: Bonding Guide RHEL5 v1 1

© 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 ドライバーが出力しているものですので、物理アダプターのドライバーモジュールやリンク障害の種類によって、出力内容は異なります。

Page 22: Bonding Guide RHEL5 v1 1

© 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

Page 23: Bonding Guide RHEL5 v1 1

© 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

Page 24: Bonding Guide RHEL5 v1 1

© 2009 IBM Corporation24 Bonding ドライバー利用ガイド for RHEL5

Linux/OSS Support Center, IBM Japan

参考資料参考資料

Page 25: Bonding Guide RHEL5 v1 1

© 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

Page 26: Bonding Guide RHEL5 v1 1

© 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 の米国およびその他の国における商標。

その他の会社名、製品名およびサービス名等はそれぞれ各社の商標。

Page 27: Bonding Guide RHEL5 v1 1

© 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 の書式を変更。


Related Documents