RAID (англ. Redundant Array of Independent Disks — избыточный массив независимых дисков) — технология виртуализации данных, которая объединяет несколько дисков в логический элемент для избыточности и повышения производительности.
Аббревиатура «RAID» изначально расшифровывалась как «Redundant Array of Inexpensive Disks» («избыточный (резервный) массив недорогих дисков», так как они были гораздо дешевле дисков SLED (Single Large Expensive Drive)). Именно так был представлен RAID его создателями Петтерсоном (David A. Patterson), Гибсоном (Garth A. Gibson) и Катцом (Randy H. Katz) в 1987 году[1]. Со временем «RAID» стали расшифровывать как «Redundant Array of Independent Disks» («избыточный (резервный) массив независимых дисков»), потому что для массивов приходилось использовать и дорогое оборудование (под недорогими дисками подразумевались диски для ПЭВМ).
Калифорнийский университет в Беркли представил[1] следующие уровни спецификации RAID, которые были приняты как стандарт де-факто:
В современных RAID-контроллерах предоставлены дополнительные уровни спецификации RAID:
Аппаратный RAID-контроллер может иметь дополнительные функции и одновременно поддерживать несколько RAID-массивов различных уровней. При этом контроллер, встроенный в материнскую плату, в настройках BIOS имеет всего два состояния (включён или отключён), поэтому новый жёсткий диск, подключённый в незадействованный разъём контроллера при активированном режиме RAID, может игнорироваться системой, пока он не будет ассоциирован как ещё один RAID-массив типа JBOD (spanned), состоящий из одного диска.
Уровни RAID, реализуемые средствами файловой системы ZFS:
RAID 0 (striping — «чередование») — дисковый массив из двух или более жёстких дисков без резервирования. Информация разбивается на блоки данных ( ) фиксированной длины и записывается на оба/несколько дисков поочередно, то есть один блок на первый диск, а второй блок на второй диск соответственно.
(+): Скорость считывания файлов увеличивается в n раз, где n — количество дисков. При этом такая оптимальная производительность достигается только для больших запросов, когда фрагменты файла находятся на каждом из дисков.
(-): Увеличивается вероятность потери данных: если вероятность отказа 1 диска равна p, то вероятность выхода из строя массива RAID 0 из двух дисков равна 2p-p*p. Таким образом, если вероятность отказа одного диска за год равна 1 %, то вероятность отказа массива RAID0 из двух дисков составляет 1,99 %, то есть практически в два раза больше.
RAID 1 (mirroring — «зеркалирование») — массив из двух (или более) дисков, являющихся полными копиями друг друга. Не следует путать с массивами RAID 1+0 (RAID 10), RAID 0+1 (RAID 01), в которых используются более сложные механизмы зеркалирования.
(+): Обеспечивает приемлемую скорость записи (такую же, как и без дублирования) и выигрыш по скорости чтения при распараллеливании запросов[2].
(+): Имеет высокую надёжность — работает до тех пор, пока функционирует хотя бы один диск в массиве. Вероятность выхода из строя сразу двух дисков равна произведению вероятностей отказа каждого диска, то есть значительно ниже вероятности выхода из строя отдельного диска. На практике при выходе из строя одного из дисков следует срочно принимать меры — вновь восстанавливать избыточность. Для этого с любым уровнем RAID (кроме нулевого) рекомендуют использовать диски горячего резерва.
(-): Недостаток RAID 1 в том, что по цене двух (и более) жестких дисков пользователь фактически получает объём лишь одного.
Массивы такого типа основаны на использовании кода Хэмминга. Диски делятся на две группы: для данных и для кодов коррекции ошибок, причём если данные хранятся на дисках, то для хранения кодов коррекции необходимо дисков. Суммарное количество дисков при этом будет равняться . Данные распределяются по дискам, предназначенным для хранения информации, так же, как и в RAID 0, то есть они разбиваются на небольшие блоки по числу дисков. Оставшиеся диски хранят коды коррекции ошибок, по которым в случае выхода какого-либо жёсткого диска из строя возможно восстановление информации. Метод Хэмминга давно применяется в памяти типа ECC и позволяет на лету исправлять однократные и обнаруживать двукратные ошибки.
Достоинством массива RAID 2 является повышение скорости дисковых операций по сравнению с производительностью одного диска.
Недостатком массива RAID 2 является то, что минимальное количество дисков, при котором имеет смысл его использовать — 7, только начиная с этого количества для него требуется меньше дисков, чем для RAID 1 (4 диска с данными, 3 диска с кодами коррекции ошибок), в дальнейшем избыточность уменьшается по экспоненте.
В массиве RAID 3 из дисков данные разбиваются на куски размером меньше сектора (разбиваются на байты или блоки) и распределяются по дискам. Ещё один диск используется для хранения блоков чётности. В RAID 2 для этой цели применялся диск, но большая часть информации на контрольных дисках использовалась для коррекции ошибок «на лету», в то же время большинство пользователей устраивает простое восстановление информации в случае её повреждения, для чего хватает данных, умещающихся на одном выделенном жёстком диске.
Отличия RAID 3 от RAID 2: невозможность коррекции ошибок на лету.
Достоинства:
Недостатки:
RAID 4 похож на RAID 3, но отличается от него тем, что данные разбиваются на блоки, а не на байты. Таким образом, удалось отчасти «победить» проблему низкой скорости передачи данных небольшого объёма. Запись же производится медленно из-за того, что чётность для блока генерируется при записи и записывается на единственный диск.
Из широко распространённых систем хранения RAID-4 применяется на устройствах компании NetApp (NetApp FAS), где его недостатки успешно устранены за счет работы дисков в специальном режиме групповой записи, определяемом используемой на устройствах внутренней файловой системой WAFL.
Основным недостатком уровней 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 5 получил широкое распространение, в первую очередь благодаря своей экономичности. Объём дискового массива RAID 5 рассчитывается по формуле (n-1)*hddsize, где n — число дисков в массиве, а hddsize — размер диска (наименьшего, если диски имеют разный размер). Например, для массива из четырёх дисков по 80 гигабайт общий объём будет (4 − 1) * 80 = 240 гигабайт, то есть «потеряется» всего 25 % против 50 % RAID 10. И с увеличением количества дисков в массиве экономия (по сравнению с другими уровнями RAID, обладающими отказоустойчивостью) продолжает увеличиваться.
RAID 5 обеспечивает высокую скорость чтения — выигрыш достигается за счёт независимых потоков данных с нескольких дисков массива, которые могут обрабатываться параллельно.
Недостатки
Производительность RAID 5 заметно ниже на операциях типа Random Write (записи в произвольном порядке), при которых производительность падает на 10-25 % от производительности RAID 0 (или RAID 10), так как требует большего количества операций с дисками (каждая операция записи, за исключением так называемых full-stripe write-ов, заменяется на контроллере RAID на четыре — две операции чтения и две операции записи).
При выходе из строя одного диска надёжность тома сразу снижается до уровня RAID 0 с соответствующим количеством дисков n-1 — то есть в n-1 раз ниже надёжности одного диска — данное состояние называется критическим (degrade или critical). Для возвращения массива к нормальной работе требуется длительный процесс восстановления, связанный с ощутимой потерей производительности и повышенным риском.
В ходе восстановления (rebuild или reconstruction) контроллер осуществляет длительное интенсивное чтение, которое может спровоцировать выход из строя ещё одного или нескольких дисков массива. Кроме того, в ходе чтения могут выявляться ранее не обнаруженные сбои чтения в массивах cold data (данных, к которым не обращаются при обычной работе массива, архивные и малоактивные данные), препятствующие восстановлению. Если до полного восстановления массива произойдет выход из строя, или возникнет невосстановимая ошибка чтения хотя бы на ещё одном диске, то массив разрушается и данные на нём восстановлению обычными методами не подлежат. Для предотвращения таких ситуаций в RAID-контроллерах может применяться анализ атрибутов S.M.A.R.T.
RAID 6 — похож на RAID 5, но имеет более высокую степень надёжности — три диска данных и два диска контроля чётности. Основан на кодах Рида — Соломона и обеспечивает работоспособность после одновременного выхода из строя любых двух дисков. Обычно использование RAID-6 вызывает примерно 10-15 % падение производительности дисковой группы, относительно RAID 5, что вызвано бо́льшим объёмом работы для контроллера (более сложный алгоритм расчёта контрольных сумм), а также необходимостью читать и перезаписывать больше дисковых блоков при записи каждого блока.
Помимо базовых уровней RAID 0 — RAID 6, описанных в стандарте «Common RAID Disk Drive Format (DEF) standard», существуют комбинированные уровни с названиями вида «RAID α+β» или «RAID αβ», что обычно означает «RAID β, составленный из нескольких RAID α» (иногда производители интерпретируют это по-своему).
Например:
Комбинированные уровни наследуют как преимущества, так и недостатки своих «родителей»: появление чередования в уровне RAID 5+0 нисколько не добавляет ему надёжности, но зато положительно отражается на производительности. Уровень RAID 1+5, наверное, очень надёжный, но не самый быстрый и, к тому же, крайне неэкономичный: полезная ёмкость тома меньше половины суммарной ёмкости дисков.
Под RAID 0+1 может подразумеваться в основном два варианта:
RAID 10 (RAID 1+0) — зеркалированный массив, данные в котором записываются последовательно на несколько дисков, как в RAID 0. Эта архитектура представляет собой массив типа RAID 0, сегментами которого вместо отдельных дисков являются массивы RAID 1. Соответственно, массив этого уровня должен содержать как минимум 4 диска (и всегда чётное количество). RAID 10 объединяет в себе высокую отказоустойчивость и производительность.
RAID 10 является достаточно надёжным вариантом для хранения данных в связи с тем, что весь массив RAID 10 будет выведен из строя только после выхода из строя всех накопителей в одном и том же массиве RAID 1. При одном вышедшем из строя накопителе, шанс выхода из строя второго в одном и том же массиве равен 1/3*100=33 %.
Для сравнения: RAID 0+1 выйдет из строя при двух накопителях, вышедших из строя в разных массивах. Шанс выхода из строя накопителя в соседнем массиве равен 2/3*100=66 %. Однако, так как массив RAID 0 с вышедшим из строя накопителем уже не используется, то оставшийся исправным накопитель в этом массиве можно исключить из расчёта, и получим шанс того, что следующий накопитель выведет из строя массив — 2/2*100=100 %.
RAID 1E (enhanced — усовершенствованный) — зеркало, способное работать на нечётном количестве устройств.
Существуют как минимум два разных алгоритма RAID 1E:
В руководстве к вашему RAID-контроллеру может не указываться, какой именно тип RAID 1E (near или interleaved) он поддерживает[6]. Общим для них является то, что они хорошо подходят для создания массива из трёх дисковых устройств.
В RAID 1E near первый блок данных записывается на диск № 1 и на диск № 2 (полная копия, как при RAID 1). Следующий блок — на диск № 3 и диск № 4 (если диски закончились, например, диска № 4 в массиве нет, 3-й диск последний — контроллер возвращается к диску № 1 и переходит к следующей полоске).
В RAID 1E interleaved данные чередуются по полоскам: в первую полоску пишутся сами данные, во вторую — их копия. При переходе от одной полоски к другой увеличивается индекс устройства, с которого начинается запись. Таким образом, первый блок данных записывается на диск № 1 в первой полоске и на диск № 2 во второй полоске, второй блок данных — на диск № 2 в первой полоске и на диск № 3 во второй полоске и так далее.
Результирующая ёмкость массива с использованием RAID 1E составляет , где N — количество дисков в массиве, а S — ёмкость наименьшего из них.
Преимущества:
Недостатки:
Минимальное количество дисков: 3 (при двух — неотличим от RAID 1).
RAID 7 — зарегистрированная торговая марка компании Storage Computer Corporation, отдельным уровнем RAID не является. Структура массива такова: на дисках хранятся данные, один диск используется для складирования блоков чётности. Запись на диски кэшируется с использованием оперативной памяти, сам массив требует обязательного ИБП; в случае перебоев с питанием происходит повреждение данных.
Число 7 в названии создаёт впечатление, что система чем-то превосходят «своих младших братьев» RAID 5 и 6, но математика RAID 7 не отличается от RAID 4, а кэш и батареи используются в RAID-контроллерах любых уровней (чем дороже контроллер, тем больше вероятность наличия этих компонент). Поэтому, хотя никто не отрицает, что RAID 7 обладает высокой надёжностью и скоростью работы, — это не промышленный стандарт, а скорее маркетинговый ход единственной компании-производителя таких устройств, и только эта компания осуществляет для них техническую поддержку.[7]
Существует модификация RAID-6 компании NetApp — RAID-DP. Отличие от традиционного массива заключается в выделении под контрольные суммы двух отдельных дисков. Благодаря взаимодействию RAID-DP и файловой системы WAFL (все операции записи последовательны и производятся на свободное место) пропадает падение производительности как в сравнении с RAID-5, так и в сравнении с RAID-6.
Представляют собой плату расширения, либо размещаются вне сервера (например, в составе внешней дисковой подсистемы либо NAS).[8] Имеют собственный процессор, многие имеют кэш-память для ускорения работы. В устройства подороже опционально устанавливаются батареи (Battery Backup Unit, сокр. BBU, химические, либо конденсаторные) для сохранения данных в кэше в случае аварийного отключения электропитания. Конденсаторные батареи более современные, но более дорогие, поскольку дополнительно требуют наличия модуля энергонезависимой FLASH-памяти, куда при аварии будет копироваться кэш. Такие батареи не портятся со временем и, в отличие от химических, не требуют замены в течение срока службы сервера.[9]
Для подключения дисков контроллер может иметь внутренние, либо внешние порты, либо и те, и другие. Порты могут быть выполнены по различным стандартам (см. для примера список внутренних и внешних разъёмов SAS, а также SFF-8639).
Контроллеры различных производителей, как правило, не совместимы и не взаимозаменяемы между собой — это следует иметь в виду в случае выхода из строя платы контроллера. Информация о конфигурации RAID-массива хранится на дисках, но прочитать её, даже с полностью исправных дисков, и воссоздать массив сможет только контроллер того же производителя.[10] Для предотвращения подобных проблем существуют кластерные дисковые системы[11]. Программные 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 дисков** | средняя | высокая | высокая | двойная стоимость дискового пространства |
01 | от 4, чётное | S * N / 2 | от 1 до N/2 дисков** | средняя | высокая | высокая | двойная стоимость дискового пространства |
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 дисков**** | высокая | высокая | низкая | двойная стоимость дискового пространства |
* N — количество дисков в массиве, S — объём наименьшего диска[12][13][14][15].
** Информация не потеряется, если выйдут из строя диски в пределах разных зеркал.
*** Информация не потеряется, если выйдет из строя одинаковое кол-во дисков в разных stripe’ах.
**** Информация не потеряется, если выйдут из строя диски в пределах одного зеркала.
***** Информация потеряется, если одновременно выйдут из строя любые два соседних диска (либо первый с последним), иначе — не потеряется.
Для реализации RAID можно применять не только аппаратные средства, но и полностью программные компоненты (драйверы). Например, в системах на ядре Linux поддержка существует непосредственно на уровне ядра. Управлять RAID-устройствами в Linux можно с помощью утилиты mdadm. Программный RAID имеет свои достоинства и недостатки. С одной стороны, он ничего не стоит (в отличие от аппаратных RAID-контроллеров, цена которых от $150). С другой стороны, программный RAID использует некоторое количество ресурсов центрального процессора.
Ядро Linux 2.6.28 (последнее из вышедших в 2008 году) поддерживает программные 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 Pro поддерживает RAID 0. Поддержка RAID 1 и RAID 5 заблокирована разработчиками, но, тем не менее, может быть включена, путём редактирования системных бинарных файлов ОС, что запрещено лицензионным соглашением[16]. Windows 7 поддерживает программный RAID 0 и RAID 1, Windows Server 2003 — 0, 1 и 5. Windows XP Home не поддерживает RAID.
В ОС 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, в которой можно собирать следующие уровни RAID: 0, 1, 5, 6, а также комбинируемые уровни.
OpenSolaris и Solaris 10 используют Solaris Volume Manager, который поддерживает RAID 0, RAID 1, RAID 5 и любые их комбинации, как 1+0. Поддержка RAID 6 осуществляется в файловой системе ZFS.
«Hybrid RAID» — это некоторые из обычных уровней RAID, но в сочетании с дополнительным ПО и SSD-дисками, которые используются как кэш для чтения. В результате производительность системы повышается, так как SSD обладают значительно лучшими скоростными характеристиками по сравнению с HDD. Существует несколько реализаций, например Crucial Adrenaline, либо некоторые контроллеры Adaptec бюджетного класса. На данный момент Hybrid RAID не рекомендуется использовать в серверах ввиду малого ресурса SSD-дисков, исключение составляют специальные серверные SSD-диски с повышенным ресурсом.
RAIDIX — программа для создания систем хранения на основе имеющегося оборудования, разработка компании «РЭЙДИКС». Кроме стандартных уровней RAID, содержит несколько проприетарных, например, RAID 7.3 и RAID N+M, где второе число означает количество дисков, выделяемых для хранения контрольной информации (M — произвольное число)[17].
Matrix RAID — это технология, реализованная фирмой Intel в южных мостах своих чипсетов, начиная с ICH6R. Эта технология не является новым уровнем RAID и не имеет аппаратной поддержки. Средства BIOS позволяют организовать несколько устройств в логический массив, дальнейшая обработка которого именно как RAID-массива, возлагается на драйвер. Технология позволяет организовывать на разных разделах дисков одновременно несколько массивов уровня RAID 1, RAID 0 и RAID 5[18]. Это позволяет для одних разделов выбрать повышенную надёжность, для других — высокую производительность.
Позднее, Intel объявила о переименовании технологии Matrix RAID в Intel Rapid Storage Technology (Intel RST)[19].
Список контроллеров, поддерживающих Intel RST[20]:
Идея RAID-массивов — в объединении дисков, каждый из которых рассматривается как набор секторов, и в результате драйвер файловой системы «видит» как бы единый диск и работает с ним, не обращая внимания на его внутреннюю структуру. Однако, можно добиться существенного повышения производительности и надёжности дисковой системы, если драйвер файловой системы будет «знать» о том, что работает не с одним диском, а с набором дисков.
Более того, при разрушении любого из дисков в составе RAID 0 вся информация в массиве окажется потерянной. Но если драйвер файловой системы разместил каждый файл на одном диске, и при этом правильно организована структура каталогов, то при разрушении любого из дисков будут потеряны только файлы, находившиеся на этом диске; а файлы, целиком находящиеся на сохранившихся дисках, останутся доступными. Схожая идея «повышения надёжности» реализована в массивах JBOD.
Размещение файлов по принципу «каждый файл целиком находится на одном диске» сложным/неоднозначным образом влияет на производительность дисковой системы. Для мелких файлов латентность (время позиционирования головки над нужным треком + время ожидания прихода нужного сектора под головку) важнее, чем время собственно чтения/записи; поэтому если мелкий файл целиком находится на одном диске, доступ к нему будет быстрее, чем если он разнесён на два диска (структура RAID-массивов такова, что мелкий файл не может оказаться на трёх и более дисках). Для крупных файлов размещение строго на одном диске может оказаться хуже, чем размещение на нескольких дисках; однако, это проявится только если обмен данными производится большими блоками; либо если к файлу делается много мелких обращений в асинхронном режиме, что позволяет работать сразу со всеми дисками, на которых размещён этот файл.
Годовая вероятность отказа дискового массива RAID 5 из 3 дисков WD Caviar Blue = 0,05 %[22].
На практике накопители часто имеют одинаковый возраст (с аналогичным износом) и подвергаются одинаковой среде. Поскольку многие отказы дисков обусловлены механическими проблемами (которые более вероятны на более старых приводах), это нарушает предположения о независимой одинаковой скорости отказа между дисками; сбои на самом деле статистически коррелированы. На практике шансы на второй отказ перед первым восстановлением (причиной потери данных) выше, чем вероятность случайных сбоев. При изучении около 100 000 дисков вероятность того, что два диска в одном кластере провалится в течение одного часа, была в четыре раза больше, чем прогнозировалось экспоненциальным статистическим распределением, которое характеризует процессы, в которых события происходят непрерывно и независимо с постоянной средней скоростью. Вероятность двух неудач за тот же 10-часовой период была вдвое больше, чем прогнозировалось экспоненциальным распределением.
Неустранимые ошибки чтения (URE) присутствуют как сбои чтения сектора, также известные как ошибки скрытого сектора (LSE). Соответствующая оценка медиа-оценки, скорость невосстановимой битовой ошибки (UBE), как правило, гарантируется быть менее одного бита в 1015 для дисков корпоративного класса (SCSI, FC, SAS или SATA) и менее одного бита в 1014 для настольных компьютеров, (IDE / ATA / PATA или SATA). Увеличение емкости дисков и больших экземпляров RAID 5 привело к тому, что максимальная частота ошибок была недостаточной для обеспечения успешного восстановления из-за высокой вероятности такой ошибки, возникающей на одном или нескольких остальных дисках во время восстановления RAID-набора. При восстановлении, основанные на таких схемах, как RAID 5, особенно подвержены воздействию URE, поскольку они влияют не только на сектор, в котором они происходят, но и на реконструированные блоки, использующие этот сектор для вычисления четности. Таким образом, URE во время восстановления RAID 5 обычно приводит к полной ошибке восстановления.
Схемы, основанные на четности с двойной защитой, такие как RAID 6, пытаются решить эту проблему, предоставляя избыточность, которая позволяет сбой при двойном диске; как недостаток, такие схемы страдают от повышенного штрафа за запись — количества обращений к носителям информации во время одной операции записи. Схемы, дублирующие (зеркальные) данные в режиме от привода к диску, такие как RAID 1 и RAID 10, имеют меньший риск от URE, чем те, которые используют вычисления четности или зеркалирование между полосатыми наборами. Очистка данных, как фоновый процесс, может использоваться для обнаружения и восстановления из URE, что эффективно снижает риск их возникновения во время перестроек RAID и приводит к сбоям с двойным приводом. Восстановление URE включает переназначение затронутых базовых сегментов диска, используя пул переназначения сектора диска; в случае обнаружения URE во время фоновой очистки, избыточность данных, предоставляемая полностью работоспособным RAID-массивом, позволяет восстановить и переписать недостающие данные в переназначенный сектор.
Емкость накопителя выросла гораздо быстрее, чем скорость передачи, а частота ошибок лишь немного снизилась. Таким образом, накопители большей емкости могут занимать часы, если не дни для восстановления, в течение которых могут произойти сбои других накопителей или все же необнаруженные ошибки чтения могут возникнуть. Время восстановления также ограничено, если весь массив все еще работает при уменьшенной емкости. Учитывая массив с одним избыточным диском (который относится к уровням RAID 3, 4 и 5 и к «классическому» RAID с двумя дисками 1), второй сбой накопителя может привести к полному сбою массива. Несмотря на то, что среднее время между отдельными дисками (MTBF) увеличилось с течением времени, это увеличение не ускорилось с увеличением емкости накопителей. Время восстановления массива после отказа одного диска, а также вероятность второго сбоя во время восстановления увеличилось с течением времени.
Некоторые комментаторы заявили, что RAID 6 — это всего лишь «групповая помощь» в этом отношении, потому что это лишь немного пошатнуло проблему в будущем. Однако, согласно исследованию 2006 года NetApp от Berriman и др., Вероятность сбоя уменьшается примерно в 3 800 (относительно RAID 5) для правильной реализации RAID 6 даже при использовании товарных дисков. Тем не менее, если наблюдаемые в настоящее время тенденции в области технологий остаются неизменными, в 2019 году массив RAID 6 будет иметь одинаковую вероятность выхода из строя, так как его RAID 5-аналог был в 2010 году.
Схемы зеркалирования, такие как RAID 10, имеют ограниченное время восстановления, так как они требуют копии одного отказавшего диска по сравнению с такими схемами четности, как RAID 6, для которых требуется копирование всех блоков дисков в наборе массивов. Трехмерные схемы четности или тройное зеркалирование были предложены в качестве одного из подходов для повышения устойчивости к сбою дополнительного диска в течение этого большого времени восстановления.
Сбой системы или другое прерывание операции записи могут приводить к состояниям, когда четность несовместима с данными из-за неатоматичности процесса записи, так что четность не может использоваться для восстановления в случае сбоя диска (так называемое отверстие для записи RAID 5). Отверстие для записи в формате RAID — это известная проблема с повреждением данных в старых и низкоуровневых RAID-массивах, вызванная прерванной дезинтеграцией записи на диск. Дверь записи может быть решена с записью на запись. Недавно mdadm исправил это, представив специальное журналирующее устройство (чтобы избежать штрафа за производительность, как правило, SSD и NVM являются предпочтительными) для этой цели.
Это немного понятный и редко упоминаемый режим отказа для резервных систем хранения, которые не используют транзакционные функции. Исследователь базы данных Джим Грей написал «Обновление на месте — ядовитое яблоко» в первые дни коммерциализации реляционных баз данных.
Существуют опасения по поводу надежности кэша записи, особенно в отношении устройств, оснащенных кэшем обратной записи, который является системой кэширования, которая сообщает данные, как написано, как только она записывается в кеш, в отличие от того, когда она записывается в не- — энергонезависимая среда. Если система испытывает потерю мощности или другой серьезный сбой, данные могут быть безвозвратно потеряны из кеша до достижения энергонезависимого хранилища. По этой причине хорошие реализации кэша обратной записи включают в себя механизмы, такие как избыточное питание от батареи, для сохранения содержимого кэша при сбоях системы (включая сбои питания) и сброса кеша при перезапуске системы.
RAID на Викискладе |
Для улучшения этой статьи желательно: |
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .