
btrfs 是否支援部分轉換檔案系統?
我目前處於這樣的狀態:
btrfs fi df .
Data, RAID5: total=9.83TiB, used=7.68TiB
System, RAID1: total=32.00MiB, used=704.00KiB
Metadata, RAID1: total=12.00GiB, used=8.61GiB
GlobalReserve, single: total=512.00MiB, used=0.00B
並且由於raid5模式中發現的bug,我想遷移到raid1。有多種原因導致現在沒有進行完整的轉換。我想將目標模式設定為raid1。因此,任何新數據都將放入 raid1,當有時間時,我可以觸發完全重新平衡(或軟)
那麼這樣的事情可能嗎?
btrfs balance start -dconvert=raid1 -dusage=10 .
答案1
好吧,由於沒有其他人有任何信息,我只是嘗試了一下並在此記錄我的步驟。
btrfs balance start -dconvert=raid1 -dusage=10 .
該指令只是轉換符合過濾器的區塊(使用率=10%)。沒有對區塊進行壓縮(如常規平衡),也沒有將目標 raid 等級設定為從 raid5 到 raid1。所以這是相當無用的,它創建了大塊,其中大部分是空數據並浪費了時間。
下一個方法是使用限制濾波器和軟參數,逐步轉換。
btrfs balance start -dconvert=raid1 -dlimit=500,soft .
這樣檔案系統就一步步轉換了。
筆記:
- 在轉換之前平衡“空塊”。這樣可以節省時間。
- 在此過程中,btrfs 總是會將新資料放入舊 raid-profile 的區塊中。我發現沒有辦法改變這一點。因此,新資料總是會被放入 raid5 區塊中,或建立新的 raid5 區塊來保存資料。一旦整個檔案系統被轉換,這種行為當然就消失了。
- 這完全在線工作:)