Kubuntu 12.04システムでルートパーティションのスペースが不足し、起動しません。コマンド df -h
は、利用可能な多くのスペースを示しています(37%しか使用されていません):
/dev/sda2 45G 17G 29G 37%
次のページは、balanceコマンドを実行する必要があることを示しています。
$ Sudo btrfs fi balance start -dusage=5 /mount/point
これが最良のアプローチであると私は完全には確信していませんが、私が見つけた唯一のアプローチです。ただし、そのコマンドを実行すると、次のエラーが発生します。
ERROR: error during balancing '/blah/blah/blah' - No space left on device
私は同じエラーを受け取ります:
$ Sudo btrfs fi balance start -dusage=1 /mount/point
適切なソリューションは何ですか?
この状況でbalance
を実行する方法はいくつかあります。
Sudo btrfs fi show
Sudo btrfs fi df /mount/point
Sudo btrfs fi balance start -dusage=10 /mount/point
バランスコマンドが「完了、XXチャンクから0を再配置する必要があった」で終了する場合は、少なくとも1つのチャンクが再配置されるまで、「dusage」パーセンテージパラメータを増やす必要があります。
バランスコマンドが失敗した場合:
ERROR: error during balancing '/blah/blah/blah' - No space left on device
スペースを確保するために、デバイスからファイルを削除する必要がある場合があります。次に、バランスコマンドを再度実行します。
しかし、おかげで Marcのブログ:btrfs-Btrfsファイルシステムの完全な問題の修正 ここに別のオプションがあります:
これを回避する1つのトリックは、btrfsファイルシステムにデバイスを追加することです(USBキーでも可能です)。これによりバランスが開始され、バランスが完了したらbtrfs device deleteを使用してデバイスを削除できます。カーネル3.14は古いカーネルでは解決できないいくつかのバランスの問題を修正できることもリストに記載されているので、カーネルが古い場合は試してみてください。
Sudo apt-btrfs-snapshot delete-older-than 3d 3日より古いスナップショットを削除します。データを移動すると、スナップショットデータが不正確になり、実際のデータをドライブの複数の場所に書き込む必要があります。これにより、古い場所にある古いデータに関連するスナップショットが削除され、それらのセクターが解放されて再び使用できるようになります。 bperfsファイルシステムのデータとエクステントを重複排除するために、duperemoveもお勧めします。
-dusage
パラメータのインクリメントや別のブロックデバイスの追加など、受け入れられた回答とMarcのブログのすべてを試しましたが、すべて失敗しました。一部のファイルを削除してディスクの空き容量を増やした後でも、balance
は完了できませんでした。何らかの理由で、それは常にほぼフルのディスクにデータを移動しているように見えました。結局、私にとってうまくいったことは、デバイス全体にバランスを制限することでした:
btrfs balance start -ddevid=<dev_id> <path>
dev_id
は次のようにして見つけることができます:
btrfs fi show