[libvirt-users] Tunnelled migrate Windows7 VMs halted

Daniel P. Berrange berrange at redhat.com
Wed Apr 26 13:59:46 UTC 2017


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 at 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 at 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.

> >     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


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 :|




More information about the libvirt-users mailing list