Темы: RAID-массив

Подробное знакомство с RAID-массивами

Александр Радаев, info@ferra.ru
Подробное знакомство с RAID-массивами
Пришла пора разобраться в современных технологиях хранения данных. Повестка дня: RAID массивы и уровни их организации. Правда ли, что RAID 50 лучше RAID 10, а JBOD – это вообще не RAID? Сегодня мы ищем ответы на эти вопросы.
Выражаем благодарность компании ASBIS за предоставленную на тестирование плату контроллера RAID-массива LSI LOGIC MegaRAID SCSI 320-1 PCI 64 1ch 64МБ (RAID levels: 0, 1, 50, 10, 5).

На свете существует много интересного компьютерного железа. И не всегда получается понять, какой от него прок. А ведь именно любопытство в паре с ленью являются главными двигателями прогресса. Главное – это направить свой поток интереса в правильное русло.

Где искать свежие, оригинальные идеи? Новые технологии не сразу приходят к конечным пользователям. Сначала они окупаются и обкатываются на профессиональном рынке, служа бизнесу или государству, и лишь затем потихоньку дрейфуют «в массы», появляясь в бюджетных решениях.

В нашу тестовую лабораторию попала на редкость интересная вещица, одно название которой вызвает трепет: плата контроллера RAID-массива LSI LOGIC MegaRAID SCSI 320-1 PCI 64 1ch 64МБ (RAID levels: 0, 1, 50, 10, 5).

Представьте, именно такой абракадаброй кажутся непосвященным пользователям краткие характеристики какого-нибудь системного блока. Но приходит опыт, и цифры обретают смысл.

lsi view

Плата RAID контроллера LSI LOGIC MegaRAID


scsi

Внешний SCSI разъем на плате


scsi inner

Внутренний SCSI разъем на плате

Перед нами типичный образец платы с RAID-контроллером, используемой в серверных решениях. В таких системах обычно устанавливаются дорогие, но надежные жесткие диски с параллельным SCSI интерфейсом и материнские платы с 64-разрядными PCI слотами. Ключевым же на сегодня будет слово RAID и перечисленные уровни: 0, 1, 50, 10, 5.

Что такое RAID?

В переводе с английского «RAID» (Redundant Arrays of Inexpensive Disks) означает «избыточный массив независимых дисков». Этот перевод не совсем дословный, но именно содержащийся в нем смысл является правильным.

Впервые термин RAID появился в 1987 году, когда исследователям из Калифорнийского Университета в Беркли удалось создать действующий массив из нескольких жестких дисков.

Первоначальное предназначение RAID – создание на базе нескольких винчестеров диска большого объема с увеличенной скоростью доступа. Но затем к двум основным целям добавилась третья – сохранение данных в случае отказа части оборудования. Именно эти три кита сделали RAID-массивы столь востребованными бизнесом и военными. Впрочем, за объем, скорость и надежность пришлось платить повышением стоимости и сложности систем хранения данных.

Со временем оборудование для построения RAID массивов стало более доступным, особенно с появлением дешевых решений для IDE/ATA и SATA дисков. Теперь уже не только специалисты по СХД, но и обычные пользователи столкнулись с хитростями построения дисковых массивов.

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

Не испугались? Значит, пора знакомиться с RAID более подробно.

Пять таинственных слов

В основе теории RAID лежат пять основных принципов – пять таинственных слов. Это Массив (Array), Зеркалирование (Mirroring), Дуплекс (Duplexing), Чередование (Striping) и Четность (Parity).

Массивом называют несколько накопителей, которые централизованно настраиваются, форматируются и управляются. Логический массив – это уже более высокий уровень представления, на котором не учитываются физические характеристики системы. Соответственно, логические диски могут по количеству и объему не совпадать с физическими. Но лучше все-таки соблюдать соответствие: физический диск – логический диск. Наконец, для операционной системы вообще весь массив является одним большим диском.

Зеркалирование – технология, позволяющая повысить надежность системы. В RAID массиве с зеркалированием все данные одновременно пишутся не на один, а на два жестких диска. То есть создается «зеркало» данных. При выходе из строя одного из дисков вся информация остается сохраненной на втором.

mirroring

Зеркалирование

За такую стопроцентную защиту приходится дорого платить: считайте, что один винчестер у вас работает просто так, не увеличивая доступную емкость ни на Мегабайт. При этом нет никакого выигрыша в производительности.

Дуплекс – развитие идеи зеркалирования. В этом случае так же высок уровень надежности и требуется в два раза больше жестких дисков. Но появляются дополнительные затраты: для повышения надежности в систему устанавливаются два независимых RAID контроллера. Выход из строя одного диска или контроллера не сказывается на работоспособности системы.

duplexing

Дуплекс

Столь дорогое решение используется только во внешних RAID-массивах, предназначенных для ответственных приложений.

Чередование – отличная возможность повысить быстродействие системы. Очевидно, если чтение и запись вести параллельно на нескольких жестких дисках, можно получить выигрыш в скорости. Как это делается? Записываемый файл разбивается на части определенного размера и посылается одновременно на все имеющиеся накопители. В таком фрагментированном виде файл и хранится. Считывается он тоже «по кусочкам».

striping

Чередование

Размер «кусочка» может быть минимальным – 1 байт, но чаще используют более крупное дробление – по 512 байт (размер сектора).

Четность является альтернативным решением, соединяющим в себе достоинства зеркалирования (высокая надежность) и чередования (высокая скорость работы). Используется тот же принцип, что и в контроле четности оперативной памяти.

Если имеется I блоков данных и на их основе вычисляется еще один дополнительный экстраблок, из получившихся (I+1) блоков всегда можно восстановить информацию даже при повреждении одного из них. Соответственно, для создания нормального RAID-массива в этом случае требуется (I+1) жесткий диск.

Распределение блоков по дискам точно такое же, как при чередовании. Экстраблок может записываться на отдельный накопитель, либо раскидываться по дискам.

Что же хранится в экстраблоке? Обычно каждый бит экстраблока состоит из суммы бит всех I блоков, точнее из результата выполнения логической операции XOR. Многие помнят со школы, что XOR – удивительный оператор, при его повторном наложении мы можем получить первоначальный результат. То есть (A XOR B) XOR B = A. Это правило распространяется на любое количество операндов.

Плюсы четности очевидны. За счет использования чередования повышается скорость работы. При зеркалировании надежность сохраняется, но при этом «нерабочий» объем массива заметно уменьшается, он одинаков при любом количестве дисков и составляет емкость одного диска, то есть при 5 дисках в массиве пропадает всего 20% емкости.

Но у четности есть весомый минус. Для формирования экстраблоков требуются вычисления! Их надо делать на лету, причем с миллионами, миллиардами бит! Если это дело поручить центральному процессору, мы получим очень «тормознутую» систему. Необходимо использовать довольно дорогие платы с RAID-контроллерами, которые «берут все вычисления на себя». В случае выхода из строя одного из дисков, процесс восстановления будет не столь быстрым, как при зеркалировании.

Страница: 123
Поделиться:
Увидел опечатку? Выдели текст и нажми Ctrl+Enter
Мобильное приложение