sysmerge IT

23 дек. 2017 г.

Centos: Device eth0 does not seem to be present после восстановления снепшота виртуальной машины

Ситуация с восстановлением снепшота виртуальной машины kvm выглядит довольно не сложно и способов реализации имеет не мало. В моем случае - создание виртуальной машины и dd в устройство со старого снепшота. В этом случае понадобится заменить IP адрес на новый после включения машины.
Но при этом возникает ошибка "Device eth0 does not seem to be present " при попытке поднять интерфейс.  Это случается из-за того что у сетевой карты нового ВПС будет новый MAC, отличный от того, что был сохранен для устройства в снепшоте. Соответственно система добавляет устройства в кач-ве eth1/2/3 etc, оставляя оригинальное, которое, как ни странно, но действительно не существует.
Соответственно нужно удалить старое и подкорректировать записи нового, чтобы он стал eth0.
Делается это вот тут /etc/udev/rules.d/70-persistent-net.rule.

Изначально записи могут выглядеть так:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0d:12:43:cd:b7", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"


SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:53:32:8c:df:3d", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
Необходимо удалить первую запись и NAME у второй сменить на eth0.
Теперь выполняем
start_udev
 
Не забудьте так же, что изменения вносятся так же и сюда /etc/sysconfig/network-scripts/ifcfg-eth0, нужно сменить HWADDR на соответственно 00:53:32:8c:df:3d - это новый MAC. О смене записей IP, шлюза и тд не говорю, это само собой разумеется.