Btrfs ファイル システムには、通常のデータ、メタデータに割り当てられるチャンクがあります。ファイル システム情報を格納するために割り当てられるチャンクもあり、物理ディスク上の他のチャンクの場所についても説明します。これらのチャンクはデータのみを格納できます。非常にまれに、チャンク タイプがいっぱいになり、スペースが不足し始めることがあります。ただし、他のチャンクにはまだ使用可能なスペースがある場合があります (多くの場合)。したがって、その上にいくらかのスペースを解放する必要があります。
Btrfs FileSystem で利用できるバランシング機能があります。バランス操作は、他のチャンクのスペースを効果的に解放して、割り当てに使用できるようにします。
1. 以下のコマンドは、ファイルシステムに割り当てられた容量を表示します:
# btrfs fi show
2. 以下のコマンドは、ファイルの使用状況を示しています:
# btrfs filesystem du /btr
3. データとメタデータによる完全なファイルシステムの使用 (バランスの前):
# btrfs filesystem usage /btr
以下のコマンドはバランスに使用され、このコマンドはフィルターを要求せずに完全なバランスを実行します。この操作は非常に集中的で、非常に時間がかかる可能性があります。バランス フィルターを使用して、バランス データを絞り込むことをお勧めします。
[フィルターなし]
# btrfs filesystem balance /btr
[フィルターあり(デュサージュ、ムサージュ使用)]
# btrfs filesystem balance start -dusage=5 /btr
-d の間にスペースを入れないでください。 と使い方 .このコマンドは、空または空に近いデータ チャンク (この例では最大 5% が使用されている) 内のデータの再配置を試み、スペースを再利用してメタデータに再割り当てできるようにします。
バランス コマンドが「完了、XX 個のチャンクのうち 0 個を再配置する必要がありました」で終わる場合 「、その後、「投与量」を増やす必要があります 少なくとも 1 つのチャンクが再配置されるまで、パーセンテージ パラメータ。フィルターを使用しない場合、データとメタデータのバランスがとれます。
スクリプトを使用して btrfs ファイルシステムのバランスを取るもう 1 つの方法
for i in 0 5 10 15 20 25 30 40 50 60 70 80 90 100 do echo "${0}: Running with ${i}%" sudo btrfs balance start -dusage=$i -musage=$i /btr/ done
以下のコマンドによる残高確認後:
# btrfs filesystem usage /btr
「btrfs filesystem du」と「btrfs filesystem usage」に応じて、-dusage と -musage の値を決定します。