Яндекс.Метрика


Что такое Raid Массив ?
 
raid_massive.jpg (24.18 Kb)

RAID расшифровывается как Redundant Array of Inexpensive/Independent Disks – избыточный массив недорогих/независимых дисков и впервые был представлен в 1987 году. Изначально, подобные массивы строились в качестве резерва носителям на оперативной (RAM) памяти, которая в то время была дорогой. Со временем, аббревиатура приобрела второе значение – массив уже был из независимых дисков, подразумевая использование нескольких дисков, а не разделов одного диска, а также дороговизну (теперь уже относительно просто нескольких дисков) оборудования, необходимого для построения этого самого массива.

Если брать исторический аспект, то данная технология родилась в результате решения проблемы, связанной с нарушением функционирования вычислительного комплекса в результате потерей данных, находящихся в памяти, иными словами решения проблемы отказоустойчивости. Исследованиями занимался Норман Кен Учи, а в 1978 году он защитил свои разработки патентом.

Затем, в 1987 году, Девид Паттерсон, Гарт Гибсон и Рэнди Кац опубликовали статью, где ввели термин "RAID". Данная статья говорила о высокой скорости роста производительности процессоров и грядущей в будущем проблеме с производительностью дисковой подсистемы. Более того, к настоящему моменту рост производительности значительно опередил предсказания, и проблема стала более актуальной.


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

Что нужно для построения RAID-массива? Прежде всего, RAID-контроллер и, как минимум, два жестких диска (в зависимости от уровня — например, для массива RAID 5 требуется не менее трех HDD).

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

Raid массивы бывают разных типов. Изначально они предназначались для серверов, видимо, поэтому, когда 70% пользователей слышат о Raid массивах, представляют себе Raid-1 массив (зеркалирование).

Различают несколько основных уровней RAID-массивов: RAID 0, 1, 2, 3, 4, 5, 6, 7. Также существуют комбинированные уровни, такие как RAID 10, 0+1, 30, 50, 53 и т.п. Рассмотрим вкратце принципы функционирования, достоинства и недостатки основных уровней.


Raid 0 (Дисковый массив без отказоустойчивости (Striped Disk Array without Fault Tolerance))

Это тот тип массива, который нам интересен и который всё чаще используют в современных персональных компьютерах.
Для создания данного массива необходимо 2 и более жёстких дисков. Данные в данном массиве делятся между винчестерами, например, файл, содержащий такие данные "AAABBBCCC" между тремя винчестерами будет поделён следующим образом:
1-винчестер:"AAA"
2-винчестер:"BBB"
3-винчестер:"CCC".

Как видите, при чтении данных, скорость чтения возрастёт в три раза. Заманчиво, не правда ли?
Особенности:
1. Винчестеры должны быть одинаковыми.
2. При сгорании одного винчестера теряется вся информация.
3. Приближение к реальной скорости к теоритической, больше зависит от эффективности контролёра.
4. Объём массива равен сумме объёмов винчестеров.

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


Raid 1 (Дисковый массив с зеркалированием (Mirroring & Duplexing))

Дисковый массив с дублированием информации (зеркалированием данных). В простейшем случае два накопителя содержат одинаковую информацию и являются одним логическим диском.
Данный тип применяют в серверах баз данных. Необходимо строго чётное количество дисков.
Данные из одного диска копируются на другой диск, и оба диска содержат одинаковую информацию. В случае сбоя одного диска, стоит заменить его, и контролёр автоматически восстановит информацию на нём.
Как вы понимаете, увеличения скорости нет. Даже имеется некоторое замедление. Объём массива равен объёму одного винчестера.

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

RAID 2 (Отказоустойчивый дисковый массив с использованием кода Хемминга (Hamming Code ECC))

Схема резервирования данных с использованием кода Хэмминга (Hamming code) для коррекции ошибок. Поток данных разбивается на слова — причем размер слова соответствует количеству дисков для записи данных. Для каждого слова вычисляется код коррекции ошибок, который записывается на диски, выделенные для хранения контрольной информации. Их число равно количеству бит в слове контрольной суммы.
Если слово состоит из четырех бит, то под контрольную информацию отводится три диска. RAID 2 — один из немногих уровней, позволяющих обнаруживать двойные ошибки и исправлять "на лету" одиночные. При этом он является самым избыточным среди всех уровней с контролем четности. Эта схема хранения данных не получила коммерческого применения, поскольку плохо справляется с большим количеством запросов.


RAID 3 (Отказоустойчивый дисковый массив с параллельной передачей данных и четностью (Parallel Transfer Disks with Parity))

Отказоустойчивый массив с параллельным вводом/выводом данных и диском контроля четности. Поток данных разбивается на порции на уровне байт (хотя возможно и на уровне бит) и записывается одновременно на все диски массива, кроме одного. Один диск предназначен для хранения контрольных сумм, вычисляемых при записи данных. Поломка любого из дисков массива не приведет к потере информации.
Этот уровень имеет намного меньшую избыточность, чем RAID 2. Во втором рэйде большинство дисков, хранящих контрольную информацию, нужны для определения неисправного разряда. Как правило, RAID-контроллеры могут получить данные об ошибке с помощью механизмов отслеживания случайных сбоев. За счет разбиения данных на порции RAID 3 имеет высокую производительность. Поскольку при каждой операции ввода/вывода производится обращение практически ко всем дискам массива, то одновременная обработка нескольких запросов невозможна.

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


RAID 4 (Отказоустойчивый массив независимых дисков с общим диском четности (Independent Data Disks with Shared Parity Disk))

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

Raid 5 (Отказоустойчивый массив независимых дисков с распределенной четностью (Independent Data Disks with Distributed Parity Blocks))

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

Самый распространенный уровень. Блоки данных и контрольные суммы циклически записываются на все диски массива, отсутствует выделенный диск для хранения информации о четности, нет асимметричности конфигурации дисков.
Один из трудных для понимания типов массива, попытался изобразить, надеюсь станет всё понятно.
Вот, к примеру, у нас 4-винчестера. Один файл контролёром делится на куски: a, b, c ,d.
Затем каждый блок записывается на каждый винчестер. На каждом винчестере выделяется блок информации, который будет считываться, и сравниваться с соседним.
Как видите, так мы получаем высокую производительность и безотказность массива, даже если будет удалён один из винчестеров. Давший сбой винчестер можно заменить при работающем массиве.
Результирующий объём массива равен объёму одного винчестера.

В случае RAID 5 все диски массива имеют одинаковый размер — но один из них невидим для операционной системы. Например, если массив состоит из пяти дисков емкостью 10 Гб каждый, то фактически размер массива будет равен 40 Гб — 10 Гб отводится на контрольные суммы. В общем случае полезная емкость массива из N дисков равна суммарной емкости N–1 диска.

Самый большой недостаток уровней RAID от 2-го до 4-го — это наличие отдельного диска (или дисков), хранящего информацию о четности. Скорость выполнения операций считывания достаточно высока, так как не требует обращения к этому диску. Но при каждой операции записи на нем изменяется информация, поэтому схемы RAID 2-4 не позволяют проводить параллельные операции записи. RAID 5 не имеет этого недостатка, так как контрольные суммы записываются на все диски массива, что делает возможным выполнение нескольких операций чтения или записи одновременно. RAID 5 имеет достаточно высокую скорость записи/чтения и малую избыточность.


Преимущества:

* высокая скорость записи данных;
* достаточно высокая скорость чтения данных;
* высокая производительность при большой интенсивности запросов чтения/записи данных;
* высокий коэффициент использования дискового пространства.


Недостатки:

* низкая скорость чтения/записи данных малого объема при единичных запросах;
* достаточно сложная реализация;
* сложное восстановление данных.


RAID 6 (Отказоустойчивый массив независимых дисков с двумя независимыми распределенными схемами четности (Independent Data Disks with Two Independent Distributed Parity Schemes))

Этот уровень имеет очень высокую отказоустойчивость, большую скорость считывания (данные хранятся блоками, нет выделенных дисков для хранения контрольных сумм). В то же время из-за большого объема контрольной информации RAID 6 имеет низкую скорость записи. Он очень сложен в реализации, характеризуется низким коэффициентом использования дискового пространства: для массива из пяти дисков он составляет всего 60%, но с ростом числа дисков ситуация исправляется.
RAID 6 по многим характеристикам проигрывает другим уровням, поэтому на сегодня не получил коммерческого применения.


RAID 7 (Отказоустойчивый массив, оптимизированный для повышения производительности (Optimized Asynchrony for High I/O Rates as well as High Data Transfer Rates))

В отличие от других уровней, RAID 7 не является открытым индустриальным стандартом — это зарегистрированная торговая марка компании Storage Computer Corporation. Массив основывается на концепциях, использованных в третьем и четвертом уровнях. Добавилась возможность кэширования данных. В состав RAID 7 входит контроллер со встроенным микропроцессором под управлением операционной системы реального времени (real-time OS). Она позволяет обрабатывать все запросы на передачу данных асинхронно и независимо.
Блок вычисления контрольных сумм интегрирован с блоком буферизации; для хранения информации о четности используется отдельный диск, который может быть размещен на любом канале. RAID 7 имеет высокую скорость передачи данных и обработки запросов, хорошую масштабируемость. Самым большим недостатком этого уровня является стоимость его реализации.


Комбинированные (nested) уровни RAID

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

RAID 0+1

Инженеры научной мысли думали, думали, над тем как лишить Raid 0 массив от своего главного недостатка — потеря информации в случае сбоя и Raid 1 массив — от низкой скорости. И вот, придумали объединить данные массивы.
Для данного массива необходимо уже минимум 4 винчестера. Есть увеличение скорости, есть безопасность информации.
Объём массива равен объёму половины суммы винчестеров.


RAID 1+0 (RAID 10)

Является страйпом зеркал, то есть, массивом RAID 0, построенным из RAID 1 массивов. Практически аналогичен предыдущему решению.

RAID 0+3

Массив с выделенной чётностью над чередованием. Является массивом 3-го уровня, в котором данные блоками разбиваются и пишутся на массивы RAID 0. Комбинации, кроме простейших 0+1 и 1+0 требуют специализированных контроллеров, зачастую достаточно дорогих. Надёжность данного вида ниже, чем у следующего варианта.

RAID 3+0

Также известен, как RAID 30. Является страйпом (массивом RAID 0) из массивов RAID 3. Обладает весьма высокой скорость передачи данных, вкупе с неплохой отказоустойчивостью. Данные сначала разделяются на блоки (как в RAID 0) и попадают на массивы-элементы. Там они опять делятся на блоки, считается их чётность, блоки пишутся на все диски кроме одного, на который пишутся биты чётности. В данном случае, из строя может выйти один из дисков каждого из входящих в состав RAID 3 массива.

RAID 5+0 (RAID 50)

Создаётся путём объединения массивов RAID 5 в массив RAID 0. Обладает высокой скоростью передачи данных и обработки запросов. Обладает средней скоростью восстановления данных и хорошей стойкостью при отказе. Комбинация RAID 0+5 также существует, но больше теоретически, так как даёт слишком мало преимуществ.

RAID 5+1 (RAID 51)

Сочетание зеркалирования и чередования с распределённой четностью. Также вариантом является RAID 15 (1+5). Обладает очень высокой отказоустойчивостью. Массив 1+5 способен работать при отказе трех дисков, а 5+1 – пяти из восьми дисков.

RAID 6+0 (RAID 60)

Чередование с двойной распределённой четностью. Иными словами – страйп из RAID 6. Как уже говорилось применительно к RAID 0+5, RAID 6 из страйпов не получил распространения (0+6). Подобные приёмы (страйп из массивов с четностью) позволяют повысить скорость работы массива. Ещё одним преимуществом является то, что так можно легко повысить объём, не усложняя ситуации с задержками, необходимыми на вычисление и запись большего числа битов четности.

RAID 10+0 (RAID 100)

RAID 100, также пишущийся как RAID 10+0, является страйпом из RAID 10. По своей сути, он схож с более широким RAID 10 массивом, где используется вдвое больше дисков. Но именно такой "трехэтажной" структуре есть своё объяснение. Чаще всего RAID 10 делают аппаратным, то есть силами контроллера, а уже страйп из них делают программно. К такой уловке прибегают, чтобы избежать проблемы, о которой говорилось в начале статьи – контроллеры имеют свои ограничения по масштабируемости и если воткнуть в один контроллер двойное число дисков, прироста можно при некоторых условиях вообще не увидеть. Программный же RAID 0 позволяет создать его на базе двух контроллеров, каждый из которых держит на борту RAID 10. Так, мы избегаем "бутылочного горлышка" в лице контроллера. Ещё одним полезным моментом является обход проблемы с максимальным числом разъёмов на одном контроллере – удваивая их число, мы удваиваем и число доступных разъёмов.

Нестандартные режимы RAID

Двойная четность (Double Parity)

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

RAID-DP

Является разработкой NetApp RAID массива с двойной четностью и подпадает под обновленное определение RAID 6. Использует отличную от классической RAID 6 реализации схему записи данных. Запись ведется сначала на кеш NVRAM, снабжённый источником бесперебойного питания, чтобы предотвратить потерю данных при отключении электричества. Программное обеспечение контроллера, по возможности, пишет только цельные блоки на диски. Такая схема предоставляет большую защиту, чем RAID 1 и имеет более высокую скорость работы, нежели обычный RAID 6.

RAID 1,5

