It’s been a while since there has been anything new to report on the Btrfs file-system’s built-in RAID functionality but that is changing with RAID1 round-robin read balancing.
Coming to the Btrfs kernel driver by way of Oracle engineer Anand Jain is an optional round robin read balancing mode for Btrfs’ native RAID1 operation. This patch adds the RAID1 round-robin read balancing mode:
“This feature balances I/O across the striped devices when reading from RAID1 blocks.
echo round-robin:[min_contiguous_read] > /sys/fs/btrfs/
/read_policy The min_contiguous_read parameter defines the minimum read size before switching to the next mirrored device. This setting is optional, with a default value of 256 KiB.”
This means of balancing RAID1 reads across all striped devices in a round robin mode though is initially treated as an experimental option. Thus CONFIG_BTRFS_EXPERIMENTAL is needed to be set for now if wanting to switch over to the round-robin mode.
A follow-on patch also allows setting the RAID1 preferred read device but primarily for testing purposes.
These Btrfs RAID1 round-robin read patches are currently in David Sterba’s “for-next” branch so we could see this support come for the upcoming Linux 6.14 merge window.