Как стать автором
Обновить

Конвертация RAID 10 из 4-х дисков в RAID 6 из 8-ми дисков на серверах HP Proliant

Время на прочтение 3 мин
Количество просмотров 15K
Всего голосов 17: ↑12 и ↓5 +7
Комментарии 23

Комментарии 23

Потому что он значительно быстрее для 8-ми дисков. Этот факт проверен и протестирован мной лично.

Убедили.
Вопрос по статье — почему не использовали ЛВМ? Только для статьи или так исторически сложилось?..
А вот меня как то не убедили — как десятый рейд может медленнее рейда с вычислением четности!?
Возьмем для примера файл в 1 гигабайт
RAID 10 — данные пишутся 1 гигабайт целиком на 2 диска (200%)
RAID 6 ( не забываем что у HP/LSI вроде как «страйп рейды») — пишутся 100% данных на (N-дисков минус 2) + четность на (N-дисков минус 2). итого физически записывается 100%+четность и все это размазанное по всем дискам.
На современных «числодробилках», которые стоят в контроллерах, подсчет контрольных сумм часто быстрее скорости «физической» записи.
Подумайте о количестве операций записи на диск на одну логическую операцию записи — 10 рэйд сделает это параллельно на 2 диска именно поэтому контроллеру в простейшем виде не нужна батарейка с кэшем. 6 рейд на одну операцию записи считает избыточность и пишет ее на два диска помимо записи данных
Возьмем 8 дисков
RAID 10, запись 1 гигабайта данных приведет к записи 1 гигабайта на один диск и 1 гигабайта на второй диск (независимо от количества дисков в RAID10 данные будут «падать» на ОДНУ ПАРУ дисков)
RAID 6 — запись 1 гигабайта данных приведет к записи на 6 дисков по 1/6 части данных + на два диска контрольные суммы. Или в продвинутых RAID 6 все размажется по всем 8-ми дискам равномерно, а-ля Intel Matrix Raid etc

Еще раз повторю — XOR-«движки» на контроллерах уровня HP P4xx способны считать четности на порядок быстрее физической записи — скорее даже способны считать со скоростью попадания данных в кэш контроллера.

Как вы думаете — записать 2 гигабайта на ДВА диска быстрее чем 1 гигабайт на 8 или наоборот?
Почему это на одну пару? 0 — страйпинг
При чем тут страйпинг?
RAID 10 — это не зеркало из страйпов, это страйп из зеркальных пар. Данные хранятся в двух экземплярах, а значит любой минимальный блок данных лежит на паре дисков и все. Конечно не исключены ситуации что при недостатке свободных блоков на одной паре — часть файла будет расположена на другой паре, но в реальности это не частое явление.
www.wmarow.com/strcalc/strcalc.html
Десятый рейд — зеркало нулевого. Данные пишутся страйпами на зеркальные пары дисков.
Нет, RAID10 это страйп из зеркальных пар (то есть несколько RAID1 пар объединяются последовательно в RAID0, а не наоборот). То, о чем вы говорите — это RAID 0+1. Я не представляю людей, которые в здравом уме использовали бы ЭТО на сервере.
Там обычным английским языком написано
RAID 10 is the result of forming a RAID 0 array from two or more RAID 1 arrays

Создание последовательного RAID0 из двух и более RAID1 массивов.
У меня складывается впечатление что мы говорим об одном и том же, но не понимаем друг друга. Давайте сначала —
Создание последовательного RAID0 из двух и более RAID1 массивов.


Верхний уровень это рейд 0. Рейд 0 это страйпинг. Данные пишутся блоками на все диски массива.
Нижележащий уровень этой структуры это пары рэйд 1. Соответсвенно страйп зеркалируется при записи.

Что вы понимается под словосочитанием
страйп из зеркальных пар
для меня загадка
У меня складывается ощущение, что вы не понимаете различия между RAID 10 и RAID 0+1.
На пальцах объясняю, что такое RAID10.
1. Берем 4 диска.
2. Попарно делаем два RAID1 (зеркало) массива из каждой пары.
3. Объединяем два RAID1 массива в ПОСЛЕДОВАТЕЛЬНЫЙ массив RAID0, пусть даже там страйпы чередуются между двумя raid1, но страйп не имеет отношения к реальному блоку на устройстве.

