Package: qemu-kvm
Version: 1:2.1+dfsg-12
Severity: important

Dear Maintainer,

I am using two identical servers for building a flexible KVM cluster. Both 
servers run Debian Jessie with libvirt and I tried to live-migrate a virtual 
machine using local storage with qcow2 image files.

   * What exactly did you do (or not do) that was effective (or ineffective)?
    1. check SSH connection and firewall settings between servers
    2. create disk image on destination host with qemu-img create [...]
    3. Run "virsh -c qemu:///system migrate --live --persistent 
--undefinesource --copy-storage-all --verbose 
qemu+ssh://{user@dest-host}/system {machine-name}" as a dedicated qemu user 
(got all relevant permissions)

   * What was the outcome of this action?
    Migrating a virtual machine with one CPU core results in 100% CPU usage on 
one core at the source host caused by qemu-system-x86_64, it is no error 
displayed. When the image file is missing on the destination host (or it got 
wrong permissions) an error is display - just like I would expect. When using a 
machine with more cores, two (sometimes even more) of the source host will run 
at 100% usage - tested with 1 and8 virtual cores. The virtual machine and all 
other libvirt-interfaces (like virt-manager) on the source host hang completly, 
too. It it possible to cancel this process using CTRL-C (which takes about 
30-60 seconds) and you have to destroy the virtual machine to reduce CPU load 
and get it working again. At the moment of starting the process I can that a 
paused virtual machine is created on the destination host. There is no log 
entry at default log level (only when starting a machine, see below) but I will 
attach a debug log as soon as possible. I tried to remove USB emula
 tion, change bus type etc.

   * What outcome did you expect instead?
   After some seconds there should be a counter indicating that a migration is 
running and there should be some network traffic between the servers. I tested 
this with two virtual machines (on top of the Debian Jessie hypervisors) 
running Debian Wheezy acting as hypervisors (nested kvm) - it was no problem to 
move machines between this two virtual hypervisors using the same commands. Of 
course I disabled nested kvm after this test.


-- System Information:
Debian Release: 8.1
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.16.0-4-amd64 (SMP w/32 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages qemu-kvm depends on:
ii  qemu-system-x86  1:2.1+dfsg-12

qemu-kvm recommends no packages.

qemu-kvm suggests no packages.

-- no debconf information

Other maybe related packages:
ii  qemu-system-common             1:2.1+dfsg-12
ii  qemu-system-x86                1:2.1+dfsg-12
ii  qemu-utils                     1:2.1+dfsg-12
ii  libvirt-bin                    1.2.9-9
ii  libvirt-clients                1.2.9-9
ii  libvirt-daemon                 1.2.9-9
ii  libvirt-daemon-system          1.2.9-9
ii  bridge-utils                   1.5-9
ii  iptables                       1.4.21-2+b1
ii  ebtables                       2.0.10.4-3

CPU models:                                                                     
                                                                            
processor       : 0                                                             
                                                                            
vendor_id       : GenuineIntel                                                  
                                                                            
cpu family      : 6                                                             
                                                                            
model           : 63                                                            
                                                                            
model name      : Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz                     
                                                                            
stepping        : 2                                                             
                                                                            
microcode       : 0x27                                                          
                                                                            
cpu MHz         : 1200.000                                                      
                                                                            
cache size      : 20480 KB                                                      
                                                                            
physical id     : 0                                                             
                                                                            
siblings        : 16                                                            
                                                                            
core id         : 0                                                             
                                                                            
cpu cores       : 8
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 15
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov 
pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb 
rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology 
nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est 
tm2 ssse3 fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt 
tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt 
pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 
avx2 smep bmi2 erms invpcid
bogomips        : 4799.77
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
power management:

[...]

processor       : 31
vendor_id       : GenuineIntel
cpu family      : 6
model           : 63
model name      : Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz
stepping        : 2
microcode       : 0x27
cpu MHz         : 1219.218
cache size      : 20480 KB
physical id     : 1
siblings        : 16
core id         : 7
cpu cores       : 8
apicid          : 31
initial apicid  : 31
fpu             : yes
fpu_exception   : yes
cpuid level     : 15
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov 
pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb 
rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology 
nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est 
tm2 ssse3 fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt 
tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt 
pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 
avx2 smep bmi2 erms invpcid
bogomips        : 4800.89
clflush size    : 64
cache_alignment : 64
address sizes   : 46 bits physical, 48 bits virtual
power management:

Virtual machine config:
<domain type='kvm' id='2'>
  <name>{machine-name}</name>
  <uuid>0e036446-05f2-45a5-beb6-9de0e14e70e5</uuid>
  <memory unit='KiB'>8290304</memory>
  <currentMemory unit='KiB'>8290304</currentMemory>
  <vcpu placement='static'>8</vcpu>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-i440fx-2.1'>hvm</type>
    <bootmenu enable='yes'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <cpu mode='custom' match='exact'>
    <model fallback='allow'>SandyBridge</model>
    <vendor>Intel</vendor>
    <feature policy='require' name='vme'/>
    <feature policy='require' name='dtes64'/>
    <feature policy='require' name='invpcid'/>
    <feature policy='require' name='vmx'/>
    <feature policy='require' name='erms'/>
    <feature policy='require' name='xtpr'/>
    <feature policy='require' name='smep'/>
    <feature policy='require' name='pbe'/>
    <feature policy='require' name='est'/>
    <feature policy='require' name='monitor'/>
    <feature policy='require' name='smx'/>
    <feature policy='require' name='abm'/>
    <feature policy='require' name='tm'/>
    <feature policy='require' name='acpi'/>
    <feature policy='require' name='fma'/>
    <feature policy='require' name='osxsave'/>
    <feature policy='require' name='ht'/>
    <feature policy='require' name='dca'/>
    <feature policy='require' name='pdcm'/>
    <feature policy='require' name='pdpe1gb'/>
    <feature policy='require' name='fsgsbase'/>
    <feature policy='require' name='f16c'/>
    <feature policy='require' name='ds'/>
    <feature policy='require' name='tm2'/>
    <feature policy='require' name='avx2'/>
    <feature policy='require' name='ss'/>
    <feature policy='require' name='bmi1'/>
    <feature policy='require' name='bmi2'/>
    <feature policy='require' name='pcid'/>
    <feature policy='require' name='ds_cpl'/>
    <feature policy='require' name='movbe'/>
    <feature policy='require' name='rdrand'/>
  </cpu>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <pm>
    <suspend-to-mem enabled='no'/>
    <suspend-to-disk enabled='no'/>
  </pm>
  <devices>
    <emulator>/usr/bin/kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='none' io='native' 
discard='unmap'/>
      <source file='{path-to-qcow2}'/>
      <backingStore/>
      <target dev='sda' bus='scsi'/>
      <boot order='1'/>
      <alias name='scsi0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='{path-to-iso}'/>
      <backingStore/>
      <target dev='hda' bus='ide'/>
      <readonly/>
      <boot order='2'/>
      <alias name='ide0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <alias name='usb0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' 
function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <alias name='usb0'/>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0' 
multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <alias name='usb0'/>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' 
function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <alias name='usb0'/>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' 
function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'>
      <alias name='pci.0'/>
    </controller>
    <controller type='scsi' index='0'>
      <alias name='scsi0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' 
function='0x0'/>
    </controller>
    <controller type='ide' index='0'>
      <alias name='ide0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' 
function='0x1'/>
    </controller>
    <interface type='bridge'>
      <mac address='{MAC}'/>
      <source bridge='br0'/>
      <target dev='vnet0'/>
      <model type='virtio'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' 
function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/1'/>
      <target port='0'/>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/1'>
      <source path='/dev/pts/1'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
    </input>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <graphics type='vnc' port='5900' autoport='yes' listen='127.0.0.1'>
      <listen type='address' address='127.0.0.1'/>
    </graphics>
    <video>
      <model type='cirrus' vram='9216' heads='1'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' 
function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' 
function='0x0'/>
    </memballoon>
  </devices>
</domain>

Log entries:
[Starting virtual machine]
Jun 12 15:15:19 {source-host} kernel: [ 3132.317794] kvm: zapping shadow pages 
for mmio generation wraparound
Jun 12 15:15:26 {source-host} kernel: [ 3138.775763] kvm [5945]: vcpu0 
unhandled rdmsr: 0x606
Jun 12 15:15:31 {source-host} kernel: [ 3143.950372] kvm [5945]: vcpu0 
unhandled rdmsr: 0x611
Jun 12 15:15:31 {source-host} kernel: [ 3143.950419] kvm [5945]: vcpu0 
unhandled rdmsr: 0x639
Jun 12 15:15:31 {source-host} kernel: [ 3143.950459] kvm [5945]: vcpu0 
unhandled rdmsr: 0x641
Jun 12 15:15:31 {source-host} kernel: [ 3143.950499] kvm [5945]: vcpu0 
unhandled rdmsr: 0x619


Configuration:
egrep -v "(^#|^$)" /etc/libvirt/qemu.conf 
user = "<username>" # tried with root, too
group = "<username>"
set_process_name = 1

egrep -v "(^#|^$)" /etc/libvirt/libvirtd.conf 
unix_sock_group = "libvirt"
unix_sock_rw_perms = "0770"
auth_unix_ro = "none"
auth_unix_rw = "none"


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to