KVM虚拟化技术支持多种磁盘镜像格式。qcow2和原始磁盘映像是两种最流行和广泛使用的磁盘格式。
前者qcow2被认为是最通用且功能丰富的虚拟磁盘格式,提供一组有用的功能,例如 128 位 AES 加密、对多个快照的支持和 zlib 压缩等等。
有时,您可能需要扩展KVM虚拟机的磁盘空间或调整其大小以容纳更多数据或创建其他分区。
在本文中,我们将了解如何使用qcow2磁盘格式扩展或增加KVM 虚拟机磁盘大小。
目录
第1步:关闭KVM虚拟机
第一步,确保待扩容的虚拟机已下电。要列出所有正在运行的虚拟机,请运行以下命令:
$ sudo virsh 列表
在我们的设置中,我们有一个在Debian 11上运行的虚拟机,域名为debian11。
要关闭VM,请使用以下语法:
$ sudo virsh shutdown 域名
在这种情况下,命令将是:
$ sudo virsh 关闭 debian11
现在,为了确认虚拟机已关闭,请再次列出正在运行的虚拟机。这次,虚拟机域名将不会列出。
$ sudo virsh 列表
第二步:找到KVM虚拟机磁盘镜像文件路径
下一步是确定虚拟机磁盘路径的路径。
$ sudo virsh domblklist debian11
从输出中,我们看到虚拟磁盘路径是/var/lib/libvirt/images/debian11.qcow2。使用磁盘路径,您可以检索有关虚拟磁盘映像的更多信息,例如所示的虚拟大小。
$ sudo qemu-img 信息 /var/lib/libvirt/images/debian11.qcow2
从输出中,您可以看到我们从初始虚拟磁盘大小20G开始。我们稍后会将其扩展到40G。
步骤3:扩展KVM虚拟机磁盘大小
下一步是扩展虚拟机磁盘大小。在我们的例子中,我们将使用下面所示的命令添加另外20G,将大小扩大两倍。
$ sudo qemu-img 调整 /var/lib/libvirt/images/debian11.qcow2 +20G 大小
注意:您需要先删除与虚拟机相关的所有快照,然后才能继续操作。您可以列出与域名关联的快照,如下所示:
$ sudo virsh 快照列表 debian11
假设我们有一个名为mysnapshot的快照。要删除快照,我们将运行以下命令:
$ sudo virsh snapshot-delete --domain debian11 --snapshotname mysnapshot
第四步:启动KVM虚拟机
扩展虚拟机后,继续并启动虚拟机,如图所示。
$ sudo virsh 启动 debian11
要确认您的磁盘大小现已扩展,请运行以下命令:
$ sudo qemu-img 信息 /var/lib/libvirt/images/debian11.qcow2
从输出来看,虚拟磁盘大小现在为40GB ,比原始磁盘大小增加了20G 。
或者,您可以登录虚拟机并使用lsblk 命令检查磁盘大小。
$ lsblk
结论
在本文中,我们演示了如何扩展KVM虚拟机磁盘大小。当您想要创建额外的分区或增加现有磁盘分区的大小时,增加VM磁盘的大小会派上用场。