NVP vProxy : La machine virtuelle SLES est restaurée avec des noms d’interface réseau incorrects
Summary: La solution NetWorker VMware Protection (NVP) est configurée pour sauvegarder les machines virtuelles (VM) SuSE Enterprise Linux (SLES). Après avoir effectué une restauration d’image de la machine virtuelle, celle-ci est restaurée avec des noms d’interface réseau incorrects. ...
Symptoms
- Une machine virtuelle (VM) SuSE Enterprise Linux (SLES) est déployée dans VMware et protégée à l’aide de la solution NetWorker VMware Protection (NVP).
- La machine virtuelle SLES dispose de plusieurs cartes d’interface réseau (NIC).
- La machine virtuelle SLES est configurée avec une convention de dénomination de carte d’interface réseau (NIC) non séquentielle. Par exemple, au lieu de eth0, eth1, eth2 (et ainsi de suite), les cartes réseau sont nommées eth0, eth1, eth4.
sles-client01:~ # ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:50:56:be:a4:8f brd ff:ff:ff:ff:ff:ff inet 192.168.9.120/24 brd 192.168.9.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::250:56ff:febe:a48f/64 scope link valid_lft forever preferred_lft forever 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:50:56:be:8d:19 brd ff:ff:ff:ff:ff:ff inet 192.168.9.220/24 brd 192.168.9.255 scope global eth1 valid_lft forever preferred_lft forever inet6 fe80::250:56ff:febe:8d19/64 scope link valid_lft forever preferred_lft forever 4: eth4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:50:56:be:71:bd brd ff:ff:ff:ff:ff:ff inet 192.168.9.223/24 brd 192.168.9.255 scope global eth4 valid_lft forever preferred_lft forever inet6 fe80::250:56ff:febe:71bd/64 scope link valid_lft forever preferred_lft forever sles-client01:~ # ls -l /sys/class/net total 0 lrwxrwxrwx 1 root root 0 Dec 4 12:22 eth0 -> ../../devices/pci0000:00/0000:00:16.0/0000:0b:00.0/net/eth0 lrwxrwxrwx 1 root root 0 Dec 4 12:22 eth1 -> ../../devices/pci0000:00/0000:00:16.1/0000:0c:00.0/net/eth1 lrwxrwxrwx 1 root root 0 Dec 4 12:22 eth4 -> ../../devices/pci0000:00/0000:00:17.0/0000:13:00.0/net/eth4 lrwxrwxrwx 1 root root 0 Dec 4 12:22 lo -> ../../devices/virtual/net/lo
- Après avoir effectué une restauration de machine virtuelle (restauration de machine virtuelle, restauration d’image, restauration d’accès instantané), la machine virtuelle est restaurée avec une convention de dénomination de carte NIC incorrecte :
sles-client01:~ # ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:50:56:be:68:7e brd ff:ff:ff:ff:ff:ff
inet 192.168.9.120/24 brd 192.168.9.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::250:56ff:febe:687e/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:50:56:be:7c:c1 brd ff:ff:ff:ff:ff:ff
inet 192.168.9.220/24 brd 192.168.9.255 scope global eth1
valid_lft forever preferred_lft forever
inet6 fe80::250:56ff:febe:7cc1/64 scope link
valid_lft forever preferred_lft forever
4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 00:50:56:be:a2:fa brd ff:ff:ff:ff:ff:ff
sles-client01:~ # ls -l /sys/class/net
total 0
lrwxrwxrwx 1 root root 0 Dec 3 13:34 eth0 -> ../../devices/pci0000:00/0000:00:16.0/0000:0b:00.0/net/eth0
lrwxrwxrwx 1 root root 0 Dec 3 13:34 eth1 -> ../../devices/pci0000:00/0000:00:16.1/0000:0c:00.0/net/eth1
lrwxrwxrwx 1 root root 0 Dec 3 13:34 eth2 -> ../../devices/pci0000:00/0000:00:17.0/0000:13:00.0/net/eth2
lrwxrwxrwx 1 root root 0 Dec 3 13:34 lo -> ../../devices/virtual/net/lo
Dans cet exemple, la machine virtuelle d’origine a eth0, eth1 et eth4. Après avoir effectué une restauration d’image, la machine virtuelle restaurée porte eth2 au lieu de eth4. La carte réseau eth2 n’est pas en ligne.
Cause
Ce problème se produit en dehors de NetWorker/vProxy. NetWorker VMware Protection n’affecte pas les paramètres/configurations du système de fichiers ou des périphériques à partir du système d’exploitation. Lors d’une sauvegarde d’image de machine virtuelle, un snapshot de la machine virtuelle est créé et la configuration de la machine virtuelle et les fichiers de disque sont sauvegardés.
Reportez-vous à la base de connaissances SUSE : La machine virtuelle SLES sur VMware avec trois cartes NIC ou plus ne conserve pas le même ordre de carte NIC | SUSE | Centre de support
Resolution
La dénomination de carte NIC persistante doit être configurée sur le système d’exploitation de la machine virtuelle pour attribuer l’ID de bus de carte NIC au nom de périphérique souhaité.
Le programme GRUB du système biosdevname Ce paramètre doit également être désactivé. La commande biosdevname est chargée de fournir des noms de périphériques réseau cohérents et prévisibles en fonction des paramètres du BIOS (c’est-à-dire : eth0, eth1, eth2, etc.).
Cela peut être effectué pour corriger la mise en réseau sur une machine virtuelle après sa restauration. En outre, si la machine virtuelle d’origine est toujours disponible, la correction peut également lui être appliquée. Toutes les opérations de restauration de la machine virtuelle à l’aide de sauvegardes effectuées après cette modification sont censées être récupérées avec les noms d’interface persistants configurés sur la machine virtuelle d’origine.
Additional Information
Les étapes suivantes ont été effectuées sur une machine virtuelle SLES 12 SP5.
1. Créez un snapshot VMware de la machine virtuelle avant d’apporter des modifications.
sudo su -
lspci WMIC suivante :
lspci | grep -i ethernet
Exemple:
sles-client01:~ # lspci | grep -i ethernet 0b:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01) 0c:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01) 13:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01)
ls -l /sys/class/net
sles-client01:~ # ls -l /sys/class/net total 0 lrwxrwxrwx 1 root root 0 Dec 4 12:22 eth0 -> ../../devices/pci0000:00/0000:00:16.0/0000:0b:00.0/net/eth0 lrwxrwxrwx 1 root root 0 Dec 4 12:22 eth1 -> ../../devices/pci0000:00/0000:00:16.1/0000:0c:00.0/net/eth1 lrwxrwxrwx 1 root root 0 Dec 4 12:22 eth4 -> ../../devices/pci0000:00/0000:00:17.0/0000:13:00.0/net/eth4 lrwxrwxrwx 1 root root 0 Dec 4 12:22 lo -> ../../devices/virtual/net/lo
udev Fichier de règles de réseau persistant :
vi /etc/udev/rules.d/70-persistent-net.rules
udev règles existent sous /etc/udev/rules.d. Il pourrait y avoir d’autres règles qui pourraient entrer en conflit avec la nouvelle règle. Si aucune autre règle n’existe, continuez. S’il existe d’autres règles, vérifiez qu’aucune autre règle liée à la dénomination réseau n’est configurée. Consultez votre administrateur système Linux pour connaître les règles configurées sur le système.
SUBSYSTEM=="net", ACTION=="add", KERNELS=="0000:##:##.##", NAME="NIC_NAME1" SUBSYSTEM=="net", ACTION=="add", KERNELS=="0000:##:##.##", NAME="NIC_NAME2" SUBSYSTEM=="net", ACTION=="add", KERNELS=="0000:##:##.##", NAME="NIC_NAME3"
SUBSYSTEM=="net", ACTION=="add", KERNELS=="0000:0b:00.0", NAME="eth0" SUBSYSTEM=="net", ACTION=="add", KERNELS=="0000:0c:00.0", NAME="eth1" SUBSYSTEM=="net", ACTION=="add", KERNELS=="0000:13:00.0", NAME="eth4"
lspci .
biosdevname dans les paramètres par défaut du GRUB.
cp /etc/default/grub /etc/default/grub.bak ; vi /etc/default/grub
/etc/default/grub.bak), puis ouvre l’original pour modification. Si vous constatez des problèmes, vous pouvez revenir au fichier par défaut ou supprimer le paramètre indiqué ci-dessous.
... biosdevname=0»
GRUB_CMDLINE_LINUX="... biosdevname=0"7. Rechargez la configuration grub :
grub2-mkconfig -o /boot/grub2/grub.cfg8. Redémarrez la machine virtuelle et vérifiez qu’elle trouve les noms d’interface corrects et qu’aucun problème n’est observé lors de l’accès au système ou à ses applications.