
At 2017-04-26 21:59:46, "Daniel P. Berrange" <berrange@redhat.com> wrote:
On Wed, Apr 26, 2017 at 08:51:39AM -0500, Eric Blake wrote:
I migrated a Windows 7 VM with libvirtd tunnelled, the VM halted on the target although the status is running.
What do you mean by halted ? The guest OS has shutdown, or QEMU has crashed, or something else ?
[root@test15 ~]# virsh migrate --live --p2p --tunnelled i-000000ac qemu+tcp://192.168.65.13/system
But when migrated with qemu native mode, the VM runs well.
[root@test15 ~]# virsh migrate --live --p2p i-000000ac qemu+tcp://192.168.65.13/system
From QEMU's POV there's no difference between these modes - in both cases QEMU is just getting a file descriptor from libvirt.
So any problems with the guest after migration are
System Info: Release: Centos 7.2 Kernel: 3.10.0-327.28.3.el7.x86_64 Qemu: qemu-kvm-rhev-2.3.0 Libvirt: libvirt-1.2.17/libvirt-2.0.0
Does the 2 libvirt versions mean you are live-migrating between two different versions of CentOS ? If so, this also likely means two different versions of QEMU involved.
Migrate between 2 same version, and tried to upgrade the libvirt version.
CPU: AMD Opteron(TM) Processor 6212
As CPUFrequency may lead windows migrate halt, I have disabled Power Management.
Does anyone have some sugestions?
Thanks, Linwen Deng
vm.xml
<domain type='kvm' id='8'> <name>i-000000ac</name> <uuid>53f0710f-b25e-4f47-a7cf-c15a9409fdc3</uuid> <metadata> <nova:instance xmlns:nova="http://openstack.org/xmlns/libvirt/nova/1.0"> <nova:package version="12.0.0-4"/> <nova:name>c7-vm15-test15-7</nova:name> <nova:creationTime>2017-04-14 06:48:54</nova:creationTime> <nova:flavor name="oeflavor-4-2048-20"> <nova:memory>2048</nova:memory> <nova:disk>20</nova:disk> <nova:swap>0</nova:swap> <nova:ephemeral>0</nova:ephemeral> <nova:vcpus>4</nova:vcpus> </nova:flavor> <nova:owner> <nova:user uuid="b0f21b1d16b147ffb3f7713716cc894a">admin</nova:user> <nova:project uuid="ae883f160c3c41db850d5cde8de8208b">service</nova:project> </nova:owner> </nova:instance> </metadata> <memory unit='KiB'>2097152</memory> <currentMemory unit='KiB'>2097152</currentMemory> <memoryBacking> <hugepages> <page size='2048' unit='KiB' nodeset='0'/> </hugepages> </memoryBacking> <vcpu placement='static'>2</vcpu> <cputune> <shares>4096</shares> <vcpupin vcpu='0' cpuset='4-7'/> <vcpupin vcpu='1' cpuset='4-7'/> <emulatorpin cpuset='4-7'/> </cputune> <resource> <partition>/machine</partition> </resource> <sysinfo type='smbios'> <system> <entry name='manufacturer'>Fedora Project</entry> <entry name='product'>OpenStack Nova</entry> <entry name='version'>12.0.0-4</entry> <entry name='serial'>95637afe-453f-42a8-b198-df673ab59c91</entry> <entry name='uuid'>53f0710f-b25e-4f47-a7cf-c15a9409fdc3</entry> <entry name='family'>Virtual Machine</entry> </system> </sysinfo> <os> <type arch='x86_64' machine='pc-i440fx-rhel7.2.0'>hvm</type> <boot dev='cdrom'/> <boot dev='hd'/> <boot dev='fd'/> <smbios mode='sysinfo'/> </os> <features> <acpi/> <apic/> </features> <cpu mode='host-model'> <model fallback='allow'/> <topology sockets='2' cores='1' threads='1'/> </cpu> <clock offset='utc'> <timer name='pit' tickpolicy='delay'/> <timer name='rtc' tickpolicy='catchup'/> <timer name='hpet' present='no'/> </clock>
If nothing else, this guest is incorrectly configured for running the Windows OS. I suspect you forget to set the Glance image property needed to tell Nova that it is windows.
Specifically it is missing hyperv paravirt <timer>, and many hyperv paravirt <feature> elements.
This will make Windows guests unstable and liable to hit BSOD
I have tried to update the xml, the problem also exists, although there's one success in 5 tries. But the guest can accept ctrl-alt-delete, further operations still not available. <features> <acpi/> <apic/> <hyperv> <relaxed state='on'/> <vapic state='on'/> <spinlocks state='on' retries='8191'/> </hyperv> </features> <cpu mode='host-model'> <model fallback='allow'/> <topology sockets='1' cores='2' threads='1'/> </cpu> <clock offset='utc'> <timer name='pit' tickpolicy='delay'/> <timer name='rtc' tickpolicy='catchup'/> <timer name='hpet' present='no'/> <timer name='hypervclock' present='yes'/> </clock>
Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|