I have five Proxmox VE nodes: three running in a cluster and two standalone hosts. The standalone hosts each run an OPNsense VM with 12 network interfaces.
One of the standalone hosts crashed. Fortunately, OPNsense High Availability took over seamlessly, so the only indication that something was wrong came from our IT monitoring.
I needed to restore the VM from backup to the other standalone host, which is located at a different site. Based on my previous experience with Veeam and ESXi, I simply restored the VM and started it. Shortly afterward, the network went down.
After a few minutes of troubleshooting, I found the cause: all virtual network adapters had been assigned in a completely different order. The interface mapping was randomized, so the VM no longer matched the original configuration.
This causes two major problems:
- The network configuration inside the guest OS no longer matches the virtual NIC assignments, which can lead to complete network outages.
- Any software that is licensed based on the MAC address will detect different MAC addresses, causing the license to become invalid.
Feature Request
Please provide an option to preserve the complete virtual network configuration during restore, including:
- Virtual NIC order
- Bridge assignments
- MAC addresses
Current workaround
Until this is supported, I strongly recommend documenting the complete network configuration of every VM before disaster strikes. It can save a significant amount of time and prevent unnecessary downtime when restoring a VM to another location.
Original VM config:
Code: Select all
root@pmfw1:~# cat /etc/pve/qemu-server/101.conf |grep -E '(^net)|(^name)'
name: FWInternBackup
net0: virtio=BC:24:11:A3:F8:21,bridge=vmbr000,link_down=1,queues=4
net1: virtio=BC:24:11:D9:5C:4B,bridge=vmbr001,queues=4
net10: virtio=BC:24:11:6E:7A:92,bridge=vmbr054,queues=4
net11: virtio=BC:24:11:B1:C4:D5,bridge=vmbr037,queues=4
net2: virtio=BC:24:11:0F:E2:83,bridge=vmbr016,queues=4
net3: virtio=BC:24:11:4A:1D:CC,bridge=vmbr035,queues=4
net4: virtio=BC:24:11:8D:3B:7F,bridge=vmbr036,queues=4
net5: virtio=BC:24:11:E5:9A:24,bridge=vmbr045,queues=4
net6: virtio=BC:24:11:2C:F6:10,bridge=vmbr013,queues=4
net7: virtio=BC:24:11:9B:4E:DA,bridge=vmbr032,queues=4
net8: virtio=BC:24:11:71:B3:58,bridge=vmbr033,queues=4
net9: virtio=BC:24:11:CF:0D:69,bridge=vmbr007,queues=4Code: Select all
root@pmfw1:~# cat /etc/pve/qemu-server/103.conf |grep -E '(^net)|(^name)'
name: FWInternBackup-restored
net1: virtio=BC:24:11:82:6A:C9,bridge=vmbr001,queues=4
net10: virtio=BC:24:11:50:15:CE,bridge=vmbr033,queues=4
net11: virtio=BC:24:11:B6:C4:E8,bridge=vmbr007,queues=4
net2: virtio=BC:24:11:4D:E7:2D,bridge=vmbr054,queues=4
net3: virtio=BC:24:11:3A:08:45,bridge=vmbr037,queues=4
net4: virtio=BC:24:11:11:44:99,bridge=vmbr016,queues=4
net5: virtio=BC:24:11:20:76:3C,bridge=vmbr035,queues=4
net6: virtio=BC:24:11:90:DB:2F,bridge=vmbr036,queues=4
net7: virtio=BC:24:11:7E:2B:BC,bridge=vmbr045,queues=4
net8: virtio=BC:24:11:FF:15:86,bridge=vmbr013,queues=4
net9: virtio=BC:24:11:75:DF:8C,bridge=vmbr032,queues=4