
On Mon, Aug 17, 2020 at 3:24 AM Peter Krempa <pkrempa@redhat.com> wrote:
On Sat, Aug 15, 2020 at 15:38:19 -0700, Vjaceslavs Klimovs wrote:
Hey all, With libvirt 6.5.0 and qemu 5.1.0 migration of non shared disks in tunneled mode does not work for me:
virsh # migrate alpinelinux3.8 qemu+tls://ratchet.lan/system --live --persistent --undefinesource --copy-storage-all --tunneled --p2p error: internal error: qemu unexpectedly closed the monitor: Receiving block device images Error unknown block device 2020-08-15T21:21:48.995016Z qemu-system-x86_64: error while loading state section id 1(block) 2020-08-15T21:21:48.995193Z qemu-system-x86_64: load of migration failed: Invalid argument
This is both with UEFI and BIOS guests.
The migration of storage using the qemu migration stream is not supported by qemu when -blockdev is used. Since we can only transport one stream when migrating with '-tunelled', it's no longer possible to combine those two. Unfortunately automagic block migration was deemed a legacy feature.
I understand that newer ways of migrating non shared disks is via NBD directly with QEMU, however I am certain that this used to work before libvirt 6.0. There is a series of commits to /src/qemu/qemu_migration.c on Dec 8, 2019, could they have something to do with this?
I presume those are my commits which fix the NBD migration though. Unfortunately they can't fix the old one.
Is migration of non shared disks supported and supposed to work in tunneled mode or is it not a supported configuration and native NBD directly with QEMU should be used in all cases?
NBD should be used nowadays. The old style storage migration was neglected for a very long time now.
Thank you for the clarification, very helpful. Local libvirtd of course knows about --tunneled and -blockdev being used - would it be possible for it to provide a clear error message that this combination is not supported when such migration is attempted?