对 BTRFS 进行碎片整理以更改压缩级别

对 BTRFS 进行碎片整理以更改压缩级别

我可以:

btrfs filesystem defragment -rvf -czstd ./

但不是:

btrfs filesystem defragment -rvf -czstd:1 ./

我收到错误:

ERROR: unknown compression type zstd:1

有什么方法可以改变我的文件的压缩级别吗?

我已经修改了 fstab 配置文件中的挂载选项:

UUID=7e73aae9-1da1-4ea6-b8a5-20f5c2689f23  /  btrfs  defaults,subvol=@,ssd,autodefrag,noatime,space_cache,commit=15,compress-force=zstd:1  0  0

但它并不影响已经存在的文件。

另外,如何检查文件的压缩级别?

答案1

在撰写本文时,不支持运行具有压缩级别的碎片整理(请参阅:补丁程序存在此问题)。

据称碎片整理将尊重压缩安装选项,但我测试过,发现并不正确,即使有compress-force。也许只有在某些条件下才是正确的。

有什么方法可以改变我的文件的压缩级别吗?

BTRFS 压缩是在范围级别而不是文件级别进行的。因此,使用所有压缩算法都可以对文件进行部分压缩。是的,可以通过在启用挂载压缩的情况下重写范围(或文件)数据来更改范围压缩。或者,使用上述补丁,人们可能能够为碎片整理添加压缩级别(需要重新编译内核)。

另外,如何检查文件的压缩级别?

compsize工具可用于检查一组文件/目录的压缩比,并显示每个使用的压缩算法的比率。

相关内容