Btrfs Working On RAID1 Round-Robin Read Balancing
([Linux Storage] 6 Hours Ago
Btrfs RAID1 Round Robin Read Balancing)
- Reference: 0001512682
- News link: https://www.phoronix.com/news/Btrfs-RAID1-Round-Robin-Coming
- Source link:
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. [1]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 [2]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.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git/commit/?h=for-next&id=185fa5c7ac5add0f1a109a22a972ca99780ee49e
[2] https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git/commit/?h=for-next&id=919899ce1ba7a8e8cdde36282d55381eb1830619
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. [1]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 [2]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.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git/commit/?h=for-next&id=185fa5c7ac5add0f1a109a22a972ca99780ee49e
[2] https://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git/commit/?h=for-next&id=919899ce1ba7a8e8cdde36282d55381eb1830619
bezirg