【问题标题】:remove qcow2 image file's holes删除 qcow2 图像文件的孔
【发布时间】:2023-03-07 14:15:01
【问题描述】:

我使用一个名为 virt-sparsify 的工具来释放 qcow2 映像文件占用的磁盘空间。

它起作用了,文件变成了一个稀疏文件。

root@ubuntu:/test# ls -lsh test.qcow2

8.7G -rw-r--r-- 1 root root 15G Jan 19 11:05 test.qcow2

如上所示,为文件分配的磁盘大小小于其实际大小。这意味着文件中有“漏洞”。现在我想去掉里面的这些洞。有谁知道如何实现这个目的?

【问题讨论】:

    标签: qemu hole-punching


    【解决方案1】:

    你不能真正“带走”稀疏标志。 工具试图通过保持标志活着来提供帮助,例如复制时cp。

    您可以通过

    轻松获得该文件的非稀疏版本
    cp --sparse=never test.qcow2 test-nosparse.qcow2
    

    与将部分归零的文件设为稀疏文件的方法相同

    cp --sparse=always file.qcow2 file-sparse.qcow2
    

    参见man cp中的“稀疏”

    【讨论】:

    • 感谢您的回答。我同意你的看法。稀疏文件具有节省磁盘空间的优点。但是在传输稀疏文件时我们需要小心。因为有些工具不支持稀疏文件,会把它转换成普通文件,比如scp。我怀疑在不同文件系统之间传输稀疏文件会发生什么。
    猜你喜欢
    • 1970-01-01
    • 2021-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多