СоХабр закрыт.

С 13.05.2019 изменения постов больше не отслеживаются, и новые посты не сохраняются.

| сохранено

H Производительность RAID массивов в черновиках Из песочницы

Уверен, что каждый системный администратор сталкивался с вопросом какой raid массив использовать для той или иной задачи. Хочу поделиться своими мыслями, цифрами и рассуждениями на эту тему.

Задача — планирование места для размещение виртуальных машин на системе хранения данных.

Используемое аппаратное и программное обеспечение для тестирования — VMWare ESXi 5.5 на HP ProLiant DL380 Gen8, виртуальная машина Windows 2008 R2 Enterprise (2 CPU, 4 Gb RAM, 60 Gb HDD), дисковая система HP P2000 G3 MSA FC, диски HP SAS 600Gb 10k, программа оценки скорости Cristal Disk Mark.

Цель — подбор типа raid массива.

Методика тестирования — включили виртуальную машину на локальном датасторе, смигрировали на массив, сделали замер, смигрировали обратно, на СХД размонтировали массив и из тех же дисков собрали другой тип рейда, смигрировали машину (VMWare позволяет это делать на горячую, без остановки машины), произвели замер, и т.д.

Выводы — всегда понятнее манипулировать цифрами. В интернетах много картинок что «быстрее», «отказоустойчивее» и т.д. Отказоустойчивость более понятный параметр — 1 или 2 диска, время восстановления после замены диска требует отдельного исследования. Картинки «попугаев» и прочих животных по конкретным дискам так же не очень подходят под нашу задачу, по скольку многое зависит от raid-контроллера.

В этой статье рассматриваем параметр «быстрее». Понимаю, что все зависит от конкретного железа, по этому указываю точную конфигурацию.

Результат — после проведения замеров для себя определили использование массивов Raid50 и Raid10.

Чтобы не быть голословным прикрепляю картинки замеров.

Raid0 на 4 дисках:



Raid0 на 12 дисках:



Raid10 на 4 дисках:



Raid5 на 9 дисках:



Raid50 на 8 дисках:



Raid6 на 4 дисках:



Все на одном.

Слева на право: raid50, raid6 (2 измерения в разное время), raid5, raid10. Внизу справа: raid0 4 disk, raid 0 12 disk:

комментарии (20)

+4
vladimirkolyada ,  

На основе чего вы сделали выводы?

Например, 5:0
Преимущества:
Высокая отказоустойчивость и производительность;
Достаточно высокая скорость чтения данных;
Высокая производительность при большой интенсивности запросов чтения/записи данных;
Малые накладные расходы для реализации избыточности.
Недостатки:
Большая стоимость;
Ограниченное масштабирование.
Или же 1:0
Преимущества:
Очень высокая скорость записи данных при не менее высокой надежности.
Недостатки:
Очень высокая стоимость;
Ограниченное масштабирование.

А если упомянуть SSD, которые «слегка» быстрее, то вообще не понятны ваши тесты. Что они отражают? Общеизвестный факт?

–2
+1 –3
ElSpirit ,   * (был изменён)

Не совсем понял вопрос комента: На основе чего вы сделали выводы?
Тесты отражают конкретную производительность конкретного железа. В посте есть фраза о том, что не рассматриваем отказоустойчивость (по скольку она известна) и время восстановления.

Достаточно высокая скорость чтения данных;
— какая? на сколько больше? — ответ на картинках в цифрах
Очень высокая скорость записи данных при не менее высокой надежности.
— опять же, на сколько высокая? и снова ответ в цифрах
+4
grossws ,  

Ещё стоит научиться нажимать на ссылку «ответить». Что-то повальная болезнь на хабре, читать комментарии становится невозможно и люди, ждущие ответа на свой комментарий не получают уведомления.

+6
anton1234 ,  

А вас не смущает одинаковое последовательное чтение в Raid0 на 4 дисках и Raid0 на 12 дисках?
С методом тестирования явно проблемы.
Способ представления результатов смешон. Скриншоты, серьезно?
Чтобы сравнить, нужна таблица с относительной производительностью, в сравнении с параметрами диска без raid.

+1
ValdikSS ,  

То ли в интерфейс все упирается, то ли какие-то неправильные тестирования. SAS он как SATA III по скорости (6Gb/s), Raid0 из 12-то дисков должен ну никак не меньше 400-500 мегабайт на чтение давать, учитывая, что это 10K диски.

0
ElSpirit ,  

Не совсем ясно, чем скрины с цифрами не представление результата.
Чтобы вы посоветовали для тестирования, если выбранный метод вам кажется «смешным»?
Целью было проверить скорость работы на конкретной операционке — по скольку диск vmdk, то любой утилиты работы с hdd должно хватать для оценки скорости. Или что-то напутал в ходе работы?

0
anton1234 ,  

