我很难理解qcow2图像的磁盘大小。
我有一个CentOS 6盒子正在运行:
# virsh version
Compiled against library: libvirt 0.10.2
Using library: libvirt 0.10.2
Using API: QEMU 0.10.2
Running hypervisor: QEMU 0.12.1
我在那里运行了两个客户机,在客户机上没有太多活动,我注意到其中一个客户机上的备份(我使用cp手动完成文件复制,没有基于qcow2的快照)增长了4倍。其他来宾的行为似乎正常,备份大小增长正常。
当我登录到那个客人时我看到了
# df -h
Filesystem Size Used Avail Use% Mounted on
udev 2.0G 0 2.0G 0% /dev
tmpfs 396M 5.5M 391M 2% /run
/dev/mapper/debian9--vg-root 188G 2.7G 176G 2% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/vda1 236M 62M 162M 28% /boot
tmpfs 89M 0 89M 0% /run/user/0
但是qcow2文件已经从5GB增长到
# du -h /backups/vm01/20180111/vm01.qcow2
19G /backups/vm01/20180111/vm01.qcow2
我找到the size of qcow2 disk file grows rapidly并尝试“qemu img convert”备份文件,但没有解决问题。当我执行dd if=/dev/zero of=vm01.qcow2时,它一直运行,直到我用完该卷组上的空间(超过19G)。我原以为qcow2文件会随着内部文件系统的大小而或多或少地增长。有什么暗示我可能做错了什么?
当做,
帕维尔
最佳答案
除非为主机文件系统、QEMU和来宾操作系统启用了TRIM/DISCARD,否则qcow2文件的大小永远不会缩小。所以最有可能的解释是,来宾操作系统中的某个东西在很短的时间内创建了一个非常大的文件,然后再次将其删除。qcow2图像本来可以容纳这个文件,但是一旦文件被删除,qcow2图像就不会再次缩小,而不提供修剪/丢弃功能。