Btrfs
BTRFS 在 RAID1 模式下添加了一個新設備,如何刪除它?
我的磁碟空間不足,所以我像往常一樣清理了舊快照。這一次,
df -h /
堅持顯示“沒有可用空間”,同時btrfs fi df /
顯示幾個 GB 的空間,所以我決定執行btrfs balance
.
btrfs balance
由於“空間不足”錯誤而失敗,我搜尋了網路並定向到此部落格文章,該文章建議通過臨時添加一個能夠執行的小型設備(甚至是 USB 隨身碟)來解決此問題btrfs balance
,然後在完成後將其刪除。我將 pendrive 添加到我的 rootfs:
btrfs dev add /dev/sdc1 /
沒有顯示錯誤,現在我有一些可用空間。我跑
btrfs balance
了,當它完成後,我試圖移除 pendrive:sudo btrfs dev del /dev/sdc1 / ERROR: error removing device '/dev/sdc1': unable to go below two devices on raid1
BTRFS 以某種方式決定將 RAID1 配置文件中的驅動器用於元數據和系統數據:
$ sudo btrfs fi usage / Overall: Device size: 864.53GiB Device allocated: 857.05GiB Device unallocated: 7.48GiB Device missing: 0.00B Used: 830.28GiB Free (estimated): 24.93GiB (min: 21.23GiB) Data ratio: 1.00 Metadata ratio: 2.00 Global reserve: 512.00MiB (used: 0.00B) Data,single: Size:828.01GiB, Used:810.56GiB /dev/mapper/masa-root 828.01GiB Data,RAID1: Size:2.02GiB, Used:2.01GiB /dev/mapper/masa-root 2.02GiB /dev/sdc1 2.02GiB Data,DUP: Size:2.00GiB, Used:1.94GiB /dev/sdc1 4.00GiB Metadata,RAID1: Size:2.97GiB, Used:131.61MiB /dev/mapper/masa-root 2.97GiB /dev/sdc1 2.97GiB Metadata,DUP: Size:7.50GiB, Used:5.78GiB /dev/mapper/masa-root 15.01GiB System,RAID1: Size:32.00MiB, Used:128.00KiB /dev/mapper/masa-root 32.00MiB /dev/sdc1 32.00MiB Unallocated: /dev/mapper/masa-root 1.97GiB /dev/sdc1 5.51GiB
如何正確移除此臨時設備?
來自
man btrfs device
:刪除設備
設備移除必須滿足配置文件約束,否則命令會失敗。例如:
$ btrfs device remove /dev/sda /mnt ERROR: error removing device '/dev/sda': unable to go below two devices on raid1
為了刪除設備,您需要在這種情況下轉換配置文件:
$ btrfs balance start -mconvert=dup -dconvert=single /mnt $ btrfs device remove /dev/sda /mnt