Уровни RAID: что каждый из них на самом деле даёт и чего стоит
Нули, единицы, пятёрки и десятки в настройках массива означают конкретный размен между ёмкостью, скоростью и живучестью. Разбираем механику каждой схемы и цену вопроса.
Настройка массива — первое, что предлагает мастер при запуске сетевого хранилища, и первое, на чём человек застревает. Список уровней выглядит как набор произвольных чисел, а подсказки в интерфейсе обычно ограничиваются фразами про «баланс скорости и надёжности». Разберём, что стоит за каждым вариантом на уровне механики.
Сразу оговорка, без которой всё дальнейшее теряет смысл: массив защищает от одного конкретного события — физического отказа накопителя. Ни одна из схем не поможет, если файл стёрли по ошибке, если по сетевым папкам прошёлся шифровальщик или если сам аппарат сгорел вместе с содержимым.
Идея, лежащая в основе
Все схемы строятся на двух приёмах: разделении данных между дисками и добавлении избыточной информации, по которой потерянное можно восстановить.
Разделение даёт скорость: если файл лежит кусками на четырёх дисках, читать его можно вчетверо быстрее, потому что все четыре работают одновременно. Избыточность даёт живучесть: имея дополнительные данные, система восстанавливает содержимое выбывшего диска.
Дальше всё сводится к тому, в какой пропорции смешаны эти два приёма и сколько ёмкости уходит на избыточность. Уровни RAID — это просто устоявшиеся названия для нескольких таких пропорций.
RAID 0: скорость без защиты
Данные разбиваются на полосы и раскладываются по всем дискам подряд. Избыточности нет вовсе: доступна вся суммарная ёмкость, и скорость чтения и записи растёт почти линейно с количеством накопителей.
Цена очевидна и сурова: отказ любого одного диска уничтожает весь том целиком. Причём не половину и не часть — именно весь, потому что каждый файл разложен кусками по всем дискам сразу. Вероятность потери при этом растёт с числом накопителей: четыре диска отказывают вчетверо чаще, чем один.
В сетевом хранилище этот уровень уместен разве что для черновых данных, которые не жалко: кэш, временные файлы обработки, материалы, существующие в другом месте. Для всего остального он неприемлем.
RAID 1: зеркало
Два диска хранят полностью идентичное содержимое. Отказ любого одного не приводит ни к потере данных, ни к остановке — система продолжает работать с уцелевшего.
Плата — половина ёмкости. Два диска по четыре терабайта дают четыре терабайта полезного объёма. Для двухдискового хранилища альтернативы практически нет, и именно поэтому аппараты на два отсека воспринимаются как компромисс.
Отдельное достоинство зеркала — простота восстановления. Данные на уцелевшем диске лежат в обычном виде, и при полном отказе аппарата их можно прочитать, подключив накопитель напрямую. Со сложными схемами так не выйдет.
RAID 5: одна чётность
Самая популярная схема на четырёх дисках. Данные разложены полосами, а к каждой полосе добавлена контрольная сумма, распределённая по всем накопителям. Под избыточность уходит ёмкость одного диска из общего числа.
| Дисков | Полезно | Потери |
|---|---|---|
| 3 | 2 диска | 33% |
| 4 | 3 диска | 25% |
| 6 | 5 дисков | 17% |
| 8 | 7 дисков | 12% |
Выглядит выгодно, и до определённого момента таким и было. Проблема проявилась с ростом объёмов накопителей.
Механика такая. При отказе диска система восстанавливает его содержимое, вычитывая все остальные диски целиком, от первого сектора до последнего. На многотерабайтном массиве это занимает часы, а нередко и сутки. Всё это время избыточности нет: отказ второго диска означает потерю всего тома.
RAID 6: две чётности
Та же идея, но избыточной информации вдвое больше: массив переживает одновременный отказ любых двух накопителей. Под защиту уходит ёмкость двух дисков.
Именно этот уровень закрывает проблему, описанную выше. Отказал один диск — избыточность уменьшилась, но не исчезла, и нечитаемый сектор во время восстановления перестаёт быть катастрофой.
Цена — не только ёмкость, но и скорость записи: системе приходится считать две контрольные суммы вместо одной. На современных процессорах разница невелика, но на экономичных платформах заметна.
Практическое правило, к которому пришла индустрия: на массивах из четырёх и более дисков большого объёма две чётности предпочтительнее одной. Потеря ещё одного диска ёмкости окупается тем, что восстановление перестаёт быть лотереей.
RAID 10: зеркала в связке
Комбинация двух подходов: диски объединяются в зеркальные пары, а пары — в общий том с разделением данных. Нужно минимум четыре накопителя, полезной остаётся половина ёмкости.
Сильная сторона — скорость и поведение при отказе. Восстановление сводится к простому копированию с уцелевшего диска пары, без вычислений и без чтения всего массива. Идёт оно заметно быстрее и нагружает систему меньше.
Слабая — цена ёмкости. Отдавать половину места имеет смысл там, где важна производительность при множестве одновременных обращений: базы данных, виртуальные машины, почтовые системы. Для файлового архива это расточительно.
Размер полосы и почему его не трогают
При создании массива система иногда предлагает выбрать размер полосы — величину куска, на которые разбиваются данные перед раскладкой по дискам. Параметр выглядит многообещающе, и вокруг него накопилось много советов.
Логика такая. Мелкая полоса означает, что даже небольшой файл задействует несколько дисков сразу — хорошо для линейной скорости, плохо для множества мелких обращений. Крупная полоса — наоборот: мелкий файл целиком лежит на одном диске, остальные свободны для других запросов.
Практический вывод для домашнего и офисного хранилища: оставьте значение по умолчанию. Производитель подбирает его под смешанную нагрузку, и выигрыш от ручной настройки измеряется процентами в узком сценарии, а проигрыш во всех остальных — тоже процентами, но постоянно. Менять этот параметр имеет смысл только тогда, когда вы точно знаете профиль нагрузки и можете измерить результат.
JBOD и одиночные тома
Иногда в списке присутствует режим, в котором диски просто объединяются в один большой том без какой-либо избыточности и без разделения данных.
Отличие от нулевого уровня тонкое, но важное: здесь файлы лежат целиком на конкретных дисках, а не размазаны по всем. При отказе одного накопителя теряется только то, что лежало на нём. Слабое утешение, но лучше, чем потеря всего.
Восстановление: самый опасный период
О восстановлении принято думать как о процедуре, которая просто занимает время. На деле это самая рискованная фаза в жизни массива, и понимать почему — полезно.
Во-первых, избыточность в этот момент снижена или исчерпана. Схема с одной чётностью после отказа диска работает вообще без защиты — ровно как нулевой уровень.
Во-вторых, нагрузка на оставшиеся диски запредельная. Система вычитывает их целиком, от начала до конца, непрерывно, часами. Если накопители одного возраста и одной партии — а так обычно и бывает, — именно в этот момент у соседа есть все шансы не выдержать.
В-третьих, скрытые дефекты проявляются именно здесь. Сектор, который не читался полгода, но к которому никто не обращался, обнаруживается ровно тогда, когда его содержимое стало критически нужным. Именно поэтому плановая проверка всего массива по расписанию имеет смысл: она находит такие участки заранее, пока избыточность на месте и восстановить данные есть откуда.
Гибридные схемы производителей
Крупные производители предлагают собственные варианты с фирменными названиями. Смысл у них общий: позволить собирать массив из дисков разного объёма без потери разницы.
В классических схемах массив работает по меньшему диску: поставили три по четыре терабайта и один на восемь — четыре лишних терабайта пропали. Гибридные схемы разбивают накопители на области и собирают из них несколько групп, используя почти всё доступное место.
Плата — привязка к производителю. Массив, собранный по фирменной схеме, не читается аппаратом другой марки и с трудом разбирается на обычном компьютере. Для домашнего хранилища, которое растёт постепенно и разными дисками, удобство обычно перевешивает.
Стоит знать и про обратную операцию: уменьшить массив или сменить уровень на месте удаётся далеко не всегда. Часть систем умеет переводить одну чётность в две добавлением диска, но обратный переход и переход к зеркалам обычно требуют пересоздания тома с полной потерей содержимого. Поэтому уровень разумно выбирать не под сегодняшний объём данных, а под тот, который ожидается через несколько лет: переиграть решение потом будет дорого.
Расширение массива
Отдельный вопрос, который встаёт через год-два после установки: как добавить ёмкости, не собирая всё заново.
Способов два. Первый — поставить накопитель в свободный отсек и расширить существующий массив. Процедура поддерживается большинством систем, идёт фоном и занимает от нескольких часов до суток в зависимости от объёма.
Второй — заменить диски на более ёмкие по одному, дожидаясь перестроения после каждой замены. Способ медленный и на большом массиве растягивается на недели, зато не требует свободных отсеков. Дополнительный объём становится доступен только после замены последнего диска — до этого массив работает по меньшему.
Оба сценария предполагают многократное полное перестроение, то есть многократное прохождение через самый уязвимый период. Отсюда практическое правило: перед любым расширением убедитесь, что резервная копия свежая и проверенная. Это единственный момент, когда владелец сам, добровольно и многократно загоняет массив в зону риска.
Аппаратный или программный
В серверном мире различают массивы, собранные отдельным контроллером, и массивы, которыми управляет операционная система. В сетевых хранилищах почти всегда второй вариант, и это не недостаток.
Аппаратный контроллер выигрывал тогда, когда процессоры были слабыми и расчёт контрольных сумм заметно их нагружал. Современные платформы справляются с этим без усилий.
А вот недостаток у аппаратного решения остался существенный: массив привязан к конкретному контроллеру. Отказал контроллер — нужен точно такой же, иначе диски прочитать нечем. Программный массив этой проблемы лишён: накопители переставляются в другой аппарат той же марки и подхватываются.
Как выбрать
| Ситуация | Разумный выбор |
|---|---|
| Два отсека | Зеркало |
| Четыре отсека, архив и файлы | Две чётности |
| Четыре отсека, важна скорость | Зеркала в связке |
| Шесть и больше, большие диски | Две чётности |
| Черновые данные, есть оригинал | Без избыточности |
| Диски разного объёма | Гибридная схема производителя |
И общий совет, который стоит всех остальных: заложите горячий резерв, если отсеков хватает. Диск, стоящий в аппарате без дела, вступает в работу автоматически при отказе любого другого, и восстановление начинается немедленно — а не через неделю, когда привезут замену. Именно эта неделя и есть то время, в которое массивы чаще всего гибнут. Стоит горячий резерв ровно один диск — дешевле, чем переход на схему с двумя чётностями, а эффект во многом сопоставим: время без защиты сокращается с недели до часов. Единственное требование — свободный отсек, поэтому при выборе аппарата этот диск разумно заложить в расчёт заранее, а не обнаруживать потом, что ставить его некуда. Альтернатива для тех, у кого все отсеки заняты, — держать одинаковый диск в шкафу и менять вручную в тот же день. Работает не хуже, но требует, чтобы уведомление об отказе кто-то прочитал: автоматика этого не заменяет, она просто не спит по ночам и не уходит в отпуск, а человек делает и то и другое, причём обычно именно в тот момент, когда очередной диск в массиве решает наконец отказать.
Коротко о главном
- RAID защищает от отказа диска и не является резервной копией.
- Чем больше и объёмнее диски, тем опаснее схема с одной чётностью.
- Восстановление массива — самый уязвимый период в его жизни.
Частые вопросы
Заменяет ли RAID резервную копию?
Нет. Он закрывает ровно один сценарий — выход накопителя из строя. Всё остальное, от стёртой по ошибке папки до пропажи самого аппарата, он не покрывает.
Чем RAID 5 хуже RAID 6?
При восстановлении после отказа диска избыточности не остаётся вовсе, и один нечитаемый сектор на любом из оставшихся дисков губит весь том.
Сколько ёмкости уходит на защиту?
У зеркала и схемы 10 — половина. У одной чётности — ёмкость одного диска, у двух чётностей — двух, независимо от общего количества.
Что быстрее восстанавливается?
Зеркальные схемы: восстановление сводится к копированию с уцелевшего диска пары, без вычислений и без чтения всего массива.
Можно ли собрать массив из дисков разного объёма?
В классических схемах он будет работать по меньшему диску. Гибридные схемы производителей позволяют использовать почти всю разницу.
Что такое горячий резерв?
Диск, стоящий в аппарате без участия в массиве. При отказе любого другого он вступает в работу автоматически, и восстановление начинается немедленно.
