On Tue, May 05, 2015 at 03:25:39AM +0000, 饶俊明 wrote:
Hello:
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
RHEL.
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>
</pool>
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.