Когда использовать RAID 50
Что обычно знают о RAID 5? Отличный универсальный представитель RAID-массивов, имеющий некоторые ограничения в отношении емкости.
При использовании стандартных RAID-контроллеров (Adaptec, LSI и т.п.) максимальное количество дисков в RAID 5 составляет 32. Сейчас уже есть по-настоящему большие диски (HGST 10tb, полезная ёмкость равна 9313 Гигабайт/ 9,1 Терабайт). Взяв 32 таких диска по 10 Тбайт, получим RAID 5 с 281,8 Тбайт полезного объема. При этом объем, равный одному из дисков RAID 5, будет потрачен на контрольные суммы для обеспечения отказоустойчивости.
Такого объема домашний сервер интересует немногих. Однако с огромными массивами архивных, статистических и крупномасштабных данных все активнее работают компании, поэтому не исключено, что кому-то потребуется и такой монстр.
Даже если взять более реальный вариант, когда крупный сервер создают из меньших дисков, потому что большие слишком дороги, принципы создания такого сервера останутся теми же.
Обратимся к проблемам массива на 32 диска по 10 Тбайт.
Основные вопросы связаны с построением (build) и восстановлением (rebuild) RAID. Рассмотрим некоторые показатели для контроллера, работающего с дисками такого объема в подобном массиве.
- Размер блока данных (на диск, так называемого малого страйпа) — 256 Кбайт.
- Количество блоков на одном диске — 38 146 972.
- В большой блок (большой страйп, проходящий через все диски массива) входит 32 элемента по 256Кбайт (8 Мбайт).
- Для записи одной контрольной суммы RAID-массиву нужно будет прочитать данные с 31 диска, просчитать контрольную сумму и записать на 1 диск — по блокам.
- Умножаем на 38 миллионов блоков.
Нагрузка на диски получается очень высокой – из-за этого повышается вероятность выхода из строя еще одного диска и всего массива.
Проблема в том, что в операции задействованы все 31 диск. С одной стороны, это неплохая потоковая скорость чтения, с другой — длительное перестроение. Чтобы перестроить массив за 24 часа, диски должны считывать/записывать данные со скоростью как минимум 115 Мбайт/с. И хотя сейчас диски SATA и SAS уже близки к таким показателям считывания, до соответствующей скорости записи весьма далеко, поэтому на перестройку уйдет гораздо больше суток.
Если в процессе перестройки RAID 5 откажет еще один диск – придётся обращаться в компанию по восстановлению данных.
Выход – организация RAID 50 — комбинации массивов RAID 5, объединенных в RAID 0.
Рассмотрим принципы работы такого массива. В стандартном RAID 0 из группы единичных дисков формируют быстрый массив, где отдельные диски выступают его участниками. При этом каждый из них ничем не защищен — RAID 0 не предусматривает отказоустойчивости, которая реализуется двойным хранением блоков данных в RAID1/RAID10 или контрольными суммами в RAID5/RAID6. Если один из дисков выйдет из строя, результатом станет отказ всего массива.
В массиве RAID 50 каждый из участников RAID 0 верхнего уровня представляет собой массив RAID 5. Поэтому при отказе диска участник не выходит из строя, как в случае с RAID 0, а просто работает немного медленнее, поскольку массив меняет статус на «degraded».
Приведенные выше расчеты остаются теми же для отдельных дисков, зато количество дисков в большом блоке массива становится существенно ниже (как минимум наполовину), поэтому возрастает скорость во всех зонах.
Почему-то считается, что участников верхнего уровня для массивов RAID 10, 50 и 60 может быть только два. На самом деле, в указанных конфигурациях RAID это количество выбирается — 2, 3, 4. Как правило, чем их больше, тем лучше. С этой информацией вернемся к конфигурации на 32 диска.
Вместо того, чтобы собирать 32 диска в один массив RAID 5, создадим RAID 50 из двух RAID 5 по 16 дисков с RAID 0 верхнего уровня. Общая емкость будет на один диск меньше, зато существенно вырастут и производительность, и скорость перестроения.
Покажем это. На практике оказывается, что 32 дисков слишком много для эффективной работы алгоритма RAID 5. По скорости такой вариант уступает оптимальному – RAID 5 на 8–16 дисков. Поэтому RAID 5 на 16 дисков всегда быстрее той же конфигурации на 32 диска. А у нас теперь два массива RAID 5, объединенных в один.
Преимуществ сразу несколько. При перестроении RAID (при отказе диска) задействованы только 16 из 32 дисков. Вторая половина RAID 50 (еще 16 дисков в массиве RAID 5) в процессе не участвует. Поэтому перестроение идет намного быстрее, а производительность массива в целом не страдает так, как в случае с RAID 5 из 32 дисков.
Недостатки RAID 50 по сравнению с единым большим массивом RAID 5: при двух участниках массива верхнего уровня теряется объем еще одного диска.
Анализируя конфигурации RAID 50/60, опираемся на математику. Рассмотрим несколько вариантов.
RAID 50 с тремя участниками на 32 диска – не реализуется. Оптимальный вариант RAID 50 на трех участников— 30 дисков (3 участника по 10). Полезная емкость составит 27 дисков, зато массив будет (а) быстрее и (б) весьма быстрее в перестроении, чем любая из рассмотренных выше конфигураций.
RAID 50 на 32 диска с четырьмя участниками – реализуется. 4 диска придется выделить под контрольные суммы. При этом каждый массив RAID 5 (каждый участник) будет иметь 8 дисков и отличную скорость.Система обладает фантастической производительностью. Нет претензий и к скорости перестроения, а ее влияние на сервер сведено до минимума. Недостатки – стоимость выше, а емкость чуть ниже.
Итак, RAID 50 — это всегда компромисс: чем больше участников верхнего уровня, тем выше затраты и меньше емкость, зато заметно растет производительность. (Что с 32 дисками сделал бы автор ? Массив RAID 50 на 30 дисков и 3 участника, а два последних диска оставил бы в качестве резервных с горячей заменой).
Ответим на вопрос, вынесенный в заголовок. Насколько и когда целесообразно использование RAID 50? RAID 50 на большом количестве дисков большого объема – надежней, чем RAID 5, и экономичней, чем RAID 10.