Я позволил себе излишнюю вольность в оценке своего отношения, к методу представления результатов, это было невежливо.Скриншоты не позволяют сравнить результаты. В представлении результатов важна наглядность и читаемость.
С методом тестирования у вас целый ряд проблем.
Нельзя с уверенностью говорить о том что вы измеряете производительность именно аппаратной части. У вас там и vmware и виртуальная машина. Кэширование, драйверы виртуальных устройств.
Сами значения громко кричат, что с тестом что-то не так.
Нет базовых значений для 1 диска. Алгоритмы работы raid известны. Вы могли бы сравнивать с теоретически возможными значениями.
На второй картинке уже нужно было остановиться и разобраться в чем дело.
Выглядит как лабораторная работа разгильдяя.

0
ElSpirit ,  

Сравнение интересное, по скольку сам параллельно преподаю.
Для одного диска смогу сделать замер в понедельник и предоставить результат.
Что касается vmware и т.д. и производительности аппаратной части — интересовали как раз не «идеальные условия» а то, что получается по факту.
Провал по скорости работы с большими блоками в raid6 не вызвал ощущений ошибочности тестирования, по скольку 2 контрольные суммы посчитать всегда дольше, чем одну — вот и разница в 2 раза. То, что на raid0 на 12 дисков ожидал увидеть «космические скорости» — это да, и тут вопрос пока остается открытым.

0
anton1234 ,  

12=4 такого быть не может. Это факт. Вдруг окажется, что это проблема драйверов паравиртуализации или esxi по какой-то причине ограничивает скорость чтения\записи.
Дальше нет смысла измерять показатели. Нужно остановится и найти объяснение.
И еще о цифрах. Скорость записи у вас на 50-300% больше скорости чтения.

+1
k1b0rg ,  

А почему не raid6? У него и скорость выше и надежность больше чем у Raid5, да и цена меньше при соответствующем объеме Raid50.

0
grossws ,  

Почему у 6 рейда скорость должна быть выше? Учитывая, что там больше расчетов (т. к. большая избыточность).

0
belk ,  

В зависимости от реализации при чтении не обязательно дожидаться, пока докрутятся все N+2 диска, достаточно любых N. В сравнении со скоростью блинов расчётами можно пренебречь.

0
grossws ,  

При том же итоговом количестве дискового пространства на группе (т. е. N+1 в RAID5 и N+2 в RAID6), что RAID5, что RAID6 должен считать данные не менее, чем с N дисков. Т. е. при такой реализации чтения 6 не имеет выигрыша по сравнению с 5. А ещё есть обнаружение и коррекция ошибок, которые требуют чтения больше, чем N дисков, не говоря уже уж про запись, которая требует всех дисков в группе, если это не комбинация с RAID0 (типа 10, 50, 60).

0
amarao ,  

Обычно в 5-6 рейдах нет обнаружения ошибок с помощью контрольных сумм (только по сообщению об ошибке диска происходит восстановление из чексуммы), так что скорость чтения в условиях включенного headahead'а для 5-6 рейда — число дисков в массиве, минус избыточность.

0
grossws ,  

Тогда 5 из N+1 и 6 из N+2 не будут отличаться по скорости на чтении. Т. е. оригинальное утверждение, с которого началась ветка

У него и скорость выше и надежность больше чем у Raid5
не соответствует действительности.
0
grossws ,  

А всякие 50 и 60 — это уже масштабирование.

+4
amarao ,  

На этапе «утроили число дисков в raid0, линейная производительность почти не поменялась», надо было задуматься о боттлнеках за пределами рейда. Это я принципиально оставляю в стороне вопросы включенного в ОС readahead'а, непонятного теста без сырцов и невнятной платформы для тестирования.

0
opium ,  

Результаты у вас странные, raid0 на 12 дисках у вас выдает производительность на уровне raid0 из 3 дисков или на уровне вообще одного плохого ссд

0
ElSpirit ,  

Согласен, самого это удивило. Только производительность на больших блоках в 2 раза выросла.

+2
lovecraft ,  

Итак:

Скорость чтения почти на всех конфигурациях ниже, чем записи, хотя должно быть наоборот.
Скорость последовательного чтения/записи на RAID 0x4 такая же, как и на RAID 0x12, хотя, по-хорошему, должна быть раза в 2.5 выше.
На RAID 10x4 скорость последовательного чтения в 2.3 раза ниже записи.
На RAID 5x9 скорость последовательного чтения в пять с половиной раз ниже записи.

Поскольку эти результаты идут в разрез с общими соображениями о работе дисковых массивов, напрашивается вывод — вы измеряли все, что угодно (скорее всего — производительность паравиртуального оборудования гипервизора), но не производительность массивов на HP P2000 G3 MSA FC.

Прошу вас, прочитайте, например, вот эту статью пера уважаемого amarao, и, если вас не затруднит, произведите измерения еще раз.