Создаю массив RAID10 из 6 дисков. При создании в ближайшем макете, например
mdadm --create / dev / md2 --chunk = 64 --level = 10 --raid-devices = 6 --layout = n2 / dev / sda1 ...
Проверка размера полосы по сообщению системы:
кошка / система / устройства / виртуальный / блок / md2 / очередь / оптимальный_io_size
Результат - 196608, как и ожидалось, например. 3 диска с данными (50% от 6 в RAID10) x 64 КБ блока = 192 КБ полосы.
Теперь при создании того же массива с --layout=f2
вариант optimal_io_size
отчеты 393216, например вдвое больше.
Сейчас, согласно Наил Браун (автор mdadm raid10),
«Дальний» макет размещает все данные в raid0-подобном расположении на первой половине всех дисков, а затем вторую копию в аналогичной компоновке на второй половине всех дисков - следя за тем, чтобы все копии блока были включены. разные диски.
Ожидается, что это даст производительность чтения, аналогичную raid0 для всего количества дисков, но производительность записи будет значительно хуже, поскольку будет больше поисков головок дисков.
Таким образом, похоже, что ОС предлагает мне лучше использовать размер полосы, подобный RAID0 (для всех дисков в массиве), а не «традиционный» размер полосы RAID10 (на половине дисков в массиве). Это имеет потенциально серьезные последствия для выравнивания LVM и файловой системы, настройки полосы / шага и т. Д. Однако я никогда не встречал предложений рассматривать MDADM RAID10 в удаленном режиме как RAID0.
Вопрос: Мне что-то здесь не хватает, или я правильно трактую RAID10, f2 как RAID0 при выравнивании / настройке всего, что лежит поверх этого RAID?