我看到提到 zstd在文档中(4.14及更高版本),所以我想尝试一下。
从lubuntu 17.10开始,我将内核升级到4.15:
# uname -sr
Linux 4.15.0-041500-generic
然而, man 和 btrfs 命令都不承认我现在运行的内核应该能够使用这种压缩算法:
# btrfs filesystem defrag -czstd -rv .*
ERROR: unknown compression type zstd
我“忘记”升级了什么?
答案1
您还需要更新btrfs-progs
到支持 zstd 的版本。 Zstd 支持最初是在 4.13 版本中添加的。
答案2
目前实际内核支持以下算法:
- 兹库
- 左左
- 兹标准
zstd 是最新的。如果您使用较旧的内核,请尝试较旧的算法。
要压缩以前未压缩的数据,您可以通过控制台执行此操作,例如,如下所示:
还有较新的内核:
sudo btrfs filesystem defragment -r -v -czstd /
对于较旧和较新的内核:
sudo btrfs filesystem defragment -r -v -czlib /
sudo btrfs filesystem defragment -r -v -clzo /
新文件的压缩可以在 fstab 上配置 pe:
UUID=yourxxxUUIDxxx / btrfs defaults, compress, subvol=@ 0 0
UUID=yourxxxUUIDxxx /home btrfs defaults, compress, subvol=@home, 0
您可以将上面的“压缩”替换为以下其中一项:
compress=zlib
compress=lzo
compress=zstd
compress-force=zlib
compress-force=lzo
compress-force=zstd
您可以将“1”替换为数字“1”到“15”: compress=zstd:1 compress-force=zstd:1