Для Btrfs представлены патчи с балансировкой чтения RAID1 по алгоритму Round-robin
В репозиторий, развивающий изменения в Btrfs для будущих веток ядра Linux, принят набор патчей с реализацией политики цикличной балансировки операций чтения в RAID1, использующей алгоритм «Round-robin». Для включения распределения операций чтения по круговому циклу в »/sys/fs/btrfs/‹uuid›/read_policy» необходимо выставить значение «round-robin:[min_contiguous_read]», в котором необязательный параметр «min_contiguous_read» определяет минимальный размер запросов, подлежащих балансировке между зеркалами (по умолчанию значение 256 KiB).
Изначально балансировка нагрузки RAID1 в Btrfs производилась на основании PID процесса, который запросил ввод/вывод. Подобная схема неплохо работала в системах где нагрузку создаёт множество разных процессов, однако при однозадачной нагрузке не позволяла добиться максимальной производительности. Например, в проведённых тестах включение политики «round-robin» снизило время выполнения процесса дефрагментации с 18 до 8.8 секунд.
Дополнительно добавлено изменение, реализующее параметр «devid: ‹devid›» в »/sys/fs/btrfs//read_policy». Через данный параметр можно определить диск, с которого всегда будут производиться операции чтения.
Источник: http://www.opennet.ru/opennews/art.shtml? num=62407
© OpenNet