複数のネットワークインターフェイスを持つサーバーがいくつかあり、ボンディングといくつかの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
)。