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 (生成) にカスタム フック/スクリプトを追加します。