KVM和libvirt:如何configuration一个新的光盘设备到现有的虚拟机?

我有一台运行两台虚拟机的Ubuntu 9.04服务器。 在/etc/libvirt/qemu/machine1.xml中这两个磁盘设备是这样定义的:

<devices> <emulator>/usr/bin/kvm</emulator> <disk type='file' device='disk'> <source file='/vserver/machine1/disk0.qcow2'/> <target dev='hda' bus='ide'/> </disk> <disk type='file' device='disk'> <source file='/vserver/machine1/disk1.qcow2'/> <target dev='hdb' bus='ide'/> </disk> 

我至less在其中一个设备上需要更多的存储空间,并考虑添加第三个hdc设备,只需添加一个与上面相同的样式并重新组织我的安装结构(不幸的是,当前qcow2文件的虚拟大小是有限的。

我的问题是,重新加载libvirtd并重新启动虚拟机不会导致新的可见设备(使用fdisk进行检查)。

我知道扩展现有的qcow2文件(转换为原始格式,捕捉/添加新的,使用smth。像gparted) – 但只能作为最后的手段。

希望这是非常简单的我失踪了?

login到VM并closures。

创build一个新的虚拟磁盘。

 qemu-img create -f qcow2 /vserver/machine1/disk2.qcow2 $SIZE 

强制closures虚拟机。

 virsh destroy machine1 

在默认编辑器中打开虚拟机configuration。

 virsh edit machine1 

像下面添加一个新的磁盘节。

 <disk type='file' device='disk'> <source file='/vserver/machine1/disk2.qcow2'/> <target dev='hdc' bus='ide'/> </disk> 

closures你的编辑器。 libvirt会自动重新加载configuration。

启动虚拟机。

 virsh start machine1