Xserve RAID
- 1 year ago
- 0
- 0
RAID ( англ. Redundant Array of Independent Disks — избыточный массив независимых (самостоятельных) дисков ) — технология виртуализации данных для объединения нескольких физических дисковых устройств в логический модуль для повышения отказоустойчивости и (или) производительности.
Термин «RAID» был предложен в 1987 году Петтерсоном ( David A. Patterson ), Гибсоном ( Garth A. Gibson ) и ( Randy H. Katz ) как сокращение от англ. Redundant Array of Inexpensive Disks («избыточный массив недорогих дисков»). В своей презентации они аргументировали своё изобретение относительно небольшой стоимостью массива дешёвых дисков, предназначенных для персональных компьютеров , в сравнении с дисками большой ёмкости, которые они назвали «SLED» ( Single Large Expensive Drive ) .
Позднее расшифровка термина изменилась на Redundant Array of Independent Disks (избыточный массив независимых (самостоятельных) дисков), потому что в массивах зачастую использовались дорогие серверные диски.
Петтерсон с коллегами из Беркли представили спецификации пяти уровней RAID, которые стали стандартом де факто :
Среди современных реализаций массивов RAID представлены дополнительные уровни спецификации:
Аппаратный контроллер RAID может иметь и одновременно поддерживать несколько RAID-массивов различных уровней. При этом многие контроллеры RAID, встроенные в материнскую плату, в настройках BIOS имеет всего два состояния (включён или отключён), поэтому новый жёсткий диск, подключённый в незадействованный разъём контроллера при активированном режиме RAID, может игнорироваться системой, пока он не будет ассоциирован как ещё один RAID-массив типа JBOD (spanned), состоящий из одного диска. [ источник не указан 899 дней ]
Уровни RAID, реализуемые средствами файловой системы ZFS : [ источник не указан 899 дней ]
RAID 0 (striping — «чередование») — дисковый массив из двух или более жёстких дисков без резервирования. Информация разбивается на блоки данных ( ) фиксированной длины и записывается на оба/несколько дисков поочередно, то есть один блок ( ) на первый диск, а второй блок ( ) на второй диск соответственно.
Достоинства:
Недостатки:
RAID 1 (mirroring — «зеркалирование») — массив из двух дисков, являющихся полными копиями друг друга. Не следует путать с массивами RAID 1+0 (RAID 10), RAID 0+1 (RAID 01), в которых используются более сложные механизмы зеркалирования.
Достоинства:
Недостатки:
Массивы такого типа основаны на использовании кода Хэмминга . Диски делятся на две группы: для данных и для кодов коррекции ошибок, причём если данные хранятся на дисках, то для хранения кодов коррекции необходимо дисков. Суммарное количество дисков при этом будет равняться . Данные распределяются по дискам, предназначенным для хранения информации, так же, как и в RAID 0, то есть они разбиваются на небольшие блоки по числу дисков. Оставшиеся диски хранят коды коррекции ошибок, по которым в случае выхода какого-либо жёсткого диска из строя возможно восстановление информации. Метод Хэмминга давно применяется в памяти типа ECC и позволяет на лету исправлять однократные и обнаруживать двукратные ошибки.
Достоинством массива RAID 2 является повышение скорости дисковых операций по сравнению с производительностью одного диска.
Недостатком массива RAID 2 является то, что минимальное количество дисков, при котором имеет смысл его использовать — 7, только начиная с этого количества для него требуется меньше дисков, чем для RAID 1 (4 диска с данными, 3 диска с кодами коррекции ошибок), в дальнейшем избыточность уменьшается по экспоненте.
В массиве RAID 3 из дисков данные разбиваются на куски размером меньше сектора (разбиваются на байты) и распределяются по дискам. Ещё один диск используется для хранения блоков чётности. В RAID 2 для этой цели применялось дисков, но большая часть информации на контрольных дисках использовалась для коррекции ошибок «на лету», в то же время большинство пользователей устраивает простое восстановление информации в случае её повреждения (с применением операции XOR), для чего хватает данных, умещающихся на одном выделенном жёстком диске.
Отличия RAID 3 от RAID 2: невозможность коррекции ошибок на лету.
Достоинства:
Недостатки:
RAID 4 похож на RAID 3, но отличается от него тем, что данные разбиваются на блоки, а не на байты. Таким образом, удалось отчасти «победить» проблему низкой скорости передачи данных небольшого объёма. Запись же производится медленно из-за того, что чётность для блока генерируется при записи и записывается на единственный диск.
Из широко распространённых систем хранения RAID-4 применяется на устройствах компании NetApp (NetApp FAS), где его недостатки успешно устранены за счет работы дисков в специальном режиме групповой записи, определяемом используемой на устройствах внутренней файловой системой WAFL .
RAID 5 — дисковый массив с чередованием блоков данных и контролем чётности .
Основным недостатком уровней RAID от 2-го до 4-го является невозможность производить параллельные операции записи, так как для хранения информации о чётности используется отдельный контрольный диск. RAID 5 не имеет этого недостатка. Блоки данных и контрольные суммы циклически записываются на все диски массива, нет асимметричности конфигурации дисков. Под контрольными суммами подразумевается результат операции XOR (исключающее или). Xor обладает особенностью, которая даёт возможность заменить любой операнд результатом, и, применив алгоритм xor, получить в результате недостающий операнд. Например: a xor b = c (где a , b , c — три диска рейд-массива), в случае если a откажет, мы можем получить его, поставив на его место c и проведя xor между c и b : c xor b = a . Это применимо вне зависимости от количества операндов: a xor b xor c xor d = e . Если отказывает c , тогда e встаёт на его место и, проведя xor , в результате получаем c : a xor b xor e xor d = c . Этот метод по сути обеспечивает отказоустойчивость 5 версии. Для хранения результата xor требуется всего 1 диск, размер которого равен размеру любого другого диска в RAID.
Минимальное количество используемых дисков равно трём.
Достоинства:
Недостатки:
При выходе из строя одного диска надёжность тома сразу снижается до уровня RAID 0 с соответствующим количеством дисков n−1, то есть в n−1 раз ниже надёжности одного диска — данное состояние называется критическим (degrade или critical). Для возвращения массива к нормальной работе требуется длительный процесс восстановления, связанный с ощутимой потерей производительности и повышенным риском. В ходе восстановления (rebuild или reconstruction) контроллер осуществляет длительное интенсивное чтение, которое может спровоцировать выход из строя ещё одного или нескольких дисков массива. Кроме того, в ходе чтения могут выявляться ранее не обнаруженные сбои чтения в массивах cold data (данных, к которым не обращаются при обычной работе массива, архивные и малоактивные данные), препятствующие восстановлению. Если до полного восстановления массива произойдет выход из строя, или возникнет невосстановимая ошибка чтения хотя бы на ещё одном диске, то массив разрушается и данные на нём восстановлению обычными методами не подлежат. Для предотвращения таких ситуаций в RAID-контроллерах может применяться анализ атрибутов S.M.A.R.T.
RAID 6 — массив из четырёх или более дисков с проверкой чётности P+Q или DP, разработанный для защиты от потери данных при выходе из строя сразу двух жестких дисков в массиве. Такая надёжность достигается за счёт снижения производительности и уменьшения ёмкости — для восстановления информации нужно провести две вычислительные операции, и два диска в массиве используются не для хранения данных, а для контроля их целостности и восстановления при сбоях. За счёт двух дисков избыточности он имеет более высокую степень надёжности. Среди дисковых массивов RAID 6 — самый надёжный, но и самый медленный. Скорость записи данных в массиве RAID 6 заметно, до 50 % ниже, чем в RAID 5 даже на целом массиве RAID 6, скорость чтения при этом у RAID 6 P+Q не сильно отличается от таковой у RAID 5 и RAID 10 .
RAID 6 требует не менее четырёх дисков — два или более дисков данных и два диска контроля чётности .
Ситуация | RAID 5 | RAID 6 P+Q | RAID 6 DP |
---|---|---|---|
Факультативная запись | 100 % | 50 % | 50 % |
Последовательный доступ | 100 % | 90 % | 60 % |
Восстановление одного диска в массиве | 100 % | ~100 % | медленнее |
Варианты RAID 6 :
В зависимости от реализации, массивы RAID 6 DP могут иметь разные ограничения по количеству требуемых дисков. Во многих реализациях число дисков в массиве должно быть простым числом (например, 5, из которых 3 диска данных и 2 диска чётности; 7, из которых 5 дисков данных и 2 диска чётности; 11, из которых 9 дисков данных и 2 диска чётности и т. д.), у некоторых реализаций другое требование — число дисков массива должно быть на единицу меньше простого числа (4, 6, 10 и т. д.). Такие ограничения снижают гибкость в построении массивов данных .
Ограничения в вариантах по количеству дисков в массиве RAID 6 DP связаны со сложностью вычисления двойной четности «вертикальной полосы» данных на произвольном количестве дисков. Реализации с числом дисков, кратным простому числу, позволяют использовать простые алгоритмы для контроля целостности данных, тогда как в реализациях без таких ограничений используются сложные алгоритмы, что ещё сильнее замедляет работу дискового массива .
Преимуществом RAID 6 является его надёжность — она максимальна из всех массивов данных RAID, это обуславливает область применения массивов RAID 6 — вычислительные среды, в которых требуется обеспечить высокий уровень непрерывной готовности данных .
Недостатки RAID 6 — относительно большие затраты и потери в производительности по сравнению с RAID 5. Производительность RAID 6 — самая низкая среди всех массивов RAID .
В большинстве реализаций RAID 6 P+Q используется полином ( многочлен ) поля Галуа , при этом первый член полинома представляет собой исключающее «или» , используемое в RAID 5 (его значение записывается на диск «P»), второй член полинома более сложный, обычно он представляет собой исключающее «или» с множителем . Реализации RAID 6 DP используют вычисление исключающего «или» как для горизонтальных, так и для вертикальных полос бит в дисковом массиве, каждый из дисков чётности хранит свою чётность (горизонтальную или вертикальную) .
Помимо базовых уровней RAID от 0-го до 6-го, описанных в стандарте «Common RAID Disk Drive Format (DEF) standard», существуют комбинированные уровни с названиями вида «RAID α+β» или «RAID αβ», что обычно означает «RAID β, составленный из нескольких RAID α» (иногда производители интерпретируют это по-своему), иногда их назвают hybrid RAID .
Например: [ источник не указан 899 дней ]
Комбинированные уровни наследуют как преимущества, так и недостатки своих «родителей»: появление чередования в уровне RAID 5+0 нисколько не добавляет ему надёжности, но зато положительно отражается на производительности. Уровень RAID 1+5, наверное, очень надёжный, но не самый быстрый и, к тому же, крайне неэкономичный: полезная ёмкость тома меньше половины суммарной ёмкости дисков.
Массив RAID 01 (RAID 0+1) называют «зеркалом страйпов» . Он представляет собой массив типа RAID 1, состоящий из двух вложенных массивов типа RAID 0. Количество дисков в обоих вложенных массивах RAID 0 должно быть одинаковым, из-за этой особенности данный тип может работать лишь с чётным количеством дисков.
В зависимости от производителя RAID-контроллера, под RAID 0+1 может подразумеваться и другая конфигурация, кроме того, некоторые модели предлагают создание RAID 0+1 на нечётном количестве устройств , фактически реализуя под этим названием RAID 1E.
Как и в «чистом» RAID 1, полезный объём массива составляет половину суммарного объёма всех дисков (если это диски одинаковой ёмкости).
Отказоустойчивость у RAID 01 ниже, чем у RAID 10 при примерно одинаковой производительности и равном объёме, поэтому данный вид RAID практически не применяется.
RAID 10 (RAID 1+0) — зеркалированный массив, данные в котором записываются последовательно на несколько дисков, как в RAID 0. Эта архитектура представляет собой массив типа RAID 0, сегментами которого вместо отдельных дисков являются массивы RAID 1. Соответственно, массив этого уровня должен содержать как минимум 4 диска (и всегда чётное количество). RAID 10 объединяет в себе высокую отказоустойчивость и производительность.
RAID 10 является достаточно надёжным вариантом для хранения данных в связи с тем, что весь массив RAID 10 будет выведен из строя только после выхода из строя всех накопителей в одном и том же массиве RAID 1. В общем массиве из 4 дисков при одном вышедшем из строя накопителе, шанс выхода из строя второго в одном и том же массиве равен 1/3×100%=33 %.
Для сравнения: RAID 0+1 выйдет из строя при двух накопителях, вышедших из строя в разных массивах. Шанс выхода из строя накопителя в соседнем массиве равен 2/3×100=66 %. Однако, так как массив RAID 0 с вышедшим из строя накопителем уже не используется, то оставшийся исправным накопитель в этом массиве можно исключить из расчёта, и получим шанс того, что следующий накопитель выведет из строя массив — 2/2×100=100 %.
Некоторые производители, например HP, использует в своих RAID контроллерах (HP Smart Array P400) обозначение RAID 1+0 не только для RAID 10. Тип RAID будет зависеть от количества дисков используемых в конфигурации. Выбрав RAID 1+0 в конфигурации из 2х дисков позволит получить RAID 1, а для 4 дисков - RAID 10.
RAID 1E (enhanced — усовершенствованный) — зеркало, способное работать на нечётном количестве устройств.
Существуют как минимум два разных алгоритма RAID 1E:
В руководстве к вашему RAID-контроллеру может не указываться, какой именно тип RAID 1E (near или interleaved) он поддерживает . Общим для них является то, что они хорошо подходят для создания массива из трёх дисковых устройств.
В RAID 1E near первый блок данных записывается на диск № 1 и на диск № 2 (полная копия, как при RAID 1). Следующий блок — на диск № 3 и диск № 4 (если диски закончились, например, диска № 4 в массиве нет, 3-й диск последний — контроллер возвращается к диску № 1 и переходит к следующей полоске).
В RAID 1E interleaved данные чередуются по полоскам: в первую полоску пишутся сами данные, во вторую — их копия. При переходе от одной полоски к другой увеличивается индекс устройства, с которого начинается запись. Таким образом, первый блок данных записывается на диск № 1 в первой полоске и на диск № 2 во второй полоске, второй блок данных — на диск № 2 в первой полоске и на диск № 3 во второй полоске и так далее.
Результирующая ёмкость массива с использованием RAID 1E составляет , где N — количество дисков в массиве, а S — ёмкость наименьшего из них.
Преимущества:
Недостатки:
Минимальное количество дисков — три (при двух — неотличим от RAID 1).
RAID 7 — зарегистрированная торговая марка компании , отдельным уровнем RAID не является. Структура массива такова: на дисках хранятся данные, один диск используется для складирования блоков чётности. Запись на диски кэшируется с использованием оперативной памяти, сам массив требует обязательного ИБП ; в случае перебоев с питанием происходит повреждение данных.
Число 7 в названии создаёт впечатление, что система чем-то превосходит своих «младших братьев» RAID 5 и 6, но математика RAID 7 не отличается от RAID 4, а кэш и батареи используются в RAID-контроллерах любых уровней (чем дороже контроллер, тем больше вероятность наличия этих компонентов). Поэтому, хотя никто не отрицает, что RAID 7 обладает высокой надёжностью и скоростью работы, — это не промышленный стандарт, а скорее маркетинговый ход единственной компании-производителя таких устройств, и только эта компания осуществляет для них техническую поддержку .
Существует модификация RAID-4 компании NetApp — RAID-DP (Dual Parity). Отличие от традиционного массива заключается в выделении под контрольные суммы двух отдельных дисков. Благодаря взаимодействию RAID-DP и файловой системы WAFL (все операции записи последовательны и производятся на свободное место) пропадает падение производительности как в сравнении с RAID-5, так и в сравнении с RAID-6.
Представляют собой плату расширения, либо размещаются вне сервера (например, в составе внешней дисковой подсистемы либо NAS ) . Имеют собственный процессор, многие имеют кэш-память для ускорения работы. В устройства подороже опционально устанавливаются батареи (Battery Backup Unit, сокр. BBU, химические , либо конденсаторные ) для сохранения данных в кэше в случае аварийного отключения электропитания. Конденсаторные батареи более современные, но более дорогие, поскольку дополнительно требуют наличия модуля энергонезависимой FLASH-памяти, куда при аварии будет копироваться кэш. Такие батареи не портятся со временем и, в отличие от химических, не требуют замены в течение срока службы сервера .
Для подключения дисков контроллер может иметь внутренние, либо внешние порты, либо и те, и другие. Порты могут быть выполнены по различным стандартам (см. для примера список внутренних и внешних разъёмов SAS , а также SFF-8639 ).
Контроллеры различных производителей, как правило, не совместимы и не взаимозаменяемы между собой — это следует иметь в виду в случае выхода из строя платы контроллера. Информация о конфигурации RAID-массива хранится на дисках, но прочитать её, даже с полностью исправных дисков, и воссоздать массив сможет только контроллер того же производителя . Для предотвращения подобных проблем существуют кластерные дисковые системы . Программные RAID-массивы также лишены этого недостатка.
Многие RAID-контроллеры оснащены набором дополнительных функций:
Уровень | Количество дисков | Эффективная ёмкость | Допустимое количество вышедших из строя дисков | Надёжность | Скорость чтения | Скорость записи | Примечание |
---|---|---|---|---|---|---|---|
0 | от 2 | S×N | нет | очень низкая | высокая | высокая | Потеря данных при выходе из строя любого из дисков! |
1 | от 2 | S | N−1 дисков | очень высокая | средняя | средняя | N-кратная стоимость дискового пространства; максимально возможная надёжность; минимально возможный размер, скорость чтения/записи одиночного диска |
1E | от 3 | S×N/2 | от 1 до N/2−1 дисков | высокая | высокая | низкая | Потеря данных при одновременном выходе из строя любых двух соседних дисков, либо первого с последним |
10 | от 4, чётное | S×N/2 | от 1 до N/2 дисков | высокая | высокая | высокая | двойная стоимость дискового пространства, потеря данных при выходе из строя группы зеркалирования (RAID 1), возможна работа, если хотя бы один любой диск из группы зеркалирования (RAID 1) выживает в каждой группе зеркалирования (RAID 1). |
01 | от 4, чётное | S×N/2 | от 1 до N/2 дисков | низкая | высокая | высокая | двойная стоимость дискового пространства, потеря данных при выходе из строя группы зеркалирования (RAID 1), возможна работа, только если выживают все диски одной любой группы чередования (RAID 0). |
5 | от 3 | S×(N−1) | 1 диск | средняя | высокая | средняя | |
50 | от 6, чётное | S×(N−2) | от 1 до 2 дисков | средняя | высокая | высокая | |
51 | от 6, чётное | S×(N−2)/2 | от 2 до N/2+1 дисков | высокая | высокая | низкая | двойная стоимость дискового пространства |
5E | от 4 | S×(N−2) | 1 диск | средняя | высокая | высокая |
резервный накопитель работает
на холостом ходу и не проверяется |
5EE | от 4 | S×(N−2) | 1 диск | средняя | высокая | высокая |
резервный накопитель работает
на холостом ходу и не проверяется |
6 | от 4 | S×(N−2) | 2 диска | высокая | высокая | низкая или средняя | скорость записи в зависимости от реализации (может соответствовать скорости записи RAID 5) |
60 | от 8, чётное | S×(N−4) | от 2 до 4 дисков | средняя | высокая | средняя | |
61 | от 8, чётное | S×(N−2)/2 | от 4 до N/2+2 дисков | высокая | высокая | низкая | двойная стоимость дискового пространства |
Для реализации RAID можно применять не только аппаратные средства, но и полностью программные компоненты ( драйверы ). Например, в системах на ядре Linux поддержка существует непосредственно на уровне ядра . Управлять RAID-устройствами в Linux можно с помощью утилиты mdadm . Программный RAID имеет свои достоинства и недостатки. С одной стороны, он ничего не стоит (в отличие от аппаратных ). С другой стороны, программный RAID использует некоторое количество ресурсов центрального процессора .
Ядро Linux 2.6.28 поддерживает программные RAID уровней 0, 1, 4, 5, 6 и 10. Реализация позволяет создавать RAID на отдельных разделах дисков, что аналогично описанному ниже Matrix RAID. Поддерживается загрузка с RAID.
ОС семейства Windows NT , такие как Windows NT 3.1/3.5/3.51/ NT4 / 2000 / XP / 2003 изначально, с момента проектирования данного семейства, поддерживают программный RAID 0, RAID 1 и RAID 5 (см. Dynamic Disk ). Windows XP Home не поддерживает RAID. Windows XP Pro поддерживает RAID 0, а поддержка RAID 1 и RAID 5 заблокирована разработчиками, но тем не менее может быть включена путём редактирования системных бинарных файлов ОС, что запрещено лицензионным соглашением . Windows 7 поддерживает программный RAID 0 и RAID 1, Windows Server 2003 — 0, 1 и 5.
В ОС FreeBSD есть несколько реализаций программного RAID. Так, atacontrol, может как полностью строить программный RAID, так и может поддерживать полуаппаратный RAID на таких чипах, как ICH5R. Во FreeBSD, начиная с версии 5.0, дисковая подсистема управляется встроенным в ядро механизмом GEOM. GEOM предоставляет модульную дисковую структуру, благодаря которой родились такие модули как gstripe (RAID 0), gmirror (RAID 1), graid3 (RAID 3), gconcat (объединение нескольких дисков в единый дисковый раздел). Также существуют устаревшие классы ccd (RAID 0, RAID 1) и gvinum (менеджер логических томов vinum). Начиная с FreeBSD 7.2 поддерживается файловая система ZFS , в которой можно собирать уровни 0, 1, 5 и 6, а также комбинируемые уровни.
OpenSolaris и Solaris 10 используют Solaris Volume Manager , который поддерживает RAID 0, RAID 1, RAID 5 и любые их комбинации, как 1+0. Поддержка RAID 6 осуществляется в файловой системе ZFS .
Matrix RAID — это технология, реализованная фирмой Intel в южных мостах своих чипсетов , начиная с ICH6R. Эта технология не является новым уровнем RAID и не имеет аппаратной поддержки. Средства BIOS позволяют организовать несколько устройств в логический массив, дальнейшая обработка которого именно как RAID-массива, возлагается на драйвер. Технология позволяет организовывать на разных разделах дисков одновременно несколько массивов уровня RAID 1, RAID 0 и RAID 5 . Это позволяет для одних разделов выбрать повышенную надёжность, для других — высокую производительность.
Позднее, Intel объявила о переименовании технологии Matrix RAID в Intel Rapid Storage Technology (Intel RST) .
Список контроллеров Intel, поддерживающих Intel RST :
Идея RAID-массивов — в объединении дисков, каждый из которых рассматривается как набор секторов, и в результате драйвер файловой системы «видит» как бы единый диск и работает с ним, не обращая внимания на его внутреннюю структуру. Однако можно добиться существенного повышения производительности и надёжности дисковой системы, если драйвер файловой системы будет «знать» о том, что работает не с одним диском, а с набором дисков.
Более того, при разрушении любого из дисков в составе RAID 0 вся информация в массиве окажется потерянной. Но если драйвер файловой системы разместил каждый файл на одном диске, и при этом правильно организована структура каталогов, то при разрушении любого из дисков будут потеряны только файлы, находившиеся на этом диске; а файлы, целиком находящиеся на сохранившихся дисках, останутся доступными. Схожая идея «повышения надёжности» реализована в массивах JBOD .
Размещение файлов по принципу «каждый файл целиком находится на одном диске» сложным/неоднозначным образом влияет на производительность дисковой системы. Для мелких файлов латентность (время позиционирования головки над нужным треком + время ожидания прихода нужного сектора под головку) важнее, чем время собственно чтения/записи; поэтому если мелкий файл целиком находится на одном диске, доступ к нему будет быстрее, чем если он разнесён на два диска (структура RAID-массивов такова, что мелкий файл не может оказаться на трёх и более дисках). Для крупных файлов размещение строго на одном диске может оказаться хуже, чем размещение на нескольких дисках; однако, это проявится только если обмен данными производится большими блоками; либо если к файлу делается много мелких обращений в асинхронном режиме, что позволяет работать сразу со всеми дисками, на которых размещён этот файл.
Накопители в массиве, за исключением запасных («spare»), первое время часто имеют одинаковый возраст, подвергаются одинаковой нагрузке и воздействию окружающей среды, это нарушает предположения о независимой вероятности отказа дисков; сбои на самом деле статистически коррелированы. На практике шанс второго отказа перед первым восстановлением выше, чем вероятность случайных сбоев.
Несмотря на то, что конфигурация массива хранится непосредственно на физических дисках, не существует общепринятого стандарта для её кодирования и хранения. При поломке контроллера пользователь вынужден приобретать совместимый контроллер, чтобы восстановить доступ к данным, а не создавать заново пустой массив.
Для улучшения этой статьи
желательно
:
|