Thread (6 messages) 6 messages, 3 authors, 2021-05-22

Re: Btrfs not using all devices in raid1

From: Forza <hidden>
Date: 2021-05-21 22:03:07


---- From: Leszek Dubiel [off-list ref] -- Sent: 2021-05-21 - 23:10 ----
quoted
Raid1 means two copies on different devices. This is fulfilled with the previous 3 drives so the  'soft' keyword is not going to help here. 
That's right.


quoted
You can do a full data balance (-dusage=100) to move some data across to the new disk. There is no need to do a metadata balance in this case, unless you want to convert to raid1c3 to have three copies of metadata. 

This is production server, and I don't want to do full balance, because it will hit performance for users.
I hoped that when data gets written to filesysystem BTRFS will choose drive that has most free space, that is /dev/sdc2.

Is there any way to tell BTRFS to use /dev/sdc2?



quoted
 If you do nothing, the filesystem will eventually balance itself as you add abs delete data. 

If I do nothing then /dev/sd{a,b,d}2 would get almost full, and only 
after /dev/sdc2 would be used?
Btrfs will fill the disk with most unallocated space first.  So eventually they will end up almost equal. 

Not using /dev/sdc2 is bad because:

-- maybe this drive is already failed, but nothing is written to it so I 
have no reports of errors

-- other drives get all the data, so if one of them fails, then I will 
have to take longer time to replace it

I would prefer to have all drives EQUAL in Raid1.

You can run balance with filters to do a little at a time and only use blocks on the other disks. Look at devid and limit https://btrfs.wiki.kernel.org/index.php/Balance_filters



Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help