RAID10 = RAID0( RAID11( HDD1=HDD2 ) + RAID12( HDD3=HDD4 ) )
Я вам о том же самом говорю. Правда я не понимаю что значит последовательный массив рэйд 0.
Мы ушли от сути — рэйд 6 НИКОГДА не будет быстрее рэйд 10
Тесты же показывают обратное.
Вот они habrahabr.ru/post/217967/?reply_to=7459941#comment_7459343.
Один минус шестерки это ухудшение чтения при ребилде. На запись на ребилде отличная.
К сожалению у меня в данный момент нет свободного железа чтоб провести подобные тесты.

P.S> на самом деле при любых уровнях быстрее те массивы, в которых больше дисков. И большая параллельность операций по дискам.

P.P.S> на практике пресловутое чередование в RAID0 мало используется именно исходя из возможности простого расширения массивов — легко приделать к RAID10 из 4-х дисков еще один-два RAID1 и расширить место, вместо переразмазывания (если бы было реальное чередование) всех страйпов с 4-х дисков на 8.
Посмотрите мои результаты тестирования.
Если Вы им не верите, то вот официальные от HP: тестирование рейдов в HP
Начинать смотреть с 10й страницы
Random write performance
RAID 10 лучше 6-го почти в 2 раза.
Очевидно, что RAID-6 сильно хуже на записи. Что имеет ввиду автор в утверждении «RAID-6 быстрее» я так и не понял.
Sequential write performance у RAID6 почти в 2 раза лучше.
По остальным показателям кроме Random Write RAID6 тоже выигрывает.
А зачем их юзать? Система у нас стабильная, разделы менять не планируется, новых дисков добавлять тоже не будем — просто тупо места нет физического. А лишнюю прослойку между файловой системой и ядром нам не надо.
На mysql бекендах мы и не планировали расширять место, просто тесты показали что реально лучше докупить еще 4 диска и переконвертировать все это дело, а не делать еще один рейд 10 из 4х дисков. Можно отметить выявленный в процессе тестирования интересный факт: RAID 10 из 4х дисков ровно в два раза медленнее RAID 10 из 8ми дисков. Но и он медленнее RAID 6 из 8 дисков.
Результаты тестирования
Скорость записи
RAID Write M/sec
RAID10 469
RAID6 661
RAID6 после перехода с RAID 10 из 4х дисков на RAID 6 из 8ми дисков 682
RAID6 после перехода с RAID 10 из 4х дисков на RAID 6 из 8ми дисков без одного диска(вынули) 509
RAID6 после перехода с RAID 10 из 4х дисков на RAID 6 из 8ми дисков в состоянии ребилда после возвращения на место извлеченного диска. 534

Скорость чтения
RAID Read M/sec
RAID10 1153
RAID6 1251
RAID6 после перехода с RAID 10 из 4х дисков на RAID 6 из 8ми дисков 1268
RAID6 после перехода с RAID 10 из 4х дисков на RAID 6 из 8ми дисков без одного диска(вынули) 943
RAID6 после перехода с RAID 10 из 4х дисков на RAID 6 из 8ми дисков в состоянии ребилда после возвращения на место извлеченного диска. 190

Время прохождения теста
RAID Time M/sec
RAID10 53
RAID6 41
RAID6 после перехода с RAID 10 из 4х дисков на RAID 6 из 8ми дисков 41
RAID6 после перехода с RAID 10 из 4х дисков на RAID 6 из 8ми дисков без одного диска(вынули) 52
RAID6 после перехода с RAID 10 из 4х дисков на RAID 6 из 8ми дисков в состоянии ребилда после возвращения на место извлеченного диска. 116

Здесь оставлю тесты RAID6 и RAID10 на 8ми дисках
Не совсем ясен тип нагрузки, последовательное запись чтение файла?
Потому что он значительно быстрее для 8-ми дисков. Этот факт проверен и протестирован мной лично.

Можете привести результаты тестирования?
См. выше
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории