Hallo,
Heute habe ich auch selbst mal ein Problem und könnte da einen Dankanstoß gebrauchen.
Ich habe hier eine OPNsense VM die bei mir zwischen diversen VLANs routet. Da meine PVE Nodes (alle Standalone) sehr verschiedene Netzwerk-Anbindungen haben (von einzelner Gbit NIC für alle tagged VLANs bis hin zu VLANs über 2x Gbit + 4x Gbit als Bond + 10Gbit verteilt) und ich trotzdem gerne in der Lage wäre die VMs ohne große Konfig-Änderungen zwischen den Nodes zu verschieben, bin ich beim klassischen Netzwerk-Layout mit einem VLAN Interface + Bridge je VLAN anstatt von vlan-aware Bridges geblieben.
Bisher hat das auch soweit gut geklappt. Nun wollte ich jedoch die gut laufende OPNsense VM von dem Node "Voyager" (3x Intel Gbit NICs, eine davon für Management, die anderen beiden als Bond für den Rest) auf den Node "Shuttle" (einzelne RTL8168 Gbit NIC die ja bekanntlich in der Vergangenheit ihre Probleme hatte) migrieren, aber diese ist danach nicht mehr startfähig. Migration hatte ich mehrfach versucht über ein Backup + Verify + Restore zum/vom PBS.
Wenn ich die migrierte VM starten will schlägt dieses fehl mit einem "Error: unexpected status" bzw "got timeout":
RAM ist genug vorhanden und die 2GB vRAM und 3 vCPUs sollten auch OK sein (ist eine 4 Core CPU und 10GB RAM verfügbar). Dann hatte ich versucht die CPU von "host" auf "kvm64" umzustellen, aber auch das brachte nichts. Danach habe ich alle anderen VMs auf dem Node gestoppt aber auch das half nichts.
Meine nächste Idee war, dass da vielleicht etwas mit dem Netzwerk nicht passt, da eine VM mit 17 virtio NICs ja nicht so üblich ist.
Ich habe dann angefangen nach und nach die virtio NICs zu entfernen und nachdem ich "net9" bis "net16" entfernt hatte, ließ sich die VM dann auch starten:
Jetzt stellt sich mir die Frage, wo da das Problem genau liegt. Beide Nodes sollten eigentlich die gleichen Bridges haben und ich sehe da bei der Netzwerk-Konfig auch keine Fehler.
Kann man das irgendwie weiter debuggen, um zu gucken, was QEMU da an den letzten 8 vNICs stört?
Hier nochmal die VM Konfigs:
Edit:
Achso, beide Nodes sind PVE 8.2.4 mit den neusten Patches der Nosub-Repos.
Heute habe ich auch selbst mal ein Problem und könnte da einen Dankanstoß gebrauchen.
Ich habe hier eine OPNsense VM die bei mir zwischen diversen VLANs routet. Da meine PVE Nodes (alle Standalone) sehr verschiedene Netzwerk-Anbindungen haben (von einzelner Gbit NIC für alle tagged VLANs bis hin zu VLANs über 2x Gbit + 4x Gbit als Bond + 10Gbit verteilt) und ich trotzdem gerne in der Lage wäre die VMs ohne große Konfig-Änderungen zwischen den Nodes zu verschieben, bin ich beim klassischen Netzwerk-Layout mit einem VLAN Interface + Bridge je VLAN anstatt von vlan-aware Bridges geblieben.
Bisher hat das auch soweit gut geklappt. Nun wollte ich jedoch die gut laufende OPNsense VM von dem Node "Voyager" (3x Intel Gbit NICs, eine davon für Management, die anderen beiden als Bond für den Rest) auf den Node "Shuttle" (einzelne RTL8168 Gbit NIC die ja bekanntlich in der Vergangenheit ihre Probleme hatte) migrieren, aber diese ist danach nicht mehr startfähig. Migration hatte ich mehrfach versucht über ein Backup + Verify + Restore zum/vom PBS.
Wenn ich die migrierte VM starten will schlägt dieses fehl mit einem "Error: unexpected status" bzw "got timeout":
Code:
task-Shuttle-qmstart-2024-09-15T11_35_53Z.log:
swtpm_setup: Not overwriting existing state file.
TASK ERROR: start failed: command '/usr/bin/kvm -id 10001 -name 'OPNsenseBackup,debug-threads=on' -no-shutdown -chardev 'socket,id=qmp,path=/var/run/qemu-server/10001.qmp,server=on,wait=off' -mon 'chardev=qmp,mode=control' -chardev 'socket,id=qmp-event,path=/var/run/qmeventd.sock,reconnect=5' -mon 'chardev=qmp-event,mode=control' -pidfile /var/run/qemu-server/10001.pid -daemonize -smbios 'type=1,uuid=287e1dff-4043-4b01-82d6-498bd5f04985' -drive 'if=pflash,unit=0,format=raw,readonly=on,file=/usr/share/pve-edk2-firmware//OVMF_CODE_4M.secboot.fd' -drive 'if=pflash,unit=1,id=drive-efidisk0,format=raw,file=/dev/zvol/VMpool/vlt/guest/VM_8K/vm-10001-disk-0,size=540672' -smp '3,sockets=1,cores=3,maxcpus=3' -nodefaults -boot 'menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg' -vnc 'unix:/var/run/qemu-server/10001.vnc,password=on' -cpu host,+kvm_pv_eoi,+kvm_pv_unhalt -m 2048 -object 'iothread,id=iothread-virtioscsi0' -readconfig /usr/share/qemu-server/pve-q35-4.0.cfg -device 'vmgenid,guid=1ade3171-7d50-4c11-83b2-d25cfa9b34ad' -device 'usb-tablet,id=tablet,bus=ehci.0,port=1' -chardev 'socket,id=tpmchar,path=/var/run/qemu-server/10001.swtpm' -tpmdev 'emulator,id=tpmdev,chardev=tpmchar' -device 'tpm-tis,tpmdev=tpmdev' -device 'VGA,id=vga,bus=pcie.0,addr=0x1' -chardev 'socket,path=/var/run/qemu-server/10001.qga,server=on,wait=off,id=qga0' -device 'virtio-serial,id=qga0,bus=pci.0,addr=0x8' -device 'virtserialport,chardev=qga0,name=org.qemu.guest_agent.0' -object 'rng-random,filename=/dev/urandom,id=rng0' -device 'virtio-rng-pci,rng=rng0,max-bytes=1024,period=1000,bus=pci.1,addr=0x1d' -iscsi 'initiator-name=iqn.1993-08.org.debian:01:571d75a0c32d' -drive 'if=none,id=drive-ide2,media=cdrom,aio=io_uring' -device 'ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=101' -device 'virtio-scsi-pci,id=virtioscsi0,bus=pci.3,addr=0x1,iothread=iothread-virtioscsi0' -drive 'file=/dev/zvol/VMpool/vlt/guest/VM_8K/vm-10001-disk-1,if=none,id=drive-scsi0,discard=on,format=raw,cache=none,aio=io_uring,detect-zeroes=unmap' -device 'scsi-hd,bus=virtioscsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0,id=scsi0,rotation_rate=1,bootindex=100' -netdev 'type=tap,id=net0,ifname=tap10001i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on,queues=3' -device 'virtio-net-pci,mac=BC:24:11:99:9D:09,netdev=net0,bus=pci.0,addr=0x12,id=net0,vectors=8,mq=on,packed=on,rx_queue_size=1024,tx_queue_size=256,host_mtu=1500' -netdev 'type=tap,id=net1,ifname=tap10001i1,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on,queues=3' -device 'virtio-net-pci,mac=BC:24:11:30:17:8D,netdev=net1,bus=pci.0,addr=0x13,id=net1,vectors=8,mq=on,packed=on,rx_queue_size=1024,tx_queue_size=256,host_mtu=1500' -netdev 'type=tap,id=net2,ifname=tap10001i2,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on,queues=3' -device 'virtio-net-pci,mac=BC:24:11:89:9E:5C,netdev=net2,bus=pci.0,addr=0x14,id=net2,vectors=8,mq=on,packed=on,rx_queue_size=1024,tx_queue_size=256,host_mtu=1500' -netdev 'type=tap,id=net3,ifname=tap10001i3,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on,queues=3' -device 'virtio-net-pci,mac=BC:24:11:65:33:28,netdev=net3,bus=pci.0,addr=0x15,id=net3,vectors=8,mq=on,packed=on,rx_queue_size=1024,tx_queue_size=256,host_mtu=1500' -netdev 'type=tap,id=net4,ifname=tap10001i4,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on,queues=3' -device 'virtio-net-pci,mac=BC:24:11:DF:8A:B0,netdev=net4,bus=pci.0,addr=0x16,id=net4,vectors=8,mq=on,packed=on,rx_queue_size=1024,tx_queue_size=256,host_mtu=1500' -netdev 'type=tap,id=net5,ifname=tap10001i5,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on,queues=3' -device 'virtio-net-pci,mac=BC:24:11:53:1C:19,netdev=net5,bus=pci.0,addr=0x17,id=net5,vectors=8,mq=on,packed=on,rx_queue_size=1024,tx_queue_size=256,host_mtu=1500' -netdev 'type=tap,id=net6,ifname=tap10001i6,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on,queues=3' -device 'virtio-net-pci,mac=BC:24:11:6C:B2:D8,netdev=net6,bus=pci.1,addr=0x1,id=net6,vectors=8,mq=on,packed=on,rx_queue_size=1024,tx_queue_size=256,host_mtu=1500' -netdev 'type=tap,id=net7,ifname=tap10001i7,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on,queues=3' -device 'virtio-net-pci,mac=BC:24:11:5A:D3:D5,netdev=net7,bus=pci.1,addr=0x2,id=net7,vectors=8,mq=on,packed=on,rx_queue_size=1024,tx_queue_size=256,host_mtu=1500' -netdev 'type=tap,id=net8,ifname=tap10001i8,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on,queues=3' -device 'virtio-net-pci,mac=BC:24:11:AB:B0:CA,netdev=net8,bus=pci.1,addr=0x3,id=net8,vectors=8,mq=on,packed=on,rx_queue_size=1024,tx_queue_size=256,host_mtu=1500' -netdev 'type=tap,id=net9,ifname=tap10001i9,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on,queues=3' -device 'virtio-net-pci,mac=BC:24:11:E2:44:AA,netdev=net9,bus=pci.1,addr=0x4,id=net9,vectors=8,mq=on,packed=on,rx_queue_size=1024,tx_queue_size=256,host_mtu=1500' -netdev 'type=tap,id=net10,ifname=tap10001i10,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on,queues=3' -device 'virtio-net-pci,mac=BC:24:11:73:69:E6,netdev=net10,bus=pci.1,addr=0x5,id=net10,vectors=8,mq=on,packed=on,rx_queue_size=1024,tx_queue_size=256,host_mtu=1500' -netdev 'type=tap,id=net11,ifname=tap10001i11,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on,queues=3' -device 'virtio-net-pci,mac=BC:24:11:08:D4:18,netdev=net11,bus=pci.1,addr=0x6,id=net11,vectors=8,mq=on,packed=on,rx_queue_size=1024,tx_queue_size=256,host_mtu=1500' -netdev 'type=tap,id=net12,ifname=tap10001i12,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on,queues=3' -device 'virtio-net-pci,mac=BC:24:11:8B:C8:DD,netdev=net12,bus=pci.1,addr=0x7,id=net12,vectors=8,mq=on,packed=on,rx_queue_size=1024,tx_queue_size=256,host_mtu=1500' -netdev 'type=tap,id=net13,ifname=tap10001i13,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on,queues=3' -device 'virtio-net-pci,mac=BC:24:11:C8:44:A7,netdev=net13,bus=pci.1,addr=0x8,id=net13,vectors=8,mq=on,packed=on,rx_queue_size=1024,tx_queue_size=256,host_mtu=1500' -netdev 'type=tap,id=net14,ifname=tap10001i14,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on,queues=3' -device 'virtio-net-pci,mac=BC:24:11:26:DA:EB,netdev=net14,bus=pci.1,addr=0x9,id=net14,vectors=8,mq=on,packed=on,rx_queue_size=1024,tx_queue_size=256,host_mtu=1500' -netdev 'type=tap,id=net15,ifname=tap10001i15,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on,queues=3' -device 'virtio-net-pci,mac=BC:24:11:F9:79:75,netdev=net15,bus=pci.1,addr=0xa,id=net15,vectors=8,mq=on,packed=on,rx_queue_size=1024,tx_queue_size=256,host_mtu=1500' -netdev 'type=tap,id=net16,ifname=tap10001i16,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on,queues=3' -device 'virtio-net-pci,mac=BC:24:11:BC:5B:FE,netdev=net16,bus=pci.1,addr=0xb,id=net16,vectors=8,mq=on,packed=on,rx_queue_size=1024,tx_queue_size=256,host_mtu=1500' -machine 'type=q35+pve0'' failed: got timeout
RAM ist genug vorhanden und die 2GB vRAM und 3 vCPUs sollten auch OK sein (ist eine 4 Core CPU und 10GB RAM verfügbar). Dann hatte ich versucht die CPU von "host" auf "kvm64" umzustellen, aber auch das brachte nichts. Danach habe ich alle anderen VMs auf dem Node gestoppt aber auch das half nichts.
Meine nächste Idee war, dass da vielleicht etwas mit dem Netzwerk nicht passt, da eine VM mit 17 virtio NICs ja nicht so üblich ist.
Ich habe dann angefangen nach und nach die virtio NICs zu entfernen und nachdem ich "net9" bis "net16" entfernt hatte, ließ sich die VM dann auch starten:
Code:
task-Shuttle-qmstart-2024-09-15T11_30_40Z.log:
swtpm_setup: Not overwriting existing state file.
TASK OK
Jetzt stellt sich mir die Frage, wo da das Problem genau liegt. Beide Nodes sollten eigentlich die gleichen Bridges haben und ich sehe da bei der Netzwerk-Konfig auch keine Fehler.
Kann man das irgendwie weiter debuggen, um zu gucken, was QEMU da an den letzten 8 vNICs stört?
Hier nochmal die VM Konfigs:
Code:
root@Shuttle:~# qm config 10001
agent: 1
balloon: 0
bios: ovmf
boot: order=scsi0;ide2
cores: 3
cpu: host
efidisk0: ZFS_8K:vm-10001-disk-0,efitype=4m,size=1M
ide2: none,media=cdrom
machine: q35
memory: 2048
meta: creation-qemu=8.1.2,ctime=1706577238
name: OPNsenseBackup
net0: virtio=BC:24:11:99:9D:09,bridge=vmbr2,firewall=1,mtu=1500,queues=3
net1: virtio=BC:24:11:30:17:8D,bridge=vmbr61,firewall=1,mtu=1500,queues=3
net10: virtio=BC:24:11:73:69:E6,bridge=vmbr110,firewall=1,mtu=1500,queues=3
net11: virtio=BC:24:11:08:D4:18,bridge=vmbr111,firewall=1,mtu=1500,queues=3
net12: virtio=BC:24:11:8B:C8:DD,bridge=vmbr120,firewall=1,mtu=1500,queues=3
net13: virtio=BC:24:11:C8:44:A7,bridge=vmbr121,firewall=1,mtu=1500,queues=3
net14: virtio=BC:24:11:26:DA:EB,bridge=vmbr130,firewall=1,mtu=1500,queues=3
net15: virtio=BC:24:11:F9:79:75,bridge=vmbr140,firewall=1,mtu=1500,queues=3
net16: virtio=BC:24:11:BC:5B:FE,bridge=vmbr150,firewall=1,mtu=1500,queues=3
net2: virtio=BC:24:11:89:9E:5C,bridge=vmbr60,firewall=1,mtu=1500,queues=3
net3: virtio=BC:24:11:65:33:28,bridge=vmbr70,firewall=1,mtu=1500,queues=3
net4: virtio=BC:24:11:DF:8A:B0,bridge=vmbr71,firewall=1,mtu=1500,queues=3
net5: virtio=BC:24:11:53:1C:19,bridge=vmbr80,firewall=1,mtu=1500,queues=3
net6: virtio=BC:24:11:6C:B2:D8,bridge=vmbr81,firewall=1,mtu=1500,queues=3
net7: virtio=BC:24:11:5A:D3:D5,bridge=vmbr90,firewall=1,mtu=1500,queues=3
net8: virtio=BC:24:11:AB:B0:CA,bridge=vmbr91,firewall=1,mtu=1500,queues=3
net9: virtio=BC:24:11:E2:44:AA,bridge=vmbr100,firewall=1,mtu=1500,queues=3
numa: 0
onboot: 1
ostype: other
rng0: source=/dev/urandom
scsi0: ZFS_8K:vm-10001-disk-1,discard=on,iothread=1,size=32G,ssd=1
scsihw: virtio-scsi-single
smbios1: uuid=287e1dff-4043-4b01-82d6-498bd5f04985
sockets: 1
startup: order=100,up=120
tags: host_voyager
tpmstate0: ZFS_8K:vm-10001-disk-2,size=4M,version=v2.0
vmgenid: 1ade3171-7d50-4c11-83b2-d25cfa9b34ad
Code:
qm config 10001
agent: 1
balloon: 0
bios: ovmf
boot: order=scsi0;ide2
cores: 3
cpu: host
efidisk0: ZFS_8K:vm-10001-disk-0,efitype=4m,size=1M
ide2: none,media=cdrom
machine: q35
memory: 2048
meta: creation-qemu=8.1.2,ctime=1706577238
name: OPNsenseBackup
net0: virtio=BC:24:11:99:9D:09,bridge=vmbr2,firewall=1,mtu=1500,queues=3
net1: virtio=BC:24:11:30:17:8D,bridge=vmbr61,firewall=1,mtu=1500,queues=3
net2: virtio=BC:24:11:89:9E:5C,bridge=vmbr60,firewall=1,mtu=1500,queues=3
net3: virtio=BC:24:11:65:33:28,bridge=vmbr70,firewall=1,mtu=1500,queues=3
net4: virtio=BC:24:11:DF:8A:B0,bridge=vmbr71,firewall=1,mtu=1500,queues=3
net5: virtio=BC:24:11:53:1C:19,bridge=vmbr80,firewall=1,mtu=1500,queues=3
net6: virtio=BC:24:11:6C:B2:D8,bridge=vmbr81,firewall=1,mtu=1500,queues=3
net7: virtio=BC:24:11:5A:D3:D5,bridge=vmbr90,firewall=1,mtu=1500,queues=3
net8: virtio=BC:24:11:AB:B0:CA,bridge=vmbr91,firewall=1,mtu=1500,queues=3
numa: 0
onboot: 1
ostype: other
rng0: source=/dev/urandom
scsi0: ZFS_8K:vm-10001-disk-1,discard=on,iothread=1,size=32G,ssd=1
scsihw: virtio-scsi-single
smbios1: uuid=287e1dff-4043-4b01-82d6-498bd5f04985
sockets: 1
startup: order=100,up=120
tags: host_voyager
tpmstate0: ZFS_8K:vm-10001-disk-2,size=4M,version=v2.0
vmgenid: 1ade3171-7d50-4c11-83b2-d25cfa9b34ad
Edit:
Achso, beide Nodes sind PVE 8.2.4 mit den neusten Patches der Nosub-Repos.
Last edited: