qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Qemu migration with vhost-user-blk on top of local stor


From: wuzhouhui
Subject: Re: [Qemu-devel] Qemu migration with vhost-user-blk on top of local storage
Date: Wed, 9 Jan 2019 21:23:25 +0800 (GMT+08:00)

> -----Original Messages-----
> From: "Stefan Hajnoczi" <address@hidden>
> Sent Time: 2019-01-09 20:42:58 (Wednesday)
> To: wuzhouhui <address@hidden>
> Cc: address@hidden, address@hidden, address@hidden, address@hidden, 
> address@hidden
> Subject: Re: [Qemu-devel] Qemu migration with vhost-user-blk on top of local 
> storage
> 
> On Wed, Jan 09, 2019 at 06:23:42PM +0800, wuzhouhui wrote:
> > Hi everyone,
> > 
> > I'm working qemu with vhost target (e.g. spdk), and I attempt to migrate VM 
> > with
> > 2 local storages. One local storage is a regular file, e.g. /tmp/c74.qcow2, 
> > and
> > the other is a malloc bdev that spdk created. This malloc bdev will 
> > exported to
> > VM via vhost-user-blk. When I execute following command:
> > 
> >   virsh migrate --live --persistent --unsafe --undefinesource 
> > --copy-storage-all \
> >      --p2p --auto-converge --verbose --desturi qemu+tcp://<uri>/system vm0
> > 
> > The libvirt reports:
> > 
> >   qemu-2.12.1: error: internal error: unable to execute QEMU command \
> >     'nbd-server-add': Cannot find device=drive-virtio-disk1 nor \
> >     node_name=drive-virtio-disk1
> 
> Please post your libvirt domain XML.

My libvirt is based on libvirt-1.1.1-29.el7, and add many patches to satisfy our
own needs, e.g. add support for vhost-user-blk. Post domain xml may not useful.
Anyway, following is full contents of XML:

  <domain type='kvm'>
    <name>wzh</name>
    <uuid>a84e96e6-2c53-408d-986b-c709bc6a0e51</uuid>
    <memory unit='MiB'>4096</memory>
    <memoryBacking>
      <hugepages/>
    </memoryBacking>
    <currentMemory unit='MiB'>4096</currentMemory>
    <vcpu placement='static' cpuset='16-31'>2</vcpu>
    <os>
      <type arch='x86_64' machine='pc'>hvm</type>
      <boot dev='hd'/>
    </os>
    <features>
      <acpi/>
    </features>
    <clock offset='utc'>
      <timer name='rtc' tickpolicy='catchup'/>
    </clock>
    <on_poweroff>destroy</on_poweroff>
    <on_reboot>restart</on_reboot>
    <on_crash>destroy</on_crash>
    <devices>
      <emulator>/data/wzh/x86_64-softmmu/qemu-system-x86_64</emulator>
      <disk type='file' device='disk'>
        <driver name='qemu' type='qcow2' cache='none'/>
        <source file='/data/wzh/c74.qcow2'/>
        <target dev='vda' bus='virtio'/>
        <alias name='virtio-disk0'/>
      </disk>

      <disk type='vhost-user-blk' device='disk'>
        <source type='unix' path='/var/tmp/lv0' mode='client'>
        </source>
        <target dev='vdb' bus='virtio'/>
        <driver queues='4'/>
      </disk>

      <controller type='usb' index='0'>
        <alias name='usb0'/>
      </controller>
      <controller type='pci' index='0' model='pci-root'>
        <alias name='pci.0'/>
      </controller>
      <serial type='pty'>
        <target port='0'/>
        <alias name='serial0'/>
      </serial>
      <serial type='pty'>
        <target port='1'/>
        <alias name='serial1'/>
      </serial>
      <input type='tablet' bus='usb'>
        <alias name='input0'/>
      </input>
      <input type='mouse' bus='ps2'/>
      <graphics type='vnc' autoport='yes' listen='0.0.0.0' keymap='en-us'>
        <listen type='address' address='0.0.0.0'/>
      </graphics>
      <video>
        <model type='cirrus' vram='9216' heads='1'/>
        <alias name='video0'/>
      </video>
    </devices>
    <seclabel type='none'/>
  </domain>

> 
> > Does it means that qemu with spdk on top of local storage don't support 
> > migration?
> > 
> > QEMU: 2.12.1
> > SPDK: 18.10
> 
> vhost-user-blk bypasses the QEMU block layer, so NBD storage migration
> at the QEMU level will not work for the vhost-user-blk disk.
> 
> Stefan

reply via email to

[Prev in Thread] Current Thread [Next in Thread]