Filesystems
btrfs 錯誤:平衡期間出錯 - 設備上沒有剩餘空間
我的 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
如果 balance 命令以“Done, had to relocate 0 out of XX chunks”結尾,則需要增加“dusage”百分比參數,直到至少有一個塊被重新定位。
如果 balance 命令失敗並顯示:
ERROR: error during balancing '/blah/blah/blah' - No space left on device
您實際上可能需要從設備中刪除文件以騰出一些空間。然後再次執行 balance 命令。
但是,感謝Marc 的部落格:btrfs - Fixing Btrfs Filesystem Full Problems這裡是另一種選擇:
解決此問題的一個技巧是將設備(甚至 USB 密鑰也可以)添加到您的 btrfs 文件系統。這應該允許平衡開始,然後您可以在平衡完成時使用 btrfs device delete 刪除設備。列表中還提到核心 3.14 可以修復一些舊核心無法解決的平衡問題,所以如果您的核心是舊的,請嘗試一下。