How does btrfs RAID work in degraded mode?
Solution 1
It looks like you added a third device and so the original second is still missing. I guess you need to remove the missing device before adding the new one. The brtfs mailing list might also be a better place to ask this question.
Solution 2
In this situation, you need to do two things. First, you need to indicate to btrfs that the missing device is permanently gone: btrfs dev delete missing /mnt
(missing
is a keyword indicating any missing devices). Second, you need to rebalance to ensure that the data is properly replicated: btrfs fi balance /mnt
.
Related videos on Youtube
David Guo
Updated on September 18, 2022Comments
-
David Guo over 1 year
My idea was that (using loopback devices) it works like this
- Create the raid array
sudo mkfs.btrfs -m raid1 -d raid1 /dev/loop1 /dev/loop2
- You mount them
sudo mount /dev/loop1 /mnt
and mark themtouch goodcondition
- You unmount and simulate disk failure (remove disk or delete loopback device
loop2
in my case) - You mount degraded
-o degraded
and mark againtouch degraded
- You add the bad disk again
sudo btrfs dev add /dev/loop2
- You rebalance
sudo btrfs fi ba /mnt
And Raid 1 should work again. But that's not the case.
sudo btrfs fi show
:Total devices 3 FS bytes used 28.00KB devid 3 size 4.00GB used 264.00MB path /dev/loop1 devid 2 size 4.00GB used 272.00MB path /dev/loop2 *** Some devices missing
The file
degraded
lives onloop1
but not onloop2
whenloop2
is mounted in degraded mode. Why is that? - Create the raid array
-
David Guo almost 13 yearsI think asking how to restore a degraded RAID is not too specific. It' nice to know how it's created but also to know how to handle it is nice :)
-
Nicholas Knight almost 13 years@turbo: It's just that btrfs is still new and not yet widely used, so the knowledge is still concentrated in the mailing list participants, few of whom are likely to be around here to answer your question. Your best bet is probably to work out the answer there, then come back here and post a detailed answer. Rake in rep points while helping to diffuse btrfs knowledge to the world. :)