Problems with live block migration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I’m live migrating to and from qemu-kvm-0.12.1.2-2.448.el6_6.3, the big difference is the kernel and storage systems.
from 2.6.32-573.7.1.el6.x86_64 to 4.4.13-1-pve

I was successful at doing migration without block, however as soon as I step up and start to do block migration it all fails instantly.

The block migration fails here (savevm.c), with section id 255:

2015:            ret = vmstate_load(f, le->se, le->version_id);
2016:            if (ret < 0) {
2017:                fprintf(stderr, "qemu: warning: error while loading state section id %d\n",
2018:                        section_id);
2019:                goto out;
2020:            }

I did hook up gdb to the process and stepped it to get a more decent error code and I would up in bdrv_rw_co

Inside vmstate_load it runs the following (savevm.c):
1609:        return se->load_state(f, se->opaque, version_id);
And that goes to (block-migration.c):
484:static int block_load(QEMUFile *f, void *opaque, int version_id)
and it all fails on (block-migration.c):
517:            ret = bdrv_write(bs, addr, buf, BDRV_SECTORS_PER_DIRTY_CHUNK);
518:
519:            qemu_free(buf);
520:            if (ret < 0) {
521:                return ret;
522:            }

print ret in gdb gives med -13 here. Now this is where I’m lost, what would that mean? Permission Denied?

I did a full ltrace of the process without and return codes of 13 at all. After this point it seems a bit tougher to debug though.
I do see that there’s incoming data coming it, which seems valid to me. I also get the progress bar for block migration, although it only prints 0% ;)

The process cmdlines are the following:

from: 
/usr/libexec/qemu-kvm -name udasyvp3wlx6dx -S -M rhel6.6.0 -enable-kvm -m 1024 -realtime mlock=off -smp 1,maxcpus=16,sockets=16,cores=1,threads=1 -uuid c9218acd-7bb2-7bc0-5b13-b7afaaa8db10 -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/udasyvp3wlx6dx.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/root/grub.img,if=none,id=drive-fdc0-0-0,readonly=on,format=raw -global isa-fdc.driveA=drive-fdc0-0-0 -global isa-fdc.bootindexA=1 -drive file=/dev/acbu4rnsdho9zg/t9hfimzgqbr7n0,if=none,id=drive-virtio-disk0,format=raw,cache=none -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=2 -drive file=/dev/9ev7d1w3nujak0/ho1pxt0jmez9s2,if=none,id=drive-virtio-disk1,format=raw,cache=none -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk1,id=virtio-disk1 -netdev tap,fd=26,id=hostnet0,vhost=on,vhostfd=32 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:16:3e:33:dd:6d,bus=pci.0,addr=0x3 -device usb-tablet,id=input0 -vnc 0.0.0.0:4,password -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6 -msg timestamp=on

to:
 /usr/libexec/qemu-kvm  -name udasyvp3wlx6dx -S -M rhel6.6.0 -enable-kvm -m 1024 -realtime mlock=off -smp 1,maxcpus=16,sockets=16,cores=1,threads=1 -mon chardev=charmonitor,id=monitor,mode=control -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/udasyvp3wlx6dx.monitor,server,nowait -rtc base=utc -uuid c9218acd-7bb2-7bc0-5b13-b7afaaa8db10 -nodefconfig -nodefaults -no-shutdown -drive file=/onapp/tools/grub.img,if=none,id=drive-fdc0-0-0,readonly=on,format=raw -global isa-fdc.driveA=drive-fdc0-0-0 -global isa-fdc.bootindexA=1 -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/mnt/vda.img,if=none,id=drive-virtio-disk0,format=raw,cache=none -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=2 -drive file=/mnt/vdb.img,if=none,id=drive-virtio-disk1,format=raw,cache=none -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x5,drive=drive-virtio-disk1,id=virtio-disk1 -netdev type=tap,id=hostnet0,ifname=tap207i0,script=/mnt/empty.sh,downscript=/mnt/empty.sh,vhost=on -device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:16:3e:33:dd:6d,bus=pci.0,addr=0x3 -device usb-tablet,id=input0 -vnc 0.0.0.0:9,password -vga cirrus -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6 -msg timestamp=on -incoming tcp:192.168.7.57:12000

Regards,
Josef

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux