CentOS から /etc/udev/rules.d/70-persistent-net.rules を削除する方法

CentOS から /etc/udev/rules.d/70-persistent-net.rules を削除する方法

VMware Recover Point を使用して拡張ネットワーク フェイルオーバーをテストしているサーバーがあります。サーバーが代替サイトに移動すると、ファイルが再生成されて新しい MAC アドレスを持つ新しい eth0 が作成されるeth1ため、ネットワーク インターフェイス (eth0) が MAC アドレスが変更されます。70-persistent-net.rules

起動時にこのファイルを削除して新しいファイルを作成するスクリプトを書きたいのですudevが、どこに配置すればよいかわかりません。/etc/rc1.d/S25_70の上にある を試しました/etc/rc1.d/S26_udev-postが、機能しません。

ご協力いただければ幸いです。

答え1

eth0最も簡単な解決策は、各サーバーの関連するMACアドレスごとに1つずつ、ファイルに2つのルールを定義することです70-persistent-net.rules。このバージョンのファイルは、両方サーバー。

server1 で起動すると、server1 の MAC アドレスは eth0 になります。

server2 で起動すると、server2 の MAC アドレスは eth0 になります。

例えば

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="11:11:11:11:11:11", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="22:22:22:22:22:22", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

サーバーのハードウェアに合わせて"11:11:11:11:11:11"変更します。"22:22:22:22:22:22"


ちなみに、 を使用する場合はsystemd、/etc/systemd/network に、一致する MAC アドレスごとに 1 つずつ、2 つのファイルを作成します。例:

/etc/systemd/network/10-eth0-1.link:

[Match]
MACAddress=11:11:11:11:11:11

[Link]
Name=eth0

/etc/systemd/network/10-eth0-2.link:

[Match]
MACAddress=22:22:22:22:22:22

[Link]
Name=eth0

からman 5 systemd.network

[マッチ] セクションオプション

ネットワーク ファイルには、[Match]特定のネットワーク ファイルを特定のデバイスに適用できるかどうかを決定するセクションと、[Network]デバイスの構成方法を指定するセクションが含まれています。

特定のデバイスに一致する最初のネットワーク ファイル (辞書順) が適用され、それ以降のファイルは、一致していてもすべて無視されます。

答え2

他の処理を実行する前にudevファイルを削除するように起動スクリプトを変更してみることもできます。70-persistent-net.rules

または、initramfs (生成) にカスタム フック/スクリプトを追加します。

関連情報