再起動後、バインドされたネットワークインターフェイスは使用できません。

再起動後、バインドされたネットワークインターフェイスは使用できません。

複数のネットワークインターフェイスを持つサーバーがいくつかあり、ボンディングといくつかのVLANが確立されています。サーバーを再起動するたびに、他のサーバーは接続されているネットワークインターフェイスの1つにアクセスできず、そのインターフェイスからトラフィックを送信することもできません。ただし、インターフェイスの ifconfig ステータスは、リンクが動作していることを示します。この時点でネットワークを再起動すると、すべてが正常に戻ります。

ネットワークを再起動した後、すべてが期待どおりに機能していたため、私の設定は正しいと思いましたが、再起動したときに起動シーケンスの一部が正しく機能しなかったが、ネットワークを正しく再起動したことがわかりました。

同じ設定(異なるIPアドレスを除く)を持つ7つの同じサーバーがあり、再起動するたびにすべてのサーバーでこれが発生します。

設定の詳細:

  • サーバー:HP ProLiant DL380
  • 6つのネットワークインターフェイス、3つのボンディングインターフェイスに設定、名前:bondm、bondr、bondt。
  • 内蔵コネクタ4個、残り2個は追加のPCIカードにあります
  • bondmは2つのVLANで構成されています。
  • bondm がデフォルトパスとして使用される
  • bondm は eth0 と eth2 を使用するように設定されています。
  • bondm は再起動時に失敗したインターフェイスです。

修正する: 私はまったく同じ設定とkickstartファイルを使ってこれを再テストしましたが、SL 6.2と6.3を使用しました。 6.2ではすべてが大丈夫でしたが、6.3ではこの問題が発生しました。カーネルが違うからでしょうか?

以下は/etc/sysconfig/network-scriptsにあるいくつかの関連する設定ファイルです:

$ cat ifcfg-eth0 ifcfg-eth2 ifcfg-bondm ifcfg-bondm.132 ifcfg-bondm.832 
DEVICE=eth0
BOOTPROTO=none
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
HWADDR=44:1E:A1:03:71:C4
SLAVE=yes
MASTER=bondm
ETHTOOL_OPTS="-s eth0 speed 1000 duplex full"

DEVICE=eth2
HWADDR=44:1E:A1:03:71:C8
NM_CONTROLLED=no
ONBOOT=yes
SLAVE=yes
MASTER=bondm
ETHTOOL_OPTS="-s eth2 speed 1000 duplex full"

DEVICE=bondm
BOOTPROTO=none
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
BONDING_OPTS="mode=active-backup miimon=100"

DEVICE=bondm.132
BOOTPROTO=none
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
IPADDR=192.168.13.19
PREFIX=28
GATEWAY=192.168.13.17
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
BONDING_OPTS="mode=active-backup miimon=100"
VLAN=yes

DEVICE=bondm.832
BOOTPROTO=none
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
IPADDR=10.123.94.69
PREFIX=28
DEFROUTE=no
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
BONDING_OPTS="mode=active-backup miimon=100"
VLAN=yes

ベストアンサー1

modprobe.d

この説明によるとRHEL6サイトファイルを作成/etc/modprobe.d/bonding.confし、bondmここにデバイスを追加しましたか?

alias bondm bonding

2番目のネットワークカードタイプなし

その上、私は問題ではありませんが、あなたのものですイーサリアム2デバイスに次の行がありません。

TYPE=Ethernet

ネットワーク管理者を無効にしますか?

NetworkManagerサービスを無効にしてみましたか?試してみて問題が解決しないことを確認し、再起動して確認してください。

% chkconfig off NetworkManager

UDEV

このコンピュータでudevを使用していますか?ここにファイルを埋めるudevを見つけました/etc/udev/rules.d/70-persistent-net.rules。ファイルにはシステムのNICの重複エントリがあり、ファイルを手動で編集する必要がありました。私の外観は次のとおりです。

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# net device () (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:ff:ff:f5", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

UDEVはMACアドレスに基づいてデバイスを割り当て、PCIバス上のNICが占める場所に基づいて割り当てを強制できます。

このコマンドを使用して、NICのPCI情報を確認できます。

% for i in /sys/class/net/*;do printf "device: %6s - %s\n" `basename $i` `readlink -f $i`;done
device:    br0 - /sys/devices/virtual/net/br0
device:   eth0 - /sys/devices/pci0000:00/0000:00:1c.5/0000:09:00.0/net/eth0
device:   eth1 - /sys/devices/pci0000:00/0000:00:2d.5/0000:03:00.0/net/eth1
device:     lo - /sys/devices/virtual/net/lo

この出力に基づいて一意のudevルールファイルを入力する必要があります。

% cat > /etc/udev/rules.d/70-persistent-net.rules << EOF
ACTION=="add", SUBSYSTEM=="net", BUS=="pci", KERNELS=="0000:00:1c.5", \
    NAME="eth0"
ACTION=="add", SUBSYSTEM=="net", BUS=="pci", KERNELS=="0000:00:2d.5", \
    NAME="eth1"
EOF

メモ:また、NICの設定を試みた可能性がある既存のudevルールファイルを削除/無効にしていることを確認してください。

CentOS 6.3のバグ

私はこれに会った抜け穴CentOSの問題トラッカーから。 6.3のリリースノートにもこの内容が記載されています。

から抜粋Centos 6.3 リリースノート:

結合された(802.3ad)インターフェイスと一部のNICで802.1q VLANingを使用すると問題があるようです。詳細については、このアップストリーム bugzilla エントリと CentOS bugzilla エントリを参照してください。 6.3でリリースされたCentOS-Plusカーネルには、この問題を解決するためのパッチが含まれています。この問題はカーネル 2.6.32-279.2.1 から修正されました。

この問題は、あなたが扱っている問題と非常によく似ています。どのカーネルを実行していますか? (uname -a)。

おすすめ記事