I haven't looked into the history of the "--address"
option for virsh
attach-disk, but 0.7.5 is *very* old, so it's completely possible that
it doesn't support that option. Can you upgrade to something more
modern? (libvirt is now at 1.0.4, and most distros are using at least
0.9.something or 0.10.something)
I was running on Ubuntu 10.04.4 LTS. I have now upgraded to Ubuntu 12.04.2
LTS.
"Address" seems to be in this newer version. Thanks for that!
However, now I cannot even add disks at all to the virtual servers.
If you look at the flow bellow, you see that I start a virtual server,
removes a disk and then tries to add it again (using 2 methods).
First method (attach-device) just sits there forever and I have to cancel
it.
The second method (attach-disk) timeouts after some time.
The log-file just states:
2013-04-09 22:35:57.000+0000: 6203: error :
qemuDomainObjBeginJobInternal:789 : Timed out during operation: cannot
acquire state change lock
I assume this means that libvirt cannot contact the QEMU monitor? How can I
test that the QEMU monitor is still responding? Is there a way to bypass
libvirt and send commands to QEMU Monitor manually?
(root@h2)-(/root)# virsh --version
0.9.8
(root@h2)-(/root)# kvm --version
QEMU emulator version 1.0 (qemu-kvm-1.0), Copyright (c) 2003-2008 Fabrice
Bellard
(root@h2)-(/root)# virsh list --all
Id Name State
----------------------------------
7 dns running
8 limelayer running
9 php3 running
- vps_99 shut off
(root@h2)-(/root)# virsh start vps_99
Domain vps_99 started
(root@h2)-(/root)# virsh list --all
Id Name State
----------------------------------
7 dns running
8 limelayer running
9 php3 running
10 vps_99 running
(root@h2)-(/root)# virsh dumpxml vps_99
<domain type='kvm' id='10'>
<name>vps_99</name>
<uuid>d2eb6328-f288-1030-84c5-0050560018a2</uuid>
<memory>1048576</memory>
<currentMemory>1048576</currentMemory>
<vcpu>2</vcpu>
<os>
<type arch='x86_64' machine='pc-1.0'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<clock offset='utc'/>
<on_poweroff>restart</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/bin/kvm</emulator>
<disk type='block' device='disk'>
<driver name='qemu' type='raw'/>
<source dev='/dev/nbd3'/>
<target dev='vda' bus='virtio'/>
<alias name='virtio-disk0'/>
<address type='pci' domain='0x0000' bus='0x00'
slot='0x06'
function='0x0'/>
</disk>
<disk type='block' device='disk'>
<driver name='qemu' type='raw'/>
<source dev='/dev/nbd1'/>
<target dev='vdb' bus='virtio'/>
<alias name='virtio-disk1'/>
<address type='pci' domain='0x0000' bus='0x00'
slot='0x07'
function='0x0'/>
</disk>
<interface type='bridge'>
<mac address='00:50:56:00:1b:24'/>
<source bridge='br0'/>
<target dev='vnet3'/>
<model type='virtio'/>
<alias name='net0'/>
<address type='pci' domain='0x0000' bus='0x00'
slot='0x04'
function='0x0'/>
</interface>
<input type='mouse' bus='ps2'/>
<graphics type='vnc' port='5999' autoport='no'
keymap='en-us'/>
<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='0x03'
function='0x0'/>
</memballoon>
</devices>
<seclabel type='dynamic' model='apparmor' relabel='yes'>
<label>libvirt-d2eb6328-f288-1030-84c5-0050560018a2</label>
<imagelabel>libvirt-d2eb6328-f288-1030-84c5-0050560018a2</imagelabel>
</seclabel>
</domain>
(root@h2)-(/root)# virsh detach-disk vps_99 vdb
Disk detached successfully
(root@h2)-(/root)# cat /tmp/disk.xml
<disk type='block' device='disk'>
<driver name='qemu' type='raw'/>
<source dev='/dev/nbd1'/>
<target dev='vdb' bus='virtio'/>
<alias name='virtio-disk1'/>
<address type='pci' domain='0x0000' bus='0x00'
slot='0x07'
function='0x0'/>
</disk>
(root@h2)-(/root)# virsh attach-device vps_99 /tmp/disk.xml
^C
(root@h2)-(/root)# virsh list --all
Id Name State
----------------------------------
7 dns running
8 limelayer running
9 php3 running
10 vps_99 running
(root@h2)-(/root)# virsh attach-disk vps_99 /dev/nbd1 vdb
error: Failed to attach disk
error: Timed out during operation: cannot acquire state change lock
Regards,
Daniele