KVM 和 libvirt:如何为现有 VM 配置新的磁盘设备?

KVM 和 libvirt:如何为现有 VM 配置新的磁盘设备?

我有一台运行两台虚拟机的 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>

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

我的问题是重新加载 libvirtd 并重新启动 VM 并没有产生新的可见设备(用 fdisk 检查)。

我知道扩展现有的 qcow2 文件(转换为原始格式,cat-ing/添加新文件,使用类似 gparted 的东西) - 但只能作为最后的手段。

希望我遗漏的是一些非常简单的东西?

答案1

登录虚拟机并将其关闭。

创建一个新的虚拟磁盘。

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

强制关闭虚拟机。

virsh destroy machine1

在默认编辑器中打开 VM 配置。

virsh edit machine1

添加如下所示的新磁盘节。

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

关闭编辑器。libvirt 将自动重新加载配置。

启动虚拟机。

virsh start machine1

相关内容