RHEL 6.4:モード1のチャネルボンディングがフェールオーバーしない


11

2つのオンボードBroadcom NetXtreme II BCM5708 1000Base-T NICを搭載したHP ML 350 G5でRHEL 6.4、kernel-2.6.32-358.el6.i686を実行しています。私の目標は、2つのインターフェイスをmode=1フェールオーバーペアにチャネルボンディングすることです。

私の問題は、ボンドがセットアップされて受け入れられるというすべての証拠にもかかわらず、プライマリNICからケーブルを引き出すと、すべての通信が停止することです。

ifcfg-ethoおよびifcfg-eth1

まず、ifcfg-eth0:

DEVICE=eth0
HWADDR=00:22:64:F8:EF:60
TYPE=Ethernet
UUID=99ea681d-831b-42a7-81be-02f71d1f7aa0
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes

次に、ifcfg-eth1:

DEVICE=eth1
HWADDR=00:22:64:F8:EF:62
TYPE=Ethernet
UUID=92d46872-eb4a-4eef-bea5-825e914a5ad6
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes

ifcfg-bond0

私の結合の設定ファイル:

DEVICE=bond0
IPADDR=192.168.11.222
GATEWAY=192.168.11.1
NETMASK=255.255.255.0
DNS1=192.168.11.1
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
BONDING_OPTS="mode=1 miimmon=100"

/etc/modprobe.d/bonding.conf

この/etc/modprobe.d/bonding.confように読み込まれたファイルがあります:

alias bond0 bonding

ip addr出力

ボンドがアップし、ボンドのIPアドレスを介してサーバーのパブリックサービスにアクセスできます。

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP qlen 1000
    link/ether 00:22:64:f8:ef:60 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP qlen 1000
    link/ether 00:22:64:f8:ef:60 brd ff:ff:ff:ff:ff:ff
4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether 00:22:64:f8:ef:60 brd ff:ff:ff:ff:ff:ff
    inet 192.168.11.222/24 brd 192.168.11.255 scope global bond0
    inet6 fe80::222:64ff:fef8:ef60/64 scope link 
       valid_lft forever preferred_lft forever

ボンディングカーネルモジュール

...ロードされます:

# cat /proc/modules | grep bond
bonding 111135 0 - Live 0xf9cdc000

/ sys / class / net

/sys/class/netファイルシステムのショー良いもの:

cat /sys/class/net/bonding_masters 
bond0
cat /sys/class/net/bond0/operstate 
up
cat /sys/class/net/bond0/slave_eth0/operstate 
up
cat /sys/class/net/bond0/slave_eth1/operstate 
up
cat /sys/class/net/bond0/type 
1

/ var / log / messages

ログファイルには懸念事項はありません。実際、すべてがかなり幸せそうに見えます。

Jun 15 15:47:28 rhsandbox2 kernel: Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)
Jun 15 15:47:28 rhsandbox2 kernel: bonding: bond0: setting mode to active-backup (1).
Jun 15 15:47:28 rhsandbox2 kernel: bonding: bond0: setting mode to active-backup (1).
Jun 15 15:47:28 rhsandbox2 kernel: bonding: bond0: setting mode to active-backup (1).
Jun 15 15:47:28 rhsandbox2 kernel: bonding: bond0: setting mode to active-backup (1).
Jun 15 15:47:28 rhsandbox2 kernel: bonding: bond0: Adding slave eth0.
Jun 15 15:47:28 rhsandbox2 kernel: bnx2 0000:03:00.0: eth0: using MSI
Jun 15 15:47:28 rhsandbox2 kernel: bonding: bond0: making interface eth0 the new active one.
Jun 15 15:47:28 rhsandbox2 kernel: bonding: bond0: first active interface up!
Jun 15 15:47:28 rhsandbox2 kernel: bonding: bond0: enslaving eth0 as an active interface with an up link.
Jun 15 15:47:28 rhsandbox2 kernel: bonding: bond0: Adding slave eth1.
Jun 15 15:47:28 rhsandbox2 kernel: bnx2 0000:05:00.0: eth1: using MSI
Jun 15 15:47:28 rhsandbox2 kernel: bonding: bond0: enslaving eth1 as a backup interface with an up link.
Jun 15 15:47:28 rhsandbox2 kernel: 8021q: adding VLAN 0 to HW filter on device bond0
Jun 15 15:47:28 rhsandbox2 kernel: bnx2 0000:03:00.0: eth0: NIC Copper Link is Up, 1000 Mbps full duplex
Jun 15 15:47:28 rhsandbox2 kernel: bnx2 0000:05:00.0: eth1: NIC Copper Link is Up, 1000 Mbps full duplex

だから問題は何ですか?!

ネットワークケーブルをeth0からヤンクすると、すべての通信が暗くなります。この問題を解決するには、どのような問題があり、どのような手順を踏む必要がありますか?

編集:

さらなるトラブルシューティング:

ネットワークは、ProCurve 1800-8Gスイッチによって提供される単一のサブネット、単一のVLANです。ネットワークサービスに追加primary=eth0ifcfg-bond0て再起動しましたが、動作に変更はありません。/sys/class/net/bond0/bonding/primary追加の前後にチェックしましprimary=eth1たが、null値がありますが、それが良いか悪いかはわかりません。

ケーブルが取り外された/var/log/messagesときのテーリングeth1は、以下のことしか示しません

Jun 15 16:51:16 rhsandbox2 kernel: bnx2 0000:03:00.0: eth0: NIC Copper Link is Down
Jun 15 16:51:24 rhsandbox2 kernel: bnx2 0000:03:00.0: eth0: NIC Copper Link is Up, 1000 Mbps full duplex

のセクションに追加use_carrier=0して、MII / ETHTOOL ioctlを使用できるようにしました。ネットワークサービスを再起動した後、症状に変化はありませんでした。ケーブルを引っ張ると、すべてのネットワーク通信が停止します。この場合も、そのポートのリンクがダウンしたという通知の保存にエラーはありません。ifcfg-bond0BONDING_OPTSeth0/var/log/messages


1
接続されているメーカー/モデルスイッチ、スイッチのVLAN設定、ボンドスレーブ状態、およびeth0へのケーブルが抜かれた後の/ var / log / messagesなどの情報を追加できますか?
アンディシン

@AndyShinn直接接続されているスイッチは、ProCurve 1800-8Gです。ネットワーク上にVLANはありません。シンプルな単一サブネット、単一VLANネットワークです。
ウェズリー

@AndyShinn Ah、およびボンドスレーブ状態は両方ともとして報告されupます。/var/log/messageseth0のプラグが抜かれた時点でのテーリングは、銅線のリンクが抜かれたことを示すだけです。結合モジュールからのメッセージはありません。
ウェズリー

回答:


21

読んだ。きみの。構成。

そしてそれが失敗したとき...

読んだ。すべて。出力。

何が入っているifcfg-bond0かわかりますか?いいえ、あなたはない理解に何がありますかifcfg-bond0
滑りやすいペンギンの世界ではmiimmon=100何ですか?
ああ、ごめんなさい、どういう意味miimon=100ですか?

ええ、私はあなたが意味するものでmiimonあり、そうではないと思いますmiimmon

また、ネットワークサービスを再起動すると、次のように表示されます:

service network restart
Shutting down interface bond0:                             [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface bond0:  ./network-functions: line 446: /sys/class/net/bond0/bonding/miimmon: No such file or directory
./network-functions: line 446: /sys/class/net/bond0/bonding/miimmon: No such file or directory
                                                           [  OK  ]

入力するものすべてに注意を払い、避けられない入力ミスをするときは、表示されるすべての出力に注意を払います。

あなたは悪い人であり、あなたは気分が悪いはずです。


8
悪い猫!ホースでスプレー
voretaq7

2

NICSのいずれかをプライマリスレーブとして指定してみてください。

DEVICE=bond0
IPADDR=192.168.11.222
GATEWAY=192.168.11.1
NETMASK=255.255.255.0
DNS1=192.168.11.1
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
BONDING_OPTS="mode=1 miimmon=100 primary=eth0"

RHからのその他のドキュメント:

primary =プライマリデバイスのインターフェース名(eth0など)を指定します。プライマリデバイスは最初に使用されるボンディングインターフェイスであり、失敗しない限り破棄されません。この設定は、ボンディングインターフェイスの1つのNICがより高速であるため、より大きな負荷を処理できる場合に特に役立ちます。この設定は、ボンディングインターフェイスがアクティブバックアップモードの場合にのみ有効です。詳細については、/ usr / share / doc / kernel-doc- / Documentation / networking / bonding.txtを参照してください。


編集する前にifcfg-bond0チェック/sys/class/net/bond0/bonding/primaryしましたが、応答が空白です。ネットワークサービスに追加primary=eth0ifcfg-bond0て再起動しました。症状に変化はありません/sys/class/net/bond0/bonding/primaryが、提案をありがとうに変更はありません!
ウェズリー

use_carrier = 0を追加してみてください?詳細については上記のRHドキュメントを参照してください
-dmourati

完了-質問に情報を追加しました。動作に変更はありませんでしたが、知っておくと良いでしょう。
ウェズリー

2

次のボンディングオプションdowndelay = xxxxをミリ秒で追加します。これは、障害として検出された後にethに失敗し、プライマリスレーブを残りに設定します。このパラメーターがbonding_optにない場合、ボンドは失敗を検出します(miimom = yyyyを含めるため)が、eth0に失敗することはありません。これは、/ proc / net / bonding / bondXファイルを見るとわかります。

とにかく、RHEL 6.3(ほぼ同じバージョン)では、スイッチから見たフェールバック、重複したMACアドレスに関連するボンディングに関する他のいくつかの問題があります。

幸運を。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.