web-dev-qa-db-ja.com

btrfs:割り当てられた巨大なメタデータ

Ext4ルートFSをbtrfsに変換した256GB SSDディスクがあります。ext4バックアップサブボリュームを消去し、圧縮を有効にして、再帰的にデフラグしてすべてのファイルで有効にしました。

btrfs fi df /は私を心配する出力を持っています:

Data: total=148.00GB, used=106.11GB
System: total=32.00MB, used=16.00KB
Metadata: total=65.00GB, used=2.04GB

出力を正しく理解していれば、65GB(ディスクの1/4!)はメタデータ用に予約されており、ファイルの保存には使用できません。これが正しければ、それは私のディスクスペースの大きな浪費になります。私は正しく理解していますか?ディスクのメタデータが割り当てられた部分のサイズを変更できますか?

15
Gnurou

まず、カーネルとBTRFSユーザースペースが最新であることを確認します。

BTRFS FAQ によると、メタデータのブロックサイズのサイズを変更することはできません。ただし、btrfs balance start -m <mount point>を実行すると、ディスク全体にメタデータが再割り当てされます および、副作用として、割り当てられていないスペースを解放する可能性があります。

それがうまくいかない場合は、データをバックアップしてファイルシステムを再作成する必要があるかもしれません。 (詳細については、 this を参照してください。)

16
hololeap

これにより、メタデータのサイズが小さくなります。

Sudo btrfs balance start -v -musage=0 /path
1
Benjamin