Hello everyone,
I was trying PVE 7 with debian10 OpenStack (kvm) cloud images and I found a problem.
If the VM has serial terminal as Display the system does not boot (I don't understand if after bootloader or during bootloader) and goes in an infinite restart-loop.
For triggering the error
Since I have the same VM in PVE6 and PVE7 in the same experimental hardware I have been doing some comparisons.
I made some investigation
Serial console device
if I change
in the VM definition the problem will persists. But there I can't find hardware diferences in the VMs hosted in PVE6 or PVE7. I am using lshw, dmidecode and lscpi.
KVM invocations on host
I compared the KVM invocations form PVE6 and PVE7 and I don't find special changes related with serial port (shell variables for insignificant info as MAC address):
PVE6 Fresh install in the hardware
Additionally, I made a PVE6 fresh install in the hardware which was running pve7, in order to discard any cause related with the hardware. The VM startup was working as expected. So I understand the problem is related with PVE7.
VM setup
Feedback: next steps
Do you consider I may try some particular action?
I understand the problem is related on the way KVM announces the serial console but I don't know how to get more information.
On the other hand the same VM in a pve6 node works normally.
I was trying PVE 7 with debian10 OpenStack (kvm) cloud images and I found a problem.
If the VM has serial terminal as Display the system does not boot (I don't understand if after bootloader or during bootloader) and goes in an infinite restart-loop.
For triggering the error
- Follow the guide from the wiki in the Cloud-Init chapter and
- Use as image the Debian 10 one for openstack: debian-10-openstack-amd64.qcow2 (sha1sum 8c010fc369df096b8f9dccf48833e0a634bcf39d)
Since I have the same VM in PVE6 and PVE7 in the same experimental hardware I have been doing some comparisons.
I made some investigation
Serial console device
- if I change the monitor to VGA the VM is going to boot.
- If I logged in the VM I add
Code:
GRUB_TERMINAL=console
Code:sudo update-grub
if I change
Code:
machine: pc-i440fx-5.2
KVM invocations on host
I compared the KVM invocations form PVE6 and PVE7 and I don't find special changes related with serial port (shell variables for insignificant info as MAC address):
Diff:
/usr/bin/kvm \ -id ${VM_ID} \
-name test \
-no-shutdown \
- -chardev socket,id=qmp,path=/var/run/qemu-server/${VM_ID}.qmp,server,nowait \
+ -chardev socket,id=qmp,path=/var/run/qemu-server/${VM_ID}.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 \
@@ -27,14 +27,14 @@ INIT_NAME="${INIT_NAME}:-iqn.1993-08.org.debian:01:ca181c45bf2a"
-device pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f \
-device vmgenid,guid=${GU_ID} \
-device piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2 \
- -chardev socket,id=serial0,path=/var/run/qemu-server/${VM_ID}.serial0,server,nowait \
+ -chardev socket,id=serial0,path=/var/run/qemu-server/${VM_ID}.serial0,server=on,wait=off \
-device isa-serial,chardev=serial0 \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \
-iscsi initiator-name=${INIT_NAME} \
- -drive file=/dev/zvol/rpool/data/vm-${VM_ID}-cloudinit,if=none,id=drive-ide2,media=cdrom,aio=threads \
+ -drive file=/dev/zvol/rpool/data/vm-${VM_ID}-cloudinit,if=none,id=drive-ide2,media=cdrom,aio=io_uring \
-device ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2 \
-device virtio-scsi-pci,id=scsihw0,bus=pci.0,addr=0x5 \
- -drive file=/dev/zvol/rpool/data/vm-${VM_ID}-disk-0,if=none,id=drive-scsi0,format=raw,cache=none,aio=native,detect-zeroes=on \
+ -drive file=/dev/zvol/rpool/data/vm-${VM_ID}-disk-0,if=none,id=drive-scsi0,format=raw,cache=none,aio=io_uring,detect-zeroes=on \
-device scsi-hd,bus=scsihw0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0,id=scsi0,bootindex=101 \
-netdev type=tap,id=net0,ifname=tap${VM_ID}i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on \
-device virtio-net-pci,mac=${MAC_ADDR},netdev=net0,bus=pci.0,addr=0x12,id=net0
PVE6 Fresh install in the hardware
Additionally, I made a PVE6 fresh install in the hardware which was running pve7, in order to discard any cause related with the hardware. The VM startup was working as expected. So I understand the problem is related with PVE7.
VM setup
Code:
#TEST vm
boot: c
bootdisk: scsi0
cipassword: <REDACTED>
ciuser: debian
ide2: local:100/vm-100-cloudinit.qcow2,media=cdrom,size=4M
ipconfig0: ip=dhcp
memory: 512
name: test
net0: virtio=<REDACTED>,bridge=vmbr0
scsi0: local-zfs:vm-100-disk-0,size=2G
scsihw: virtio-scsi-pci
serial0: socket
smbios1: uuid=<REDACTED>
sshkeys: <REDACTED>
vga: serial0
vmgenid: <REDACTED>
Feedback: next steps
Do you consider I may try some particular action?
I understand the problem is related on the way KVM announces the serial console but I don't know how to get more information.
On the other hand the same VM in a pve6 node works normally.