Btrfs

如何在 btrfs 文件系統碎片整理中設置非預設 zstd 壓縮級別?

  • March 18, 2019
# btrfs filesystem defragment -r -v -czstd:15 /
ERROR: unknown compression type zstd:15
# btrfs filesystem defragment -r -v -czstd_15 /
ERROR: unknown compression type zstd_15
# btrfs filesystem defragment -r -v -czstd15 /
ERROR: unknown compression type zstd15

btrfs 手冊頁沒有提供有關如何選擇壓縮級別的線索:

-C$$ algo $$

碎片整理時壓縮文件內容。可選參數選擇壓縮算法、zlib(預設)、lzo 或 zstd。目前無法選擇不壓縮。另見範例部分。

如何選擇非預設的 zstd 壓縮級別來重新壓縮現有的 btrfs 文件系統?


注意:快照可能會導致更大的磁碟空間btrfs filesystem defragment消耗

警告:使用 Linux 核心版本 < 3.9 或 ≥ 3.14-rc2 以及 Linux 穩定核心版本 ≥ 3.10.31、≥ 3.12.12 或 ≥ 3.13.4 進行碎片整理將破壞 COW 數據的引用連結(例如文件使用 cp –reflink、快照或去重數據複製)。這可能會導致空間使用量的顯著增加,具體取決於分解的引用連結。

核心 5.1 添加了 ZSTD 級別的支持。我今天使用 /etc/fstab 中的掛載選項 compress=zstd:12 使用 rc1 對其進行了測試。預設級別為 3。需要明確的是:更改僅影響在此 mount 命令之後寫入的文件。一些基準測試結果:https ://lkml.org/lkml/2019/1/28/1930

尚不能(2017 年 12 月 28 日):

問:我可以設置壓縮級別嗎?

A:……,ZSTD 級別的支持計劃。

來源:https ://btrfs.wiki.kernel.org/index.php/Compression

引用自:https://unix.stackexchange.com/questions/412480