星期日, 8月 16, 2015

btrfs - no space left on device

最近系統更新的時候,一直出現「no space left on device」。
但是執行 df -h 檢查空間,明明空間沒有滿,但是確實無法新增檔案,連系統桌面都無法登入。

GOOGLE找了一下答案,才知道原來是因為使用了btrfs檔案格式的關係。
(我也不知道為什麼我這次會想嘗試這個檔案格式)
檔案格式各有其優缺點,這邊也不是要針對這部份去做比較去跟討論。

接著要來著手解決一下這個問題。
如果你跟我一樣使用btrfs格式,那麼請不要相信df -h。
那麼要如何察看呢?
#btrfs filesystem show
 那麼那些消失的空間哪去了呢?
#snapper list
那麼要如何刪除這些snapper檔案呢? (#表示snapper list編號,請從最舊的開始)
snapper delete root #
或是你可以一口氣刪除
# for i in `seq 1 3656`;do snapper delete $i;done
接著檢查一下snapper 設定,/etc/snapper /configs/root
有兩個比較重要的地方
NUMBER_LIMIT="10"
NUMBER_LIMIT_IMPORTANT="10"
消失的空間回來了。

Referenece
 The joys of btrfs and OpenSuSE – or “no space left on device”

沒有留言: