[libvirt] add a rbd disk by virsh attach-device , the operation fails

Martin Kletzander mkletzan at redhat.com
Tue May 5 06:14:56 UTC 2015

On Tue, May 05, 2015 at 03:25:39AM +0000, 饶俊明 wrote:
>	add a rbd disk by virsh attach-device ,the operation fails; libvirt version: libvirt-0.10.2-46.el6.x86_64
>operated virsh pool-info, pool-edit, attach-device domain_id /tmp/rbddisk.xml command:

Hi there,

this list is for upstream discussions and as I can see, the version of
libvirt you are using is a little old and it's downstream.  Try
whether this problem persist with e.g. the now released version 1.2.15
or feel free to contact your support specialist in case you are using

>virsh # pool-info 0a081d22-070b-3f58-a883-78e29012b052
>Name:           0a081d22-070b-3f58-a883-78e29012b052
>UUID:           0a081d22-070b-3f58-a883-78e29012b052
>State:          running
>Persistent:     no
>Autostart:      no
>Capacity:       305.50 TiB
>Allocation:     173.06 GiB
>Available:      304.98 TiB
>virsh # pool-edit 0a081d22-070b-3f58-a883-78e29012b052
><pool type='rbd'>
>  <name>0a081d22-070b-3f58-a883-78e29012b052</name>
>  <uuid>0a081d22-070b-3f58-a883-78e29012b052</uuid>
>  <capacity unit='bytes'>335898508001280</capacity>
>  <allocation unit='bytes'>185824236409</allocation>
>  <available unit='bytes'>335327800442880</available>
>  <source>
>    <host name='szebs01.app.paic.com.cn' port='6789'/>
>    <name>ebs_sz_01_01</name>
>    <auth username='szbcs' type='ceph'>
>      <secret uuid='0a081d22-070b-3f58-a883-78e29012b052'/>
>    </auth>
>  </source>
>virsh # attach-device 52 /tmp/rbddisk.xml
>error: Failed to attach device from /tmp/rbddisk.xml
>error: internal error unable to execute QEMU command '__com.redhat_drive_add': Device 'drive-virtio-disk1' could not be initialized

This error comes from qemu, but it doesn't say much.

Does the domain fail to start with the disk already in the XML or is
this a problem just with hot-plugging?

>This context of /tmp/rbddisk.xml :
>    <disk type='network' device='disk'>
>      <driver name='qemu' type='raw' cache='none'/>
>      <auth username='szbcs'>
>        <secret type='ceph' uuid='0a081d22-070b-3f58-a883-78e29012b052'/>
>      </auth>
>      <source protocol='rbd' name='ebs_sz_01_01/5eba8a02-f251-4674-88b8-e368a07d50c5'>
>        <host name='szebs01.app.paic.com.cn' port='6789'/>
>      </source>
>      <target dev='vdb' bus='virtio'/>
>      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
>    </disk>
>This error information in libvirtd log file:
>2015-05-05 02:51:52.005+0000: 32082: error : qemuMonitorJSONCheckError:359 : internal error unable to execute QEMU command '__com.redhat_drive_add': Device 'drive-virtio-disk1' could not be initialized

This is only one line and it doesn't say anything more than the error
from virsh.  Try looking at more context, or rather in the domain's
log file where qemu might've said more about the error.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20150505/2b4a9d61/attachment-0001.sig>

More information about the libvir-list mailing list