Btrfs
有沒有辦法監控 btrfs 重新平衡的進度?
我正在替換鏡像 btrfs 中的故障硬碟。
btrfs device delete missing /[mountpoint]
需要很長時間,所以我認為它實際上是在將數據重新平衡到替換驅動器。有沒有辦法監控這種操作的進度?
我不一定希望有一個漂亮的 GUI,甚至是 % 計數器;如果有必要,我願意寫幾行 shell 腳本,但我什至不知道從哪裡開始尋找相關數據。
btrfs filesystem show
例如只是掛起,大概是等待平衡操作完成,然後才會顯示有關鏡像 fs 的任何資訊。
btrfs balance status /mountpoint
man 8 btrfs
[filesystem] balance status [-v] <path> Show status of running or paused balance. Options -v be verbose
sudo btrfs fi show
這將輸出如下內容:
Label: none uuid: 2c97e7cd-06d4-4df0-b1bc-651397edf74c Total devices 16 FS bytes used 5.36TiB devid 1 size 931.51GiB used 770.48GiB path /dev/sdc devid 2 size 931.51GiB used 770.48GiB path /dev/sdg devid 3 size 931.51GiB used 770.48GiB path /dev/sdj devid 4 size 0.00 used 10.02GiB path devid 5 size 931.51GiB used 770.48GiB path /dev/sdh devid 6 size 931.51GiB used 770.48GiB path /dev/sdi devid 7 size 931.51GiB used 770.48GiB path /dev/sdd devid 8 size 931.51GiB used 770.48GiB path /dev/sdo devid 9 size 465.76GiB used 384.31GiB path /dev/sdn devid 10 size 931.51GiB used 770.48GiB path /dev/sdp devid 11 size 931.51GiB used 770.48GiB path /dev/sdr devid 12 size 931.51GiB used 770.48GiB path /dev/sdm devid 13 size 931.51GiB used 769.48GiB path /dev/sdq devid 14 size 931.51GiB used 770.48GiB path /dev/sdl devid 15 size 931.51GiB used 770.48GiB path /dev/sde devid 16 size 3.64TiB used 587.16GiB path /dev/sdf Btrfs v3.12
如果您注意到設備 id #4 看起來與其他設備有點不同。當您執行“btrfs device delete missing /mntpoint”時,它將開始重新生成釋放該“失去”驅動器所需的 raid 元/數據。
如果你做類似的事情
"watch -n 10 sudo btrfs fi show"
然後您可以看到有問題的“失去”設備上的空間逐漸變小,直到操作完成並將其從 fi 中刪除。