Btrfs 將較小的驅動器添加到 RAID1
我有一個帶有 2 個 2Tb 驅動器的 RAID1 btrfs 文件系統,並且我有一個備用的 750 Gb 硬碟,所以我想我會把它添加到 RAID 中,這樣我就可以使用一些額外的儲存空間。
好吧,我將它添加到卷中,可用的可用空間量如預期的那樣增加了新添加的硬碟量的一半。我做了一個
btrfs balance /hdd
,現在的輸出btrfs filesystem show
是:Label: none uuid: e100a7bd-1c03-4424-9ab2-4aa9fa679b8c Total devices 3 FS bytes used 496.82GiB devid 1 size 1.82TiB used 500.03GiB path /dev/sda1 devid 2 size 1.82TiB used 500.03GiB path /dev/sdd1 devid 3 size 698.64GiB used 0.00B path /dev/sdc
相關行來自
df -h
:Filesystem Size Used Avail Use% Mounted on /dev/sda1 2,2T 498G 1,4T 27% /hdd
重新平衡後新驅動器為空是否正常?我需要做其他事情嗎?難道我做錯了什麼?
如果相關,我正在使用 Netrunner Rolling。
更新:所以我的 2 Tb 驅動器中的一個死了,所以我在文件系統中添加了一個 250 Gb 和一個 1 Tb 驅動器,並進行了平衡。這是目前的情況:
Label: 'dades' uuid: e100a7bd-1c03-4424-9ab2-4aa9fa679b8c Total devices 4 FS bytes used 589.10GiB devid 1 size 1.82TiB used 592.03GiB path /dev/sdb1 devid 3 size 698.64GiB used 180.00GiB path /dev/sdd devid 4 size 232.89GiB used 0.00B path /dev/sda devid 5 size 931.51GiB used 412.03GiB path /dev/sde
df -h
Filesystem Size Used Avail Use% Mounted on /dev/sdb1 1,9T 590G 755G 44% /hdd
這個問題已有三年之久,但似乎從未得到回答。我在解決自己的類似問題時偶然發現了這個問題。如果它有正確的答案,那對我當時會很有用。
在您的情況下,這似乎是設計使然。您遇到的“問題”(在驅動器故障和更換之前和之後)是陣列中的另一個現有磁碟比新添加的磁碟具有更多可用空間
$$ s $$. 所以 Btrfs 將首先寫入它們,即使有關配置的所有內容都按您的預期工作。一旦陣列到達新設備具有更多可用空間的點,那麼它將被寫入其中一對冗餘塊。(下一個最大的可用空間用於第二個副本。) 您可以強制對整個陣列進行完全重新平衡,強制新設備接收塊,通過
sudo btrfs balance start -dconvert=raid1 -mconvert=raid1 /mountpoint
不要擔心將您的raid1“轉換”為raid1。至少根據我的經驗(但似乎在任何地方都沒有正式記錄),它只會重新做所有事情,包括對所有磁碟進行完整的 raid1 重新平衡,大致與它們的大小成正比。
儘管您現在肯定已經弄清楚了這一切,但對於在搜尋中找到這個問題的人來說,在這種特殊情況下,我建議您不要做任何事情。一旦事情開始填滿,就應該使用新設備。不幸的是,“應該”和“將”並不總是與 Btrfs 保持一致。如果這沒有發生,請嘗試上述命令。如果這不起作用,請嘗試此答案。