Dell 1950サーバーにRHEL 6.をインストールしました。このサーバーは2つのGBitポート、Gb0とGb1です。
なんらかの理由により、udev
はGbeth1
およびGb1eth0
。これは間違いなく私にとって良い発見ではなく、混乱を招くだけです。
だから私は/etc/udev/rules.d/70-persistent-net.rules
:
# PCI device 0x14e4:0x164c (bnx2)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", \
ATTR{address}=="00:20:19:52:d3:c0", \
ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
# PCI device 0x14e4:0x164c (bnx2)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", \
ATTR{address}=="00:20:19:52:d3:be", \
ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
必要なものを反映するために、ファイルの「NAME」フィールドを変更しました。サーバーを再起動しましたが、機能しませんでした。
dmesg
ログでは、以下を読み取ることができます。
udev: renamed network interface eth1 to rename5
udev: renamed network interface eth0 to eth1
udev: renamed network interface rename5 to eth0
ここで何が問題になっているのですか?なぜudev
はこのように切り替わるのですか?別の同様のサーバーがありますが、この問題はありません。
私の場合、問題は、各インターフェイスのMACアドレスが3つのファイルで設定されているという事実に起因しています。
/etc/udev/rules.d/70-persistent-net.rules
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-eth1
IfcfgファイルとMACアドレスのnet.rulesの整合性が必要です。
これはかなり遅いですが、私は
KERNEL="eth*",
/etc/udev/rules.d/70-persistent-net.rules
ファイル内のルールの一部。 UDEVがデバイスの名前を「rename *」に変更すると、この部分がルールの照合を停止するため、これは機能します。したがって、それを削除すると、その間にUDEVが何を呼び出したかに関係なく、正しいデバイスに正しい名前を割り当てることができます。
/etc/udev/rules.d/70-persistent-net.rules
を削除して再起動するだけで解決できました。
空白/etc/udev/rules.d/80-net-name-slot.rules
を作成してみましたか?
udev v197以降、udevには予測可能なネットワークインターフェイス名が実装されています。そのパスに空のファイルを作成してから再起動すると、インターフェイス名が元に戻ります。
私はCreating eth0 with consistent network device naming
で同様の質問に回答しました
また、eth0、eth1、wlan0、wlan1などが標準のカーネル名であることからも発生する可能性があります(非永続的なスキームの命名の場合)。 udevのドキュメントではそれは言っています:
名前
ネットワークインターフェイスに使用する名前。インターフェース名を設定するための高レベルのメカニズムについては、systemd.link(5)を参照してください。デバイスノードの名前変更できません udevにより、追加のシンボリックリンクのみを作成できます。
したがって、udevルールにはeth *、wlan *などの名前を使用しないでください。