на самом деле я думаю, что Википедия объясняет это лучше, чем фактические документы. Вот текст из статьи.
Программный RAID-драйвер ядра Linux (называемый md для «нескольких устройств») можно использовать для создания классического массива RAID 1 + 0, но также (начиная с версии 2.6.9) в качестве одного уровня [4] с некоторыми интересными расширениями [ 5]. Стандартная «ближняя» схема, в которой каждый фрагмент повторяется n раз в массиве k-way stripe, эквивалентна стандартной схеме RAID-10, но не требует, чтобы n делило k. Например, расположение n2 на 2, 3 и 4 дисках будет выглядеть так:
2 drives 3 drives 4 drives
-------- ---------- --------------
A1 A1 A1 A1 A2 A1 A1 A2 A2
A2 A2 A2 A3 A3 A3 A3 A4 A4
A3 A3 A4 A4 A5 A5 A5 A6 A6
A4 A4 A5 A6 A6 A7 A7 A8 A8
.. .. .. .. .. .. .. .. ..
Пример с 4 накопителями идентичен стандартному массиву RAID-1 + 0, а пример с 3 накопителями - программная реализация RAID-1E. Пример с двумя дисками эквивалентен RAID 1. Драйвер также поддерживает «дальний» макет, где все диски разделены на f разделов. Все фрагменты повторяются в каждом разделе, но смещены на одно устройство. Например, схемы f2 на массивах с двумя и тремя дисками выглядят так:
2 drives 3 drives
-------- --------------
A1 A2 A1 A2 A3
A3 A4 A4 A5 A6
A5 A6 A7 A8 A9
.. .. .. .. ..
A2 A1 A3 A1 A2
A4 A3 A6 A4 A5
A6 A5 A9 A7 A8
.. .. .. .. ..
Это разработано для чередования производительности зеркального массива; последовательное чтение может быть чередованным, как в RAID-0, случайное чтение несколько быстрее (возможно, 10-20% из-за использования более быстрых внешних секторов дисков и меньшего среднего времени поиска), а последовательные и случайные записи примерно одинаковы по производительности. на другие зеркальные рейды. Компоновка работает хорошо для систем, где чтение происходит чаще, чем запись, что является очень распространенной ситуацией во многих системах. Первая 1 / f каждого диска - это стандартный массив RAID-0. Таким образом, вы можете получить производительность чередования только на двух дисках. Параметры ближнего и дальнего действия могут использоваться одновременно. Куски в каждой секции смещены на n устройств. Например, в раскладке n2 f2 хранится 2 × 2 = 4 копии каждого сектора, поэтому требуется как минимум 4 диска:
A1 A1 A2 A2 A1 A1 A2 A2 A3
A3 A3 A4 A4 A3 A4 A4 A5 A5
A5 A5 A6 A6 A6 A6 A7 A7 A8
A7 A7 A8 A8 A8 A9 A9 A10 A10
.. .. .. .. .. .. .. .. ..
A2 A2 A1 A1 A2 A3 A1 A1 A2
A4 A4 A3 A3 A5 A5 A3 A4 A4
A6 A6 A5 A5 A7 A8 A6 A6 A7
A8 A8 A7 A7 A10 A10 A8 A9 A9
.. .. .. .. .. .. .. .. ..
Начиная с Linux 2.6.18, драйвер также поддерживает макет смещения, где каждая полоса повторяется o раз. Например, схемы o2 на массивах с двумя и тремя дисками расположены следующим образом:
2 drives 3 drives
-------- --------
A1 A2 A1 A2 A3
A2 A1 A3 A1 A2
A3 A4 A4 A5 A6
A4 A3 A6 A4 A5
A5 A6 A7 A8 A9
A6 A5 A9 A7 A8
.. .. .. .. ..
Примечание: k - это количество дисков, n #, f # и o # - параметры в опции mdadm --layout. Linux также может создавать другие стандартные конфигурации RAID, используя драйвер md (0, 1, 4, 5, 6).
Это интересно и хорошо объяснено. Однако обычный RAID1 также имеет функцию, по крайней мере, в программном RAID-массиве Linux, чтобы иметь возможность поддерживать несколько считывателей параллельно с очень хорошей производительностью:
Похоже, RAID10 в своей ближней компоновке больше подходит для такого поведения (ускоряет не однопоточный ввод-вывод, такой как RAID0, а многопоточный ввод-вывод). n2f2 с 4 дисками, похожими на RAID1 с 4 дисками.
Компоновка n2 с четырьмя дисками будет выполнять обе задачи: удвоить производительность чтения для одного потока и увеличить производительность чтения для двух потоков в четыре раза (если планировщик Linux md RAID10 хорошо реализован, один поток должен читать пару, а другой - другая пара).
Все зависит от того, что вам нужно! Я еще не делал тесты.
источник