Testing Migration on KVM/ARM
So far migration support has only been completed for KVM ARMv7-A.
Work is planned for KVM ARMv8-A migration support. For details, see: https://cards.linaro.org/browse/CARD-419.
We have not yet done exhaustive testing of migration scenarios, but have simply verified that the basic suspend/resume operation of a VM works.
Basic configuration of QEMU, host kernel, and guest system is not covered on this page. Instead we refer you to https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm or Peter Maydell's KVM how-to guide: https://wiki.linaro.org/PeterMaydell/KVM/HowTo.
Basic Suspend Resume Testing
Launch your guest using a command akin to this:
# ./qemu-system-arm \ -m 512 -M vexpress-a15 -cpu cortex-a15 \ -smp 2 \ -dtb /root/vexpress-v2p-ca15-tc1.dtb \ -kernel zImage \ -enable-kvm -sd ubuntu.img \ -net nic -net tap,vlan=0,ifname=tap0,downscript=no \ -nographic \ -append "console=ttyAMA0 mem=512M debug root=/dev/mmcblk0 rw"
Drop into the monitor using <ctrl-a>, <c> (or use some other method for connecting to the QEMU monitor externally), and enter the following command:
(qemu) migrate "exec:cat > vm.state" (qemu) quit
You will now have a file containing your VM state called vm.state in your working directory.
To resume from this state, run QEMU again, but add this to your command line:
-S -incoming "exec:cat ubuntu.state"
This should drop you into the monitor in a stopped state (the "-S" option), and you can resume your VM by entering:
on the QEMU console, followed by pressing <ctrl-a>, <c> and your VM should resume where you left off.
LEG/Engineering/Virtualization/KVM_Migration_testing (last modified 2014-02-18 01:54:35)