如何缩小 kvm qcow2 映像的磁盘大小?

如何缩小 kvm qcow2 映像的磁盘大小?

我有一个图像,其虚拟磁盘大小显示为 17G,但磁盘/dev/sda1 只占 4.6 Gb:

#:/var/lib/uvtool/libvirt/images# virt-df -h guest1.qcow 
Filesystem                                Size       Used  Available  Use%
guest1.qcow:/dev/sda1               17G       4.6G        13G   27%
guest1.qcow:/dev/sda15             104M       3.6M       101M    4%

我想将磁盘大小缩小到 5.5Gb,并遵循以下指南:http://www.mischiefblog.com/2014/09/16/resize-shrink-kvm-img-qcow2-virtual-machine-filesystem-disk-image/

也就是说,我登录guestfish并运行resize2fs-size /dev/sda1 5500M。成功后,我看到了以下内容:

#:/var/lib/uvtool/libvirt/images# virt-df -h guest1.qcow  
Filesystem                          Size       Used  Available  Use%
guest1.qcow:/dev/sda1               5.1G       4.5G       684M   87%
guest1.qcow :/dev/sda15             104M       3.6M       101M    4%

然后,在运行之前qemu-image resize,我想启动客户机来检查一切是否正常,但启动后,我登录并看到它/dev/sda1实际上是 17G。关闭客户机并使用virt-df -h guest1.qcowindeed 检查显示磁盘不知何故又自动增长到 17G。

现在,如果我不启动而只是运行,qemu-img resize --shrink guest1.qcow 5.5G它似乎会损坏磁盘,并且系统将无法启动。

此外,奇怪的是,qemu-img info显示了非常奇怪的磁盘大小信息:

#:/var/lib/uvtool/libvirt/images# qemu-img info guest1.qcow 
image: guest1.qcow 
file format: qcow2
virtual size: 18G (19327352832 bytes)
disk size: 7.9G
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: true
    refcount bits: 16
    corrupt: false

7.9Gb 是什么?它从哪里来的?

我做错了什么?任何帮助我都感激不尽。

相关内容