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