Как удалить /etc/udev/rules.d/70-persistent-net.rules CentOS

Как удалить /etc/udev/rules.d/70-persistent-net.rules CentOS

У меня есть сервер, на котором мы тестируем растянутую сетевую отказоустойчивость с VMware Recover Point. Когда сервер перемещается на альтернативный сайт, MAC-адрес меняется, из-за чего мой сетевой интерфейс (eth0) становится eth1из-за регенерации файла, 70-persistent-net.rulesсоздающего новый eth0 с новым MAC-адресом.

Я хотел бы написать скрипт при загрузке, который удаляет этот файл и udevсоздает новый, но не знаю, где его разместить. Я попробовал /etc/rc1.d/S25_70, который находится выше /etc/rc1.d/S26_udev-post, но он не работает.

Спасибо за любую помощь!

решение1

Самое простое решение — иметь два правила, определяющих eth0в 70-persistent-net.rulesфайле, по одному для соответствующих MAC-адресов на каждом сервере. Эта версия файла должна быть одинаковой наобасерверы.

При загрузке на сервере server1 MAC-адрес сервера server1 получает значение eth0.

При загрузке на сервере Server2 MAC-адрес сервера Server2 становится 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-адреса. Например:

/etc/systemd/network/10-eth0-1.ссылка:

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

[Link]
Name=eth0

/etc/systemd/network/10-eth0-2.ссылка:

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

[Link]
Name=eth0

От man 5 systemd.network:

[MATCH] ПАРАМЕТРЫ РАЗДЕЛА

Сетевой файл содержит [Match]раздел, который определяет, может ли данный сетевой файл быть применен к данному устройству; и [Network]раздел, указывающий, как следует настроить устройство.

Применяется первый (в лексическом порядке) из сетевых файлов, соответствующий данному устройству, все последующие файлы игнорируются, даже если они также соответствуют.

решение2

Вы можете попробовать изменить сценарий запуска, чтобы udevудалить файл, 70-persistent-net.rulesпрежде чем он сделает что-либо еще.

Или добавьте пользовательский хук/скрипт в ваш initramfs (генерация).

Связанный контент