virsh 0.10 我正在使用 qcow2 覆盖和备份文件,也是 qcow2。覆盖增长得太快了,24 小时内超过 20 GB,尽管我没有向磁盘写入太多内容。这是正常的吗?是什么导致它们增长?我假设那里发生了任何写入,但它的增长似乎比在相同情况下单个图像的增长速度要快得多。
答案1
值得注意的是,现代文件系统将写入分散到整个设备上,因此您会发现覆盖层的增长与写入量有关,而不是与磁盘上随时存在的数据量有关。
因此,写入一个 100M 的文件、删除它并再次写入实际上会导致覆盖增加 200M。
值得检查是否有任何东西在写入和删除内容。当前的嫌疑犯可能是任何使用 leveldb 数据库的人。
答案2
qcow 将增长到指定的大小,并且仅当对以前未触及的块进行新的写入时才会增长。如果您的客户端正在快速删除和写入文件,它将很快填满该空间,而客户端仍会显示大量未使用的空间,这仅仅是因为您还删除了文件。
sdelete
您可以对 qcow2 文件进行重复数据删除,只需在 Windows 或Linux 上使用零填充即可dd if=/dev/zero of=/some/path/to/file
,然后删除零文件并qemu-img convert
在该文件上运行 -qemu-img
将创建一个没有零填充块的新文件。