RAID-массивы. Обзор и характеристики
В наши дни оборудование для построения RAID массивов стало доступным для широких масс, особенно с появлением дешёвых решений для IDE/ATA и SATA дисков. Зачастую и сам RAID-контроллер покупать не нужно - он присутствует в большинстве современных материнских платах. Но для развёртывания RAID массива необходимы определённые знания.
Не так просто найти оптимальное решение одновременно по надежности, емкости и цене. Нужно быть готовым к тому, что придется купить не один, а несколько жестких дисков, и емкость как минимум одного из них не будет использоваться. А если Вы профессионал и речь идет о построении более-менее серьезной системы, потребуется отдельный (лучше специальный) корпус с отдельным (а то и двумя) блоком питания, плата контроллера и соответствующее программное обеспечение.
Определение RAID
В переводе с английского RAID (Redundant Arrays of Inexpensive Disks) означает «избыточный массив независимых/недорогих жёстких дисков» — массив из нескольких дисков, управляемых контроллером, взаимосвязанных скоростными каналами и воспринимаемых внешней системой как единое целое. В зависимости от типа используемого массива может обеспечивать различные степени отказоустойчивости и быстродействия.
Впервые термин RAID появился в 1987 году, когда исследователям из Калифорнийского Университета в Беркли (Петтерсон (David A. Patterson), Гибсон (Garth A. Gibson) и Катц (Randy H. Katz)) удалось создать действующий массив из нескольких жестких дисков.
Исследователями Калифорнийского Университет в Беркли были представлены следующие уровни спецификации RAID, которые были приняты как стандарт де-факто:
- RAID 0 представлен как неотказоустойчивый дисковый массив.
- RAID 1 определён как зеркальный дисковый массив.
- RAID 2 зарезервирован для массивов, которые применяют код Хемминга.
- RAID 3, RAID 4, RAID 5 используют чётность для защиты данных от одиночных неисправностей.
- RAID 6 используют чётность для защиты данных от двойных неисправностей.
Также в этой статье мы рассмотрим:
- RAID 7 — зарегистрированная марка компании Storage Computer Corporation.
- Комбинированные уровни RAID
В RAID уровнях нет преемственности. RAID 3 это вовсе не улучшенная модификация RAID 4, так же как RAID 5 не лучше RAID 1. Они разные.
Основные определения
Чтобы разобраться в теории нужно знать пять основных принципов RAID. Это Массив (Array), Зеркалирование (Mirroring), Дуплекс (Duplexing), Чередование (Striping) и Четность (Parity).
Массив — несколько накопителей, которые централизованно настраиваются, форматируются и управляются. Логический массив – это уже более высокий уровень представления, на котором не учитываются физические характеристики системы. Соответственно, логические диски могут по количеству и объему не совпадать с физическими. Но лучше все-таки соблюдать соответствие: физический диск – логический диск. Наконец, для операционной системы вообще весь массив является одним большим диском.
Зеркалирование — технология, позволяющая повысить надежность системы. В RAID массиве с зеркалированием все данные одновременно пишутся не на один, а на два жестких диска. То есть создается «зеркало» данных. При выходе из строя одного из дисков вся информация остается сохраненной на втором. За такую стопроцентную защиту приходится платить: один винчестер у вас будет работать просто так, не увеличивая доступную емкость ни на Мегабайт. При этом и выигрыша в производительности вы не получаете.
Дуплекс — развитие идеи зеркалирования. В этом случае так же высок уровень надежности и требуется в два раза больше жестких дисков. Но появляются дополнительные затраты: для повышения надежности в систему устанавливаются два независимых RAID контроллера. Выход из строя одного диска или контроллера не сказывается на работоспособности системы. Такое дорогое решение используется только во внешних RAID-массивах, предназначенных для ответственных приложений.
Чередование — отличная возможность повысить быстродействие системы. Очевидно, если чтение и запись вести параллельно на нескольких жестких дисках, можно получить выигрыш в скорости. Записываемый файл разбивается на части определенного размера и посылается одновременно на все имеющиеся накопители. В таком фрагментированном виде файл и хранится. Считывается он тоже «по кусочкам». Размер «кусочка» может быть минимальным – 1 байт, но чаще используют более крупное дробление – по 512 байт (по размеру сектора).
Чётность — альтернативное решение, соединяющее в себе достоинства зеркалирования (высокая надёжность) и чередования (высокая скорость работы). Используется тот же принцип, что и в контроле чётности оперативной памяти. Если имеется x блоков данных и на их основе вычисляется еще один дополнительный экстраблок, из получившихся (x+1) блоков всегда можно восстановить информацию даже при повреждении одного из них. Соответственно, для создания нормального RAID-массива в этом случае требуется (x+1) накопитель. Распределение блоков по дискам точно такое же, как при чередовании. Экстраблок может записываться на отдельный накопитель, либо раскидываться по дискам.
Обычно каждый бит экстраблока состоит из суммы бит всех x блоков, точнее из результата выполнения логической операции XOR. Многие помнят со школы, что XOR – удивительный оператор, при его повторном наложении мы можем получить первоначальный результат. То есть (a XOR b) XOR b = a. Это правило распространяется на любое количество операндов.
Плюсы чётности очевидны. За счёт использования чередования повышается скорость работы. При зеркалировании надёжность сохраняется, но при этом «нерабочий» объем массива заметно уменьшается, он одинаков при любом количестве дисков и составляет емкость одного диска, то есть при 5 дисках массив теряет всего 20% емкости.
Но кроме плюсов у чётности есть один весомый минус. Для формирования экстраблоков требуются вычисления и выполнять их нужно на лету. Если эту функцию возложить на центральный процессор, мы получим очень «тормозную» систему. Необходимо использовать довольно дорогие платы с RAID-контроллерами, которые берут все вычисления на себя.
В случае выхода из строя одного из дисков, процесс восстановления будет не столь быстрым, как при зеркалировании.
