Rebalancing raid1 after adding a device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I've been a btrfs user for quite a number of years now, but it seems I need the wiseness of the btrfs gurus on this one!

I have a 5-hdd btrfs raid1 setup with 4x3T+1x10T drives.
A few days ago, I replaced one of the 3T by a new 10T, running btrfs replace and then resizing the FS to use all the available space of the new device.

The filesystem was 90% full before I expanded it so, as expected, most of the space on the new device wasn't actually allocatable in raid1, as very few available space was available on the 4 other devs.

Of course the solution is to run a balance, but as the filesystem is now quite big, I'd like to avoid running a full rebalance. This would be quite i/o intensive, would be running for several days, and putting and unecessary stress on the drives. This also seems excessive as in theory only some Tb would need to be moved: if I'm correct, only one of two block groups of a sufficient amount of chunks to be moved to the new device so that the sum of the amount of available space on the 4 preexisting devices would at least equal the available space on the new device, ~7Tb instead of moving ~22T. I don't need to have a perfectly balanced FS, I just want all the space to be allocatable.

I tried using the -ddevid option but it only instructs btrfs to work on the block groups allocated on said device, as it happens, it tends to move data between the 4 preexisting devices and doesn't fix my problem. A full balance with -dlimit=100 did no better.

Is there a way to ask the block group allocator to prefer writing to a specific device during a balance? Something like -ddestdevid=N? This would just be a hint to the allocator and the usual constraints would always apply (and prevail over the hint when needed).

Or is there any obvious solution I'm completely missing?

Thanks,

Stéphane.








[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux