| Advertise on warmetal.nl! Click for more information about advertising here. |
Did you find this website useful? Did I save you a lot of time? |
|
After cloning a Linux VM, you might find your network interface is no longer named eth0, taking on eth1 instead. This will work and cause no functional impact, however, for several reasons you might want to change it to eth0 anyway. SLES for VMware/SLES 11 SP1, uses udev to provide persistence to various devices. While this model is a big step forward from the semi-random device name assignments of the past, one side-effect is that a new MAC address, whoch will happen when you clone a virtual machine, is regarded as an additional interface and not a replacement. Which means a newly-cloned SLES VM powers up with eth1 as the NIC name, and not eth0. Fortunately, this situation is easy to fix. Log into the VM and edit:
/etc/udev/rules.d/70-persistent-net.rules
Scroll down to the bottom of the line to see the configuration:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:b9:00:33", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:b9:00:34", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
The first line contains the MAC address of the original template VM while the second line is the new MAC address for the new card.
There are two ways to fix this issue:
Make this change before you assign IP addresses. If you already have assigned IP addresses you'll also have to edit /etc/sysconfig/network/ifcfg-eth0 and /etc/sysconfig/network/route accordingly.
Don't forget to reboot the VM anc check the configuration.
Discussion