Был предложен компанией Highpoint, однако теперь применяется очень часто в контроллерах RAID 1, без каких-либо выделений данной особенности. Суть сводится к простой оптимизации – данные пишутся как на обычный массив RAID 1 (чем 1,5 по сути и является), а читают данные с чередованием с двух дисков (как в RAID 0). В конкретной реализации от Highpoint, применявшейся на платах DFI серии LanParty на чипсете nForce 2, прирост был едва заметным, а порой и нулевым. Связано это, вероятно, с невысокой скоростью контроллеров данного производителя в целом в то время.

RAID 1E

Комбинирует в себе RAID 0 и RAID 1. Создаётся минимум на трёх дисках. Данные пишутся с чередованием на три диска, а со сдвигом на 1 диск пишется их копия. Если пишется один блок на три диска, то копия первой части пишется на второй диск, второй части – на третий диск. При использовании четного числа дисков лучше, конечно, использовать RAID 10.

RAID 5E

Обычно при построении RAID 5 один диск оставляют свободным (spare), чтобы в случае сбоя система сразу стала перестраивать (rebuild) массив. При обычной работе этот диск работает вхолостую. Система RAID 5E подразумевает использование этого диска в качестве элемента массива. А объём этого свободного диска распределяется по всему массиву и находится в конце дисков. Минимальное число дисков – 4 штуки. Доступный объём равен n-2, объём одного диска используется (будучи распределенным между всеми) для четности, объем еще одного – свободный. При выходе из строя диска происходит сжатие массива до 3-х дисков (на примере минимального числа) заполнением свободного пространства. Получается обычный массив RAID 5, устойчивый к отказу ещё одного диска. При подключении нового диска, массив расжимается и занимает вновь все диски. Стоит отметить, что во время сжатия и распаковки диск не является устойчивым к выходу еще одного диска. Также он недоступен для чтения/записи в это время. Основное преимущество – большая скорость работы, поскольку чередование происходит на большем числе дисков. Минус – что нельзя данный диск назначать сразу к нескольким массивам, что возможно в простом массиве RAID 5.

RAID 5EE

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

RAID 6E

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

RAID 7

Данная технология является зарегистрированной торговой маркой фирмы Storage Computer Corporation. Массив, основывающийся на RAID 3, 4, оптимизированный для повышения производительности. Основное преимущество заключается в использовании кеширования операций чтения/записи. Запросы на передачу данных осуществляются асинхронно. При построении используются диски SCSI. Скорость выше решений RAID 3,4 приблизительно в 1,5-6 раз.

RAID-K

Разработан компанией Kaleidescape для использования в своих медиа устройствах. Схож с RAID 4 с использованием двойной четности, но использует другой метод отказоустойчивости. Пользователь может легко расширять массив, просто добавляя диски, причём в случае, если он содержит данные, данные будут просто добавлены в него, вместо удаления, как это требуется обычно.

RAID-Z

Разработка компании Sun. Самой большой проблемой RAID 5 является потеря информации в результате отключения питания, когда информация из дискового кеша (который является энергозависимой памятью, то есть не хранит данные без электричества) не успела сохраниться на магнитные пластины. Такое несовпадение информации в кеше и на диске называют некогерентностью. Сама организация массива связана с файловой системой Sun Solaris – ZFS. Используется принудительная запись содержимого кеш-памяти дисков, восстанавливать можно не только весь диск, но и блок "на лету", когда контрольная сумма не совпала. Ещё немаловажным аспектом является идеология ZFS – она не меняет данные при необходимости. Вместо этого она пишет обновлённые данные и потом, убедившись, что операция прошла уже удачно, меняет указатель на них. Таким образом, удаётся избежать потери данных при модификации. Мелкие файлы дублируются вместо создания контрольных сумм. Это тоже делается силами файловой системы, поскольку она знакома со структурой данных (массивом RAID) и может выделять место под эти цели. Существует также RAID-Z2, которая, подобно RAID 6 способна выдержать отказ двух дисков с помощью использования двух контрольных сумм.

JBOD

То, что не является RAID в принципе, но часто вместе с ним употребляется. Дословно переводится как "просто набор дисков" (just a bunch of disks) Технология объединяет все диски, установленные в системе в один большой логический диск. То есть, вместо трех дисков будет виден один крупный. Используется весь суммарный объем дисков. Ускорения ни надежности, ни производительности нет. (c) (c)


 (Голосов: 0)

 Raid, Massive, Зеркала, Жёсткий диск, Зеркалирование, Резервное копирование, Дисковой массив, Винчестер, Массив, Raid Massive

 
автор: GrulezZ | дата 10 мая 2011



Copyright © 2008-13