hi there,
coming back on a old thread. My topic is rather simple : I want to attach a file-based hard drive to a linux guest. I want to understand differences between doing it with command line tools versus virt-manager GUI.
- first, creating a disk image on the physical host: qemu-img create -f qcow2 /mnt/qemu_disk_images/disk1.qcow2 15G
- then, appending a disk definition into the guest XML file:
$ virsh dumxml myguest > dump.xml (...) <disk type='file' device='disk'> <driver name='qemu' type='qcow2' cache='default'/> <source file='/mnt/qemu_disk_images/disk1.qcow2'/> <target dev='vdb' bus='virtio'/> </disk> (...)
$virsh define myguest dump.xml
Then I have to reboot (virsh shudtown + virsh start) the guest to have the new /dev/vdb device available. If I do the same operation from the virt-manager GUI (add hardware>storage>existing storage>virtio-disk>browse local file), the /dev/vdb device pops up into the guest, even without rebooting.
Can someone tell me the difference between what I do and what the GUI does ?
thanks Tom
Trey Dockendorf treydock at gmail.com Tue Jul 26 19:44:06 EDT 2011
I'm not aware of a virsh attach disk command but if you duplicate the entries for the existing disk you can then add the new one...something like this...
# virsh -c qemu:///system edit VMname
<disk type='file' device='disk'> <driver name='qemu' type='qcow2' cache='none'/> <source file='/var/lib/libvirt/images/vmname_var.qcow2'/> <target dev='vda' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk>
You will have to adjust the values of course.
I'm following these documentations to add a file-based disk volume to a KVM guest under Centos 6.0 : http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualiza...
as instructed, I created a "pool" then a "volume", file-based, e.g :
mkdir /mnt/raid/kvm_pool1 virsh # pool-define-as pool1 dir - - - - "/mnt/raid/kvm_pool1" virsh # pool-autostart pool1 virsh # vol-create-as pool1 volume1 20G --allocation 15G --format qcow2
now I want to associate "volume1" to my guest OS. Following this doc:
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Virtualiza...
- why does this ask me to create a file with "dd" ? it's already been
created before with the virsh pool commands, isn't it? Seems to me I'm bypassing the libvirt/virsh layer if I do that.
- after that, the doc tells me to do some stuff with guest XML files.
Is'nt there some specific commands provided by virsh to associate a managed Pool to a managed Guest ?
- in this case, should I use the virsh "attach-disk" command ?
thanks.
Tom