Виды raid. FAQ по практической реализации RAID

29.07.2019

В интернете есть масса статей с описанием RAID. Например, эта описывает все очень подробно. Но как обычно, читать все не хватает времени, поэтому надо что-нибудь коротенькое для понимания - а надо оно или нет, и что лучше использовать применительно к работе с СУБД (InterBase, Firebird или что то иное - на самом деле все равно). Перед вашими глазами - именно такой материал.

В первом приближении RAID это объединение дисков в один массив. SATA, SAS, SCSI, SSD - неважно. Более того, практически каждая нормальная материнская плата сейчас поддерживает возможность организации SATA RAID. Пройдемся по списку, какие бывают RAID и зачем они. (Хотел бы сразу заметить, что в RAID нужно объединять одинаковые диски. Объединение дисков от разных производителей, от одного но разных типов, или разных размеров - это баловство для человека, сидящего на домашнем компьютере).

RAID 0 (Stripe)

Грубо говоря, это последовательное объединение двух (или более) физических дисков в один "физический" диск. Годится разве что для организации огромных дисковых пространств, например, для тех, кто работает с редактированием видео. Базы данных на таких дисках держать нет смысла - в самом деле, если даже у вас база данных имеет размер 50 гигабайт, то почему вы купили два диска размером по 40 гигабайт, а не 1 на 80 гигабайт? Хуже всего то, что в RAID 0 любой отказ одного из дисков ведет к полной неработоспособности такого RAID, потому что данные записываются поочередно на оба диска, и соответственно, RAID 0 не имеет средств для восстановления в случае сбоев.

Конечно, RAID 0 дает ускорение в работе из-за чередования чтения/записи.

RAID 0 часто используют для размещения временных файлов.

RAID 1 (Mirror)

Зеркалирование дисков. Если Shadow в IB/FB это программное зеркалирование (см. Operations Guide.pdf), то RAID 1 - аппаратное зеркалирование, и ничего более. Упаси вас от использования программного зеркалирования средствами ОС или сторонним ПО. Надо или "железный" RAID 1, или shadow.

При сбое тщательно проверяйте, какой именно диск сбойнул. Самый частый случай погибания данных на RAID 1 - это неверные действия при восстановлении (в качестве "целого" указан не тот диск).

Насчет производительности - по записи выигрыш 0, по чтению - возможно до 1.5 раз, т. к. чтение может производиться "параллельно" (поочередно с разных дисков) . Для баз данных ускорение мало, в то время как при параллельном обращении к разным (!) частям (файлам) диска ускорение будет абсолютно точно.

RAID 1+0

Под RAID 1+0 имеют в виду вариант RAID 10, когда два RAID 1 объединяются в RAID 0. Вариант, когда два RAID 0 объединяются в RAID 1 называется RAID 0+1, и "снаружи" представляет собой тот же RAID 10.

RAID 2-3-4

Эти RAID являются редкими, т. к. в них используются коды Хэмминга, либо разбиение байт на блоки + контрольные суммы и т. п., но общее резюме таково - эти RAID дают только надежность, при 0-вом увеличении производительности, и иногда даже ее ухудшении.

RAID 5

Для него нужно минимально 3 диска. Данные четности распределяются по всем дискам массива

Обычно говорится, что "RAID5 использует независимый доступ к дискам, так что запросы к разным дискам могут выполняться параллельно". Следует иметь в виду, что речь идет, конечно, о параллельных запросах на ввод-вывод. Если такие запросы идут последовательно (в SuperServer), то конечно, эффекта распараллеливания доступа на RAID 5 вы не получите. Разумеется, RAID5 даст прирост производительности, если с массивом будут работать операционная система и другие приложения (например, на нем будет находиться виртуальная память, TEMP и т. п.).

Вообще RAID 5 раньше был наиболее часто используемым массивом дисков для работы с СУБД. Сейчас такой массив можно организовать и на SATA дисках, причем он получится существенно дешевле, чем на SCSI. Цены и контроллеры вы можете посмотреть в статьях
Причем, следует обратить внимание на объем покупаемых дисков - например, в одной из упомянутых статей RAID5 собирается из 4-х дисков объемом 34 гиг, при этом объем "диска" получается 103 гигабайта.

Тестирование пяти контроллеров SATA RAID - http://www.thg.ru/storage/20051102/index.html .

Adaptec SATA RAID 21610SA в массивах RAID 5 - http://www.ixbt.com/storage/adaptec21610raid5.shtml .

Почему RAID 5 - это плохо - https://geektimes.ru/post/78311/

Внимание! При закупке дисков для RAID5 обычно берут 3 диска, по минимуму (скорее из-за цены). Если вдруг по прошествии времени один из дисков откажет, то может возникнуть ситуация, когда не удастся приобрести диск, аналогичный используемым (перестали выпускаться, временно нет в продаже, и т. п.). Поэтому более интересной идеей кажется закупка 4-х дисков, организация RAID5 из трех, и подключение 4-го диска в качестве резервного (для бэкапов, других файлов и прочих нужд).

Объем дискового массива RAID5 расчитывается по формуле (n-1)*hddsize, где n - число дисков в массиве, а hddsize - размер одного диска. Например, для массива из 4-х дисков по 80 гигабайт общий объем будет 240 гигабайт.

Есть по поводу "непригодности" RAID5 для баз данных. Как минимум его можно рассматривать с той точки зрения, что для получения хорошей производительности RAID5 необходимо использовать специализированный контроллер, а не то, что есть по умолчанию на материнской плате.

Статья RAID-5 must die . И еще о потерях данных на RAID5 .

Примечание. На 05.09.2005 стоимость SATA диска Hitachi 80Gb составляет 60 долларов.

RAID 10, 50

Дальше идут уже комбинации из перечисленных вариантов. Например, RAID 10 это RAID 0 + RAID 1. RAID 50 - это RAID 5 + RAID 0.

Интересно, что комбинация RAID 0+1 в плане надежности оказывается хуже, чем RAID5. В копилке службы ремонта БД есть случай сбоя одного диска в системе RAID0 (3 диска) + RAID1 (еще 3 таких же диска). При этом RAID1 не смог "поднять" резервный диск. База оказалась испорченной без шансов на ремонт.

Для RAID 0+1 требуется 4 диска, а для RAID 5 - 3. Подумайте об этом.

RAID 6

В отличие от RAID 5, который использует четность для защиты данных от одиночных неисправностей, в RAID 6 та же четность используется для защиты от двойных неисправностей. Соответственно, процессор более мощный, чем в RAID 5, и дисков требуется уже не 3, а минимум 5 (три диска данных и 2 диска контроля четности). Причем, количество дисков в raid6 не имеет такой гибкости, как в raid 5, и должно быть равно простому числу (5, 7, 11, 13 и т. д.)

Допустим одновременный сбой двух дисков, правда, такой случай является весьма редким.

По производительности RAID 6 я данных не видел (не искал), но вполне может быть, что из-за избыточного контроля производительность может быть на уровне RAID 5.

Rebuild time

У любого массива RAID, который остается работоспособным при сбое одного диска, существует такое понятие, как rebuild time . Разумеется, когда вы заменили сдохший диск на новый, контроллер должен организовать функционирование нового диска в массиве, и на это потребуется определенное время.

Во время "подключения" нового диска, например, для RAID 5, контроллер может допускать работу с массивом. Но скорость работы массива в этом случае будет весьма низкой, как минимум потому, что даже при "линейном" наполнении нового диска информацией запись на него будет "отвлекать" контроллер и головки диска на операции синхронизации с остальными дисками массива.

Время восстановления функционирования массива в нормальном режиме напрямую зависит от объема дисков. Например, Sun StorEdge 3510 FC Array при размере массива 2 терабайта в монопольном режиме делает rebuild в течение 4.5 часов (при цене железки около $40000). Поэтому, при организации массива и планировании восстановления при сбое нужно в первую очередь думать именно о rebuild time. Если ваша база данных и бэкапы занимают не более 50 гигабайт, и рост в год составляет 1-2 гигабайта, то вряд ли имеет смысл собирать массив из 500-гигабайтных дисков. Достаточно будет и 250-гигабайтных, при этом даже для raid5 это будет минимум 500 гигабайт места для размещения не только базы данных, но и фильмов. Зато rebuild time для 250 гигабайтных дисков будет примерно в 2 раза меньше, чем для 500 гигабайтных.

Резюме

Получается, что самым осмысленным является использование либо RAID 1, либо RAID 5. Однако, самая частая ошибка, которую делают практически все - это использование RAID "подо все". То есть, ставят RAID, на него наваливают все что есть, и... получают в лучшем случае надежность, но никак не улучшение производительности.

Еще часто не включают write cache, в результате чего запись на raid происходит медленнее, чем на обычный одиночный диск. Дело в том, что у большинства контроллеров эта опция по умолчанию выключена, т.к. считается, что для ее включения желательно наличие как минимум батарейки на raid-контроллере, а также наличие UPS.

Текст
В старой статье hddspeed.htmLINK (и в doc_calford_1.htmLINK) показано, как можно получить существенное увеличение производительности путем использования нескольких физических дисков, даже для IDE. Соответственно, если вы организуете RAID - положите на него базу, а остальное (temp, OS, виртуалка) делайте на других винчестерах. Ведь все равно, RAID сам по себе является одним "диском", пусть даже и более надежным и быстродействующим.
признан устаревшим. Все вышеупомянутое вполне имеет право на существование на RAID 5. Однако перед таким размещением необходимо выяснить - каким образом можно делать backup/restore операционной системы, и сколько по времени это будет занимать, сколько времени займет восстановление "умершего" диска, есть ли (будет ли) под рукой диск для замены "умершего" и так далее, т. е. надо будет заранее знать ответы на самые элементарные вопросы на случай сбоя системы.

Я все-таки советую операционную систему держать на отдельном SATA-диске, или если хотите, на двух SATA-дисках, связанных в RAID 1. В любом случае, располагая операционную систему на RAID, вы должны спланировать ваши действия, если вдруг прекратит работать материнская плата - иногда перенос дисков raid-массива на другую материнскую плату (чипсет, raid-контроллер) невозможен из-за несовместимости умолчательных параметров raid.

Размещение базы, shadow и backup

Несмотря на все преимущества RAID, категорически не рекомендуется, например, делать backup на этот же самый логический диск. Мало того что это плохо влияет на производительность, но еще и может привести к проблемам с отсутствием свободного места (на больших БД) - ведь в зависимости от данных файл backup может быть эквивалентным размеру БД, и даже больше. Делать backup на тот же физический диск - еще куда ни шло, хотя самый оптимальный вариант - backup на отдельный винчестер.

Объяснение очень простое. Backup - это чтение данных из файла БД и запись в файл бэкапа. Если физически все это происходит на одном диске (даже RAID 0 или RAID 1), то производительность будет хуже, чем если чтение производится с одного диска, а запись - на другой. Еще больше выигрыш от такого разделения - когда backup делается во время работы пользователей с БД.

То же самое в отношении shadow - нет никакого смысла класть shadow, например, на RAID 1, туда же где и база, даже на разные логические диски. При наличии shadow сервер пишет страницы данных как в файл базы так и в файл shadow. То есть, вместо одной операции записи производятся две. При разделении базы и shadow по разным физическим дискам производительность записи будет определяться самым медленным диском.

Привет всем читателям сайт! Друзья, я давно хотел с Вами поговорить о том, как создать на компьютере RAID массив (избыточный массив независимых дисков). Несмотря на кажущуюся сложность вопроса, на самом деле всё очень просто и я уверен, многие читатели сразу после прочтения этой статьи возьмут на вооружение и будут с удовольствием пользоваться данной очень полезной, связанной с безопасностью ваших данных технологией.

Как создать RAID массив и зачем он нужен

Не секрет, что наша информация на компьютере практически ничем не застрахована и находится на простом жёстком диске, который имеет свойство ломаться в самый неподходящий момент. Уже давно признан факт, что жёсткий диск самое слабое и ненадёжное место в нашем системном блоке, так как имеет механические части. Те пользователи, которые когда-либо теряли важные данные (я в том числе) из-за выхода из строя "винта", погоревав некоторое время задаются вопросом, как избежать подобной неприятности в будущем и первое, что приходит на ум, это создание RAID-массива .

Весь смысл избыточного массива независимых дисков в том, чтобы сберечь Ваши файлы на жёстком диске в случае полной поломки этого диска! Как это сделать, – спросите вы, да очень просто, нужно всего лишь два (можно даже разных в объёме) жёстких диска.

В сегодняшней статье мы с Вами с помощью операционной системы Windows 8.1 создадим из двух чистых жёстких дисков самый простой и популярный RAID 1 массив , его ещё называют "Зеркалирование" (mirroring). Смысл "зеркала" в том, что информация на обоих дисках дублируется (записывается параллельно) и два винчестера представляют из себя точные копии друг друга.

Если вы скопировали файл на первый жёсткий диск, то на втором появляется точно такой же файл и как вы уже поняли, если один жёсткий диск выходит из строя, то все ваши данные останутся целыми на втором винчестере (зеркале). Вероятность поломки сразу двух жёстких дисков ничтожна мала.

Единственный минус RAID 1 массива в том, что купить нужно два жёстких диска, а работать они будут как один единственный, то есть, если вы установите в системный блок два винчестера в объёме по 500 ГБ, то доступно для хранения файлов будет всё те же 500 ГБ, а не 1ТБ.

Если один жёсткий диск из двух выходит из строя, вы просто берёте и меняете его, добавляя как зеркало к уже установленному винчестеру с данными и всё.

Лично я, в течении многих лет, использую на работе RAID 1 массив из двух жёстких дисков по 1 ТБ и год назад произошла неприятность, один "хард" приказал долго жить, пришлось его тут же заменить, тогда я с ужасом подумал, чтобы было, не окажись у меня RAID-массива, небольшой холодок пробежал по спине, ведь пропали бы данные накопленные за несколько лет работы, а так, я просто заменил неисправный "терабайтник" и продолжил работу. Кстати, дома у меня тоже небольшой RAID-массив из двух винчестеров по 500 ГБ.

Создание программного RAID 1 массива из двух пустых жёстких дисков средствами Windows 8.1

Первым делом устанавливаем в наш системный блок два чистых жёстких диска. Для примера, я возьму два жёстких диска объёмом 250 ГБ.

Что делать, если размер винчестеров разный или на одном жёстком диске у вас уже находится информация, читаем в следующей нашей статье .

Открываем Управление дисками

Диск 0 - твердотельный накопитель SSD с установленной операционной системой Windows 8.1 на разделе (C:).

Диск 1 и Диск 2 - жёсткие диски объёмом 250 ГБ из которых мы соберём RAID 1 массив.

Щёлкаем правой мышью на любом жёстком диске и выбираем «Создать зеркальный том»

Добавляем диск, который будет зеркалом для выбранного ранее диска. Первым зеркальным томом мы выбрали Диск 1, значит в левой части выбираем Диск 2 и нажимаем на кнопку «Добавить».

Выбираем букву программного RAID 1 массива, я оставляю букву (D:). Далее

Отмечаем галочкой пункт Быстрое форматирование и жмём Далее.

В управлении дисками зеркальные тома обозначаются кроваво-красным цветом и имеют одну букву диска, в нашем случае (D:). Скопируйте на любой диск какие-либо файлы и они сразу появятся на другом диске.

В окне "Этот компьютер", программный RAID 1 массив отображается как один диск.

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

Проблема повышения надежности хранения информации всегда стоит на повестке дня. Особенно это касается больших массивов данных, баз данных от которых зависит работа комплексных систем в большом диапазоне сфер отраслей. Особенно это важно для высокопроизводительных серверов.

Как известно, производительность современных процессоров неизменно растет, за чем явно не успевают в своем развитии современные
жесткие диски. Наличие одного диска, будь то SCSI или, еще хуже IDE, уже не сможет решить задачи, актуальные нашему времени. Нужно множество дисков, которые будут дополнять друг друга, подменять в случае выхода одного из них, хранить резервные копии, работать качественно и продуктивно.

Однако, просто наличия нескольких жестких дисков недостаточно, их нужно объединить в систему , которая будет слаженно работать и не допустит потери данных при любых сбоях, связанных с дисками.

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

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

Что нужно для создания рейд? Как минимум наличие двух винчестеров. В зависимости от уровня массива варьируется количество используемых устройств хранения.

Какие бывают массивы raid

Существуют базовые, комбинированные массивы RAID. Институт в Беркли штат Калифорния предложил разделять рейд на уровни спецификации :

  • Базовые :
    • RAID1 ;
    • RAID2 ;
    • RAID3 ;
    • RAID4 ;
    • RAID5 ;
    • RAID6 .
  • Комбинированные :
    • RAID10 ;
    • RAID01 ;
    • RAID50 ;
    • RAID05 ;
    • RAID60 ;
    • RAID06 .

Рассмотрим наиболее часто используемые.

Рейд 0

RAID 0 предназначен для увеличения скорости и записи. Он не увеличивает надежность хранения, в связи с этим не является избыточным. Еще его зовут страйп (striping - «чередование» ). Обычно используется от 2 до 4 дисков.

Данные делятся на блоки, записывающие по очереди на диски. Скорость записи/чтения возрастает при этом в число раз, кратное количеству дисков. Из недостатков можно отметить возросшую вероятность потери данных при такой системе. Базы данных на таких дисках хранить не имеет смысла, ведь любой серьезный сбой приведет к полной неработоспособности рейда, так как отсутствуют средства восстановления.

Рейд 1

RAID 1 обеспечивает зеркальное хранение данных на аппаратном уровне. Называют также массив Mirror , что значит «зеркало » . То есть данные дисков в этом случае дублируются. Можно использовать при количестве устройств хранения от 2 до 4.

Скорость записи/чтения при этом практически не меняется, что можно отнести к преимуществам . Массив работает, если хоть один диск рейда находится в работе, но объем системы при этом равен объему одного диска. На практике при выходе из строя одного из винчестеров Вам нужно будет как можно быстрее принять меры к его замене.

Рейд 2

RAID 2 – использует так называемый код Хемминга . Данные разбиваются по жестким дискам аналогично RAID 0, на оставшихся дисках хранятся коды исправления ошибок , при сбое по которым можно регенерировать информации. Этот метод позволяет на лету обнаруживать , а затем и исправлять сбои в системе.

Быстрота чтения/записи в этом случае в сравнении с использованием одного диска повышается . Минусом является большое количество дисков, при котором его рационально применять, чтобы не было избыточности данных, обычно это 7 и больше .

RAID 3 – в массиве данные разбиваются на все диске кроме одного, в котором хранятся байты четности. Устойчив к отказам системы . Если один из дисков выходит из строя . То его информацию легко «поднять», используя данные контрольных сумм четности.

В сравнении с RAID 2 нет возможности коррекции ошибок на лету. Этот массив отличается высокой производительностью и возможностью использовать от 3 дисков и больше.

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

Рейд 4

В целом RAID 4 аналогичен RAID 3 с той разницей , что данные четности хранятся в блоках, а не в байтах, что позволило увеличить скорость передачи данных малого объема.

Минусом указанного массива оказывается скорость записи, ведь четность записи генерируется на один единственный диск, как и RAID 3.

Представляется собой неплохое решение для тех серверов, где файлы чаще считываются, чем записываются.

Рейд 5

RAID от 2 до 4 имеют недостатки, связанные с невозможностью распараллеливания операций записи. RAID 5 устраняет этот недостаток. Блоки четности записываются одновременно на все дисковые устройства массива, нет асинхронности в распределении данных, а значит, четность является распределенной.

Число используемых винчестеров от 3. Массив очень распространён благодаря своей универсальности и экономичности , чем большее число дисков будет использоваться, тем экономнее будет затрачиваться дисковое пространство. Скорость при этом высокая за счет распараллеливания данных, но производительность снижается в сравнении с RAID 10, за счет большого числа операций. Если выходит из строя один диск, то надежность снижается до уровня RAID 0. Требуется много времени на восстановление.

Рейд 6

Технология RAID 6 схожа с RAID 5, но повышается надежностью за счет увеличения количества дисков четности.

Однако, дисков уже требуется минимум 5 и более мощный процессор для обработки возросшего числа операций, причем количество дисков обязательно должно быть равно простому числу 5,7,11 и так далее.

Рейд 10, 50, 60

Далее идут комбинации указанных ранее рейдов. Например, RAID 10 это RAID 0 + RAID 1.

Они наследуют и преимущества массивов их составляющих в плане надежности, производительности и количестве дисков, а вместе с тем экономичности.

Создание рейд массива на домашнем ПК

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

Для этих целей Вам понадобится рейд-контроллер , обладающий собственной BIOS и своими настройками. В современных системных платах рейд-контроллер может быть интегрирован в южный мост чипсета. Но даже в таких плата посредством подключения к PCI или PCI-E разъему можно подключить еще один контроллер. Примерами могут быть устройства фирм Silicon Image и JMicron.

Каждый контроллер может иметь свою утилиту для настройки.

Рассмотрим создание рейд с помощью Intel Matrix Storage Manager Option ROM.

Перенесите все данные с Ваших дисков, иначе в процессе создания массива они будут очищены .

Зайдите в BIOS Setup Вашей материнской платы и включите режим работы RAID для вашего sata винчестера.

Чтобы запустить утилиту перезагрузите ПК, нажмите ctrl+i во время процедуры POST . В окне программы Вы увидите список доступных дисков. Нажмите Create Massive , Далее выберите необходимый уровень массива .

В дальнейшем следуя интуитивно понятному интерфейсу введите размер массива и подтвердите его создание.

Массивы RAID были разработаны в целях повышения надежности хранения данных, увеличения скорости работы с и для обеспечения возможности объединения нескольких дисков в один большой . Разные типы RAID решают разные задачи, здесь мы рассмотрим несколько наиболее распространенных конфигураций RAID массивов из одинаковых по размеру .



RAID 0

  • RAID 0 (Stripe). Режим, при использовании которого достигается максимальная производительность. Данные равномерно распределяются по дискам массива, объединяются в один, который может быть размечен на несколько. Распределенные операции чтения и записи позволяют значительно увеличить скорость работы, поскольку несколько одновременно читают/записывают свою порцию данных. Пользователю доступен весь объем , но это снижает надежность хранения данных, поскольку при отказе одного из дисков массив обычно разрушается и восстановить данные практически невозможно. Область применения - приложения, требующие высоких скоростей обмена с диском, например видеозахват, видеомонтаж. Рекомендуется использовать с высоконадежными дисками.

    RAID 1
  • RAID 1 (Mirror). Несколько дисков (обычно 2), работающие синхронно на запись, то есть полностью дублирующие друг друга. Повышение производительности происходит только при чтении. Самый надежный способ защитить информацию от сбоя одного из дисков. Из-за высокой стоимости обычно используется при хранении очень важных данных. Высокая стоимость обусловлена тем, что лишь половина от общей емкости доступна для пользователя.

    RAID 10
  • RAID 10 , также иногда называется RAID 1+0 - комбинация двух первых вариантов. (Массив RAID0 из массивов RAID1). Имеет все скоростные преимущества RAID0 и преимущество надежности RAID1, сохраняя недостаток - высокую стоимость дискового массива, так как эффективная ёмкость массива равна половине ёмкости использованных в нём дисков. Для создания такого массива требуется минимум 4 диска. (При этом их число должно быть чётным).
  • RAID 0+1 - Массив RAID1 из массивов RAID0. Фактически не применяется из-за отсутствия преимуществ по сравнению с RAID10 и меньшей отказоустойчивости.

    RAID 1E
  • RAID 1E - Похожий на RAID10 вариант распределения данных по дискам, допускающий использование нечётного числа (минимальное количество - 3)
  • RAID 2, 3, 4 - различные варианты распределенного хранения данных с дисками, выделенными под коды четности и различными размерами блока. В настоящее время практически не используются из-за невысокой производительности и необходимости выделять много дисковой емкости под хранение кодов ЕСС и/или четности.


    RAID 5
  • RAID 5 - массив, также использующий распределенное хранение данных аналогично RAID 0 (и объединение в один большой логический ) + распределенное хранение кодов четности для восстановления данных при сбоях. Относительно предыдущих конфигураций размер Stripe-блока еще больше увеличен. Возможно как одновременное чтение, так и запись. Плюсом этого варианта является то, что доступная для пользователя емкость массива уменьшается на емкость лишь одного диска, хотя надежность хранения данных ниже, чем у RAID 1. По сути, является компромиссом между RAID0 и RAID1, обеспечивая достаточно высокую скорость работы при неплохой надежности хранения данных. При отказе одного диска из массива данные могут быть восстановлены без потерь в автоматическом режиме. Минимальное количество дисков для такого массива - 3.
    "Программные" реализации RAID5, встроенные в южные мосты материнских плат, не отличаются высокой скоростью записи, поэтому годятся далеко не для всех применений.


    RAID 5EE
  • RAID 5EE - массив, аналогичный RAID5, однако кроме распределенного хранения кодов четности используется распределение резервных областей - фактически задействуется , который можно добавить в массив RAID5 в качестве запасного (такие массивы называют 5+ или 5+spare). В RAID 5 массиве резервный диск простаивает до тех пор, пока не выйдет из строя один из основных , в то время как в RAID 5EE массиве этот диск используется совместно с остальными HDD все время, что положительно сказывается на производительность массива. К примеру, массив RAID5EE из 5 HDD сможет выполнить на 25% больше операций ввода/вывода за секунду, чем RAID5 массив из 4 основных и одного резервного HDD. Минимальное количество дисков для такого массива - 4.


    RAID 6
  • RAID 6 - аналог RAID5 c большим уровнем избыточности - информация не теряется при отказе двух любых дисков, соответственно, общая ёмкость массива уменьшается на ёмкость двух дисков. Минимальное количество дисков, необходимое для создания массива такого уровня - 4. Скорость работы в общем случае примерно аналогична RAID5. Рекомендуется для применений, где важна максимально высокая надёжность.


    RAID 50
  • RAID 50 - объединение двух(или более, но это крайне редко применяется) массивов RAID5 в страйп, т.е. комбинация RAID5 и RAID0, частично исправляющая главный недостаток RAID5 - низкую скорость записи данных за счёт параллельного использования нескольких таких массивов. Общая ёмкость массива уменьшается на ёмкость двух , но, в отличие от RAID6, без потери данных такой массив переносит отказ лишь одного диска, а минимально необходимое число дисков для создания массива RAID50 равно 6. Наряду с RAID10, это наиболее рекомендуемый уровень RAID для использования в приложениях, где требуется высокая производительность в сочетании с приемлемой надёжностью.


    RAID 60
  • RAID 60 - объединение двух массивов RAID6 в страйп. Скорость записи повышается примерно в два раза, относительно скорости записи в RAID6. Минимальное количество дисков для создания такого массива - 8. Информация не теряется при отказе двух дисков из каждого RAID 6 массива.
  • Matrix RAID - технология, реализованная фирмой Intel в своих южных мостах, начиная с ICH6R, позволяющая организовать всего на двух дисках несколько массивов RAID0 и RAID1, одновременно создавая разделы как с повышенной скоростью работы, так и с повышенной надёжностью хранения данных.
  • JBOD (От английского "Just a Bunch Of Disks")- последовательное объединение нескольких физических в один логический, не влияющее на производительность (надёжность при этом падает аналогично RAID0), при этом могут иметь разные размеры. В настоящее время практически не применяется.
  • Если Вы заинтересовались этой статьей, то Вы, по-видимому, столкнулись или предполагаете вскоре столкнуться с одной из ниже перечисленных проблем на Вашем компьютере:

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

    Что такое «RAID»?

    В 1987 году Паттерсон (Patterson), Гибсон (Gibson) и Катц (Katz) из калифорнийского университета Беркли опубликовали статью «Корпус для избыточных массивов из дешевых дисководов (RAID)» (A Case for Redundant Arrays of Inexpensive Disks (RAID)). В этой статье описывались разные типы дисковых массивов, обозначаемых сокращением RAID - Redundant Array of Independent (или Inexpensive) Disks (избыточный массив независимых (или недорогих) дисководов). В основу RAID положена следующая идея: объединяя в массив несколько небольших и/или дешевых дисководов, можно получить систему, превосходящую по объему, скорости работы и надежности самые дорогие дисководы. Вдобавок ко всему такая система с точки зрения компьютера выглядит как один единственный дисковод.
    Известно, что среднее время наработки на отказ массива дисководов равно среднему времени наработки на отказ одиночного дисковода, деленному на число дисководов в массиве. Вследствие этого среднее время наработки на отказ массива оказывается слишком малым для многих приложений. Однако дисковый массив можно несколькими способами сделать устойчивым к отказу одного дисковода.

    В вышеупомянутой статье было определено пять типов (уровней) дисковых массивов: RAID-1, RAID-2, ..., RAID-5. Каждый тип обеспечивал устойчивость на отказ, а также различные преимущества по сравнению с одиночным дисководом. Наряду с этими пятью типами популярность приобрел также дисковый массив RAID-0, НЕ обладающий избыточностью.

    Какие существуют уровни RAID и какой из них выбрать?

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

    Так как RAID-0 не обладает избыточностью, авария одного дисковода приводит к аварии всего массива. С другой стороны RAID-0 обеспечивает максимальную скорость обмена и эффективность использования объема дисководов. Поскольку для RAID-0 не требуются сложные математические или логические вычисления, затраты на его реализацию минимальны.

    Область применения: аудио- и видео приложения требующие высокой скорости непрерывной передачи данных, которую не может обеспечить одиночный дисковод. Например, исследования, проведенные фирмой Mylex, с целью определить оптимальную конфигурацию дисковой системы для станции нелинейного видео монтажа показывают, что, по сравнению с одним дисководом, массив RAID-0 из двух дисководов дает прирост скорости записи/чтения на 96%, из трех дисководов - на 143% (по данным теста Miro VIDEO EXPERT Benchmark).
    Минимальное количество дисководов в массиве "RAID-0" - 2шт.

    RAID-1 . Более известен как "Mirroring" ("Зеркалирование") - это пара дисководов, содержащих одинаковую информацию и составляющих один логический диск:

    Запись производится на оба дисковода в каждой паре. Тем не менее, дисководы, входящие в пару, могут совершать одновременные операции чтения. Таким образом «зеркалирование» может удваивать скорость чтения, но скорость записи остается неизменной. RAID-1 обладает 100% избыточностью и авария одного дисковода не приводит к аварии всего массива - контроллер просто переключает операции чтения/записи на оставшийся дисковод.
    RAID-1 обеспечивает наивысшую скорость работы среди всех типов избыточных массивов (RAID-1 - RAID-5), особенно в многопользовательском окружении, но наихудшее использование дискового пространства. Поскольку для RAID-1 не требуются сложные математические или логические вычисления, затраты на его реализацию минимальны.
    Минимальное количество дисководов в массиве "RAID-1" - 2шт.
    Для увеличения скорости записи и обеспечения надежности хранения данных несколько массивов RAID-1 можно, в свою очередь, объединить в RAID-0. Такая конфигурация называется «двухуровневый» RAID или RAID-10 (RAID 0+1):


    Минимальное количество дисководов в массиве "RAID 0+1" - 4шт.
    Область применения: дешевые массивы, в которых главное - надежность хранения данных.

    RAID-2 . Распределяет данные по страйпам размером в сектор по группе дисководов. Некоторые дисководы выделяются для хранения ECC (код коррекции ошибок). Так как большинство дисководов по умолчанию хранят коды с ECC для каждого сектора, RAID-2 не дает особых преимуществ по сравнению с RAID-3 и, поэтому, практически не применяется.

    RAID-3 . Как и в случае с RAID-2 данные распределяются по страйпам размером в один сектор, а один из дисководов массива отводится для хранения информации о четности:

    RAID-3 полагается на коды с ECC, хранящиеся в каждом секторе для обнаружения ошибок. В случае отказа одного из дисководов восстановление хранившейся на нем информации возможно с помощью вычисления исключающего ИЛИ (XOR) по информации на оставшихся дисководах. Каждая запись обычно распределена по всем дисководам и поэтому этот тип массива хорош для работы в приложениях с интенсивным обменом с дисковой подсистемой. Так как каждая операция ввода-вывода обращается ко всем дисководам массива, RAID-3 не может одновременно выполнять несколько операций. Поэтому RAID-3 хорош для однопользовательского однозадачного окружения с длинными записями. Для работы с короткими записями требуется синхронизация вращения дисководов, так как иначе неизбежно уменьшение скорости обмена. Применяется редко, т.к. проигрывает RAID-5 по использованию дискового пространства. Реализация требует значительных затрат.
    Минимальное количество дисководов в массиве "RAID-3" - 3шт.

    RAID-4 . RAID-4 идентичен RAID-3 за исключением того, что размер страйпов много больше одного сектора. В этом случае чтение осуществляется с одного дисковода (не считая дисковода, хранящего информацию о четности), поэтому возможно одновременное выполнение нескольких операций чтения. Тем не менее, так как каждая операция записи должна обновить содержимое дисковода четности, одновременное выполнение нескольких операций записи невозможно. Этот тип массива не имеет заметных преимуществ перед массивом типа RAID-5.
    RAID-5. Этот тип массива иногда называется «массив с вращающейся четностью». Данный тип массива успешно преодолевает присущий RAID-4 недостаток - невозможность одновременного выполнения нескольких операций записи. В этом массиве, как и в RAID-4, используются страйпы большого размера, но, в отличие от RAID-4, информация о четности хранится не на одном дисководе, а на всех дисководах по очереди:

    Операции записи обращаются к одному дисководу с данными и к другому дисководу с информацией о четности. Так как информация о четности для разных страйпов хранится на разных дисководах выполнение нескольких одновременных операций записи невозможно только в тех редких случаях, когда либо страйпы с данными, либо страйпы с информацией о четности находятся на одном и том же дисководе. Чем больше дисководов в массиве, тем реже совпадает местоположение страйпов информации и четности.
    Область применения: надежные массивы большого объема. Реализация требует значительных затрат.
    Минимальное количество дисководов в массиве "RAID-5" - 3шт.

    RAID-1 или RAID-5?
    RAID-5 по сравнению с RAID-1 более экономно использует дисковое пространство, так как в нем для избыточности хранится не «копия» информации, а контрольное число. В результате в RAID-5 можно объединить любое количество дисководов, из которых только один будет содержать избыточную информацию.
    Но более высокая эффективность использования дискового пространства достигается за счет более низкой скорости обмена информацией. Во время записи информации в RAID-5 надо каждый раз обновлять информацию о четности. Для этого надо определить, какие именно биты четности изменились. Сначала считывается подлежащая обновлению старая информация. Затем эта информация перемножается по XOR с новой информацией. Результат этой операции - битовая маска, в которой каждый бит =1 означает, что в информации о четности в соответствующей позиции надо заменить значение. Затем обновленная информация о четности записывается на соответствующее место. Следовательно, на каждое требование программы записать информацию, RAID-5 совершает два чтения, две записи и две операции XOR.
    За то, что более эффективно используется дисковое пространство (вместо копии данных хранится блок четности) приходится платить: на генерацию и запись информации о четности уходит добавочное время. Это означает, что скорость записи на RAID-5 ниже, чем на RAID-1 в соотношении 3:5 или даже 1:3 (т.е. скорость записи на RAID-5 составляет от 3/5 до 1/3 от скорости записи RAID-1). Из-за этого RAID-5 бессмысленно создавать в программном варианте. Их также нельзя рекомендовать в тех случаях, когда именно скорость записи имеет решающее значение.

    Какой выбрать способ реализации RAID - программный или аппаратный?

    Прочитав описание различных уровней RAID можно заметить, что нигде не упоминаются какие-либо специфические требования к аппаратуре, которая необходима для реализации RAID. Из чего можно сделать вывод, что все, что нужно для реализации RAID - подключить необходимое количество дисководов к имеющемуся в компьютере контроллеру и установить на компьютер специальное программное обеспечение. Это верно, но не совсем!
    Действительно, существует возможность программной реализации RAID. Примером может служить ОС Microsoft Windows NT 4.0 Server, в которой возможна программная реализация RAID-0, -1 и даже RAID-5 (Microsoft Windows NT 4.0 Workstation обеспечивает только RAID-0 и RAID-1). Однако данное решение следует рассматривать, как крайне упрощенное, не позволяющее полностью реализовать возможности RAID-массива. Достаточно отметить, что при программной реализации RAID вся нагрузка по размещению информации на дисководах, вычислению контрольных кодов и т.д. ложится на центральный процессор, что естественно, не увеличивает производительности и надежности системы. По тем же причинам, здесь практически отсутствуют какие-либо сервисные функции и все операции по замене неисправного дисковода, добавления нового дисковода, изменения уровня RAID и т. п. производятся с полной потерей данных и при полном запрете выполнения каких-либо других операций. Единственное достоинство программной реализации RAID - минимальная стоимость.
    - специализированный контроллер освобождает центральный процессор от основных операций с RAID, причем эффективность контроллера тем более заметна, чем выше уровень сложности RAID;
    - контроллеры, как правило, снабжены драйверами, позволяющими создать RAID практически для любой популярной ОС;
    - встроенный BIOS контроллера и прилагаемые к нему программы управления позволяют администратору системы легко подключать, отключать или заменять дисководы, входящие в RAID, создавать несколько RAID-массивов, причем даже разных уровней, контролировать состояние дискового массива и т.д. У «продвинутых» контроллеров эти операции можно производить «на лету», т.е. не выключая системный блок. Многие операции могут быть выполнены в «фоновом режиме», т.е. не прерывая текущую работу и даже дистанционно, т.е. с любого (конечно при наличии доступа) рабочего места;
    - контроллеры могут оснащаться буферной памятью («кэш»), в которой запоминаются несколько последних блоков данных, что, при частом обращении к одним и тем же файлам, позволяет значительно увеличить быстродействие дисковой системы.
    Недостатком аппаратной реализации RAID является относительно высокая стоимость RAID-контроллеров. Однако, с одной стороны, за все (надежность, быстродействие, сервис) надо платить. С другой стороны, в последнее время, с развитием микропроцессорной техники, стоимость RAID-контоллеров (особенно младших моделей) стала резко падать и стала сравнимой со стоимостью обыкновенных дисковых контроллеров, что позволяет устанавливать RAID-системы не только в дорогие мэйнфреймы, но и в сервера начального уровня и даже в рабочие станции.

    Как выбрать модель RAID-контроллера?

    Можно выделить несколько типов RAID-контроллеров в зависимости от их функциональных возможностей, конструктивному исполнению и стоимости:
    1. Контроллеры дисковода с функциями RAID.
    По сути, это обыкновенный дисковый контроллер, который благодаря специальной прошивке BIOS позволяет объединять дисководы в RAID-массив, как правило, уровня 0, 1 или 0+1.

    Ultra (Ultra Wide) SCSI контроллер фирмы Mylex KT930RF (KT950RF).
    Внешне данный контроллер ни чем не отличается от обыкновенного SCSI-контроллера. Вся "специализация" находится в BIOS, который как бы разделен на две части - «Конфигурация SCSI» / «Конфигурация RAID». Несмотря на невысокую стоимость (менее $200) данный контроллер обладает неплохим набором функций:

    - объединение до 8-и дисководов в RAID 0, 1или 0+1;
    - поддержка Hot Spare для замены "на лету" вышедшего из строя дисковода;
    - возможность автоматической (без вмешательства оператора) замены неисправного дисковода;
    - автоматический контроль целостности и идентичности (для RAID-1) данных;
    - наличие пароля для доступа в BIOS;
    - программа RAIDPlus представляющая информацию о состоянии дисководов в RAID;
    - драйвера для DOS, Windows 95, NT 3.5x, 4.0