# 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
onsnapshotsにより、ディスク領域の消費量が大幅に増える可能性があります :
警告: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です。明確にするために、この変更は、このマウントコマンドの後に書き込まれたファイルにのみ影響します。いくつかのベンチマーク結果: https://lkml.org/lkml/2019/1/28/19
まだ(2017年12月28日)可能ではありません。
Q:圧縮レベルを設定できますか?
A:…、ZSTDレベルのサポートが計画されています。
試してください:
$> Sudoマウント-o remount、compress = zlib:9、compress = zstd /
そのコマンドの後に 'findmnt'と表示されます 'compress = zstd:9'マウントオプション:)