RAID
Содержание
· 1 Введение
o 1.1 Различие между физическими и логическими дисками
o 1.2 Считывание и запись данных
o 1.3 Что такое RAID?
o 1.4 Зачем использовать RAID?
o 1,5 История
· 2 Основные понятия, используемые в RAID-системах
o 2.1 Кэширование
o 2.2 Зеркало: Более одной копии данных
o 2.3 Стриптиз: Часть данных находится на другом диске
o 2.4 Устранение ошибок и неисправностей
o 2.5 Горячие запасные части: использование большего количества дисков, чем необходимо
o 2.6 Размер полосы и лома: распределение данных по нескольким дискам
o 2.7 Установка диска: JBOD, конкатенация или охватывающая
o 2,8 Клон привода
o 2.9 Различные установки
· 3 Основы: простые уровни RAID
o 3.1 Уровни RAID в общем пользовании
§ 3.1.1 Массив RAID 0 "чередование"
§ 3.1.2 Массив RAID 1 "зеркалирование"
§ 3.1.3 RAID 5 "чередование с распределенной четностью".
§ 3.1.4 Фотографии
o 3.2 Уровни RAID, используемые меньше
§ 3.2.1 RAID 2
§ 3.2.2 Массив RAID 3 "чередование с выделенной четностью".
§ 3.2.3 Массив RAID 4 "чередование с выделенной четностью".
§ 3.2.4 RAID 6
§ 3.2.5 Фотографии
o 3.3 Нестандартные уровни RAID
§ 3.3.1 Двойная четность / Диагональная четность
§ 3.3.2 RAID-DP
§ 3.3.3 RAID 1.5
§ 3.3.4 RAID 5E, RAID 5EE и RAID 6E
§ 3.3.5 RAID 7
§ 3.3.6 Intel Matrix RAID
§ 3.3.7 Linux MD RAID драйвер
§ 3.3.8 RAID Z
§ 3.3.9 Фотографии
· 4 Соединение уровней RAID
· 5 Создание RAID-массива
o 5.1 Программный RAID
o 5.2 Аппаратный RAID
o 5.3 Массив RAID с аппаратной поддержкой
· 6 Различные термины, связанные с аппаратными сбоями
o 6.1 Частота отказов
o 6.2 Среднее время потери данных
o 6,3 Среднее время восстановления
o 6.4 Неустранимая вероятность битовых ошибок
· 7 Проблемы с RAID
o 7.1 Добавление дисков позднее
o 7.2 Связанные сбои
o 7,3 Атомность
o 7.4 Неустранимые данные
o 7,5 Надежность кэш-памяти
o 7.6 Совместимость оборудования
· 8 Что RAID может и что не может делать
o 8.1 Что может сделать RAID
o 8.2 Что RAID не может сделать
· 9 Пример
· 10 Ссылки
· 11 Другие веб-сайты
RAID - это аббревиатура, обозначающая избыточный массив недорогих дисков или избыточный массив независимых дисков. RAID - термин, используемый в вычислениях. В RAID несколько жестких дисков превращаются в один логический диск. Это можно сделать разными способами. Каждый из методов, объединяющий жесткие диски, имеет некоторые преимущества и недостатки по сравнению с использованием дисков в качестве отдельных дисков, независимых друг от друга. Основные причины использования RAID:
- Сделать так, чтобы потеря данных происходила реже. Для этого необходимо иметь несколько копий данных.
- Получить больше места для хранения, имея много дисков меньшего размера.
- Для получения большей гибкости (Диски могут быть изменены или добавлены во время работы системы).
- Чтобы получить данные быстрее.
Невозможно достичь всех этих целей одновременно, поэтому необходимо сделать выбор.
Есть и плохие вещи:
- Определенные варианты могут защитить от потери данных из-за выхода из строя одного (или нескольких) дисков. Однако они не защищают от удаления или перезаписи данных.
- В некоторых конфигурациях RAID может терпеть отказ одного или нескольких дисков. После замены вышедших из строя дисков данные необходимо восстановить. В зависимости от конфигурации и размера дисков, восстановление может занять много времени.
- Определенные виды ошибок сделают невозможным чтение данных
Большая часть работы по RAID основана на работе, написанной в 1988 году.
Компании используют RAID-системы для хранения своих данных с момента создания технологии. Существуют различные способы создания RAID-систем. С момента ее открытия стоимость создания RAID-системы значительно снизилась. По этой причине даже некоторые компьютеры и устройства, используемые дома, имеют некоторые функции RAID. Такие системы можно использовать, например, для хранения музыки или фильмов.
Введение
Разница между физическими и логическими дисками
Жесткий диск - это часть компьютера. Обычные жесткие диски используют магнетизм для хранения информации. При использовании жестких дисков они доступны операционной системе. В Microsoft Windows каждый жесткий диск получает букву диска (начиная с C:, A: или B: зарезервированы для дискет). Unix- и Linux-подобные операционные системы имеют однокорневое дерево каталогов. Это означает, что люди, которые используют компьютеры, иногда не знают, где хранится информация (если честно, многие пользователи Windows также не знают, где хранятся их данные).
В вычислительной технике жесткие диски (которые являются аппаратными, и к которым можно прикасаться) иногда называют физическими дисками или физическими дисками. То, что операционная система показывает пользователю, иногда называется логическим диском. Физический диск можно разделить на различные разделы, называемые дисковыми разделами. Обычно каждый раздел диска содержит одну файловую систему. Операционная система показывает каждый раздел как логический диск.
Поэтому для пользователя и установка с большим количеством физических дисков, и установка с большим количеством логических дисков будут выглядеть одинаково. Пользователь не может решить, является ли "логический диск" тем же самым, что и физический диск, или он просто является частью диска. Сети Storage Area Networks (SANs) полностью изменяют этот вид. Все, что видно из SAN - это несколько логических дисков.
Чтение и запись данных
В компьютере данные организованы в виде битов и байтов. В большинстве систем 8 бит составляют байт. Компьютерная память использует электричество для хранения данных, жесткие диски используют магнетизм. Поэтому при записи данных на диск электрический сигнал преобразуется в магнитный. Когда данные считываются с диска, преобразование осуществляется в другую сторону: Электрический сигнал получается из полярности магнитного поля.
Что такое RAID?
RAID-массив объединяет два или более жестких диска, так что они образуют логический диск. Существуют различные причины, по которым это делается. Наиболее распространенные из них:
- Остановка потери данных, когда один или несколько дисков массива выходят из строя.
- Ускорение передачи данных.
- Получение возможности менять диски во время работы системы.
- Объединение нескольких дисков для получения большей емкости; иногда используется много дешевых дисков, а не более дорогих.
Создание RAID-массива осуществляется с помощью специального аппаратного или программного обеспечения на компьютере. В этом случае объединенные жесткие диски будут выглядеть для пользователя как один жесткий диск. Большинство уровней RAID увеличивают избыточность. Это означает, что они чаще хранят данные или информацию о том, как воссоздать данные. Это позволяет нескольким дискам выйти из строя без потери данных. При замене вышедшего из строя диска данные, которые он должен содержать, будут скопированы или перестроены с других дисков системы. Это может занять много времени. Время это зависит от различных факторов, например, от размера массива.
Зачем использовать RAID?
Одной из причин, по которой многие компании используют RAID, является то, что данные в массиве можно просто использовать. Те, кто использует данные, вовсе не должны знать, что они используют RAID. Когда произошел сбой и массив восстанавливается, доступ к данным будет более медленным. Доступ к данным за это время также замедлит процесс восстановления, но это все равно намного быстрее, чем неспособность работать с данными вообще. Однако, в зависимости от уровня RAID, диски могут не выйти из строя во время подготовки нового диска к использованию. Отказ диска в это время приведет к потере всех данных в массиве.
Различные способы объединения дисков называются уровнями RAID. Большее число для уровня не обязательно лучше. Различные уровни RAID имеют различное назначение. Некоторые уровни RAID нуждаются в специальных дисках и специальных контроллерах.
История
В 1978 году человек по имени Норман Кен Оучи (Norman Ken Ouchi), работавший в IBM, выступил с предложением, в котором описал планы того, что впоследствии станет RAID 5. Планы также описывали нечто похожее на RAID 1, а также защиту части RAID 4.
Работники университета Беркли помогли спланировать исследования в 1987 году. Они пытались сделать так, чтобы технология RAID позволяла распознавать два жестких диска вместо одного. Они обнаружили, что когда технология RAID имеет два жестких диска, она имеет гораздо лучшую память, чем при использовании только одного жесткого диска. Однако, она разбивалась гораздо чаще.
В 1988 году о различных типах RAID (от 1 до 5) написали Дэвид Паттерсон, Гарт Гибсон и Рэнди Кац в своей статье, озаглавленной "Случай избыточных массивов недорогих дисков (RAID)". Эта статья была первой, которая назвала новую технологию RAID, и название стало официальным.
![Закрыть 4 диска, которые образуют RAID-массив, встроенный в настольную систему. Синие защелки позволяют обмениваться дисками во время работы системы.](https://alegsaonline.com/image/220px-Raid_array.jpg)
![Zoom](https://www.alegsaonline.com/zoom.png)
Закрыть 4 диска, которые образуют RAID-массив, встроенный в настольную систему. Синие защелки позволяют обмениваться дисками во время работы системы.
![Жесткий диск был удален из массива.](https://alegsaonline.com/image/220px-RAID_single_disk.jpg)
![Zoom](https://www.alegsaonline.com/zoom.png)
Жесткий диск был удален из массива.
Основные понятия, используемые в RAID-системах
В RAID используется несколько основных идей, которые были описаны в статье "RAID: Высокопроизводительное, надежное вторичное хранилище" Питера Чена и других, опубликованной в 1994 году.
Кэшинг
Кэширование - это технология, которая также используется в RAID-системах. Существуют различные виды кэширования, которые используются в RAID системах:
- Операционная система
- RAID-контроллер
- Дисковый массив Enterprise
В современных системах запрос на запись отображается так же, как и при записи данных в кэш. Это не означает, что данные были записаны на диск. Запросы из кэша не обязательно обрабатываются в том же порядке, в котором они были записаны в кэш. Это делает возможным, что в случае сбоя системы, иногда некоторые данные не были записаны на соответствующий диск. По этой причине многие системы имеют кэш, который поддерживается батареей.
Зеркало: Более одной копии данных
Когда речь идет о зеркале, это очень простая идея. Вместо того, чтобы данные находились только в одном месте, существует несколько копий данных. Эти копии обычно находятся на разных жестких дисках (или разделах диска). Если есть две копии, то одна из них может выйти из строя, не затрагивая данные (как и на другой копии). Зеркалирование также может дать толчок при чтении данных. Оно всегда будет взято с самого быстрого диска, который реагирует. Однако запись данных происходит медленнее, потому что все диски нуждаются в обновлении.
Стриптиз: Часть данных находится на другом диске
При чередовании данные разбиваются на разные части. Затем эти части попадают на разные диски (или разделы диска). Это означает, что запись данных происходит быстрее, так как это можно делать параллельно. Это не означает, что ошибок не будет, так как каждый блок данных находится только на одном диске.
Исправление ошибок и сбоев
Можно рассчитать различные виды контрольных сумм. Некоторые методы расчета контрольных сумм позволяют обнаружить ошибку. Большинство уровней RAID, использующих избыточность, могут это сделать. Некоторые методы сложнее, но они позволяют не только обнаружить ошибку, но и исправить ее.
Горячие запасные части: используя больше дисков, чем нужно
Многие из способов получения поддержки RAID называются "горячим запасным вариантом". Горячий запас - это пустой диск, который не используется в нормальной работе. Когда диск выходит из строя, данные можно напрямую скопировать на горячий диск. Таким образом, вышедший из строя диск должен быть заменен новым пустым диском, чтобы стать hot spare.
Размер полоски и лома: распределение данных по нескольким дискам
RAID работает путем распределения данных по нескольким дискам. Два термина, часто используемых в данном контексте - размер полосы и размер куска.
Размер блока данных - это наименьший блок данных, который записывается на один диск массива. Размер полосы - это размер блока данных, который будет распределен по всем дискам. Таким образом, при четырех дисках и размере полосы 64 килобайта (кБ) на каждый диск будет записано по 16 кБ. Таким образом, размер блока в данном примере составляет 16 кБ. Увеличение размера полосы будет означать более высокую скорость передачи данных, но также и большую максимальную задержку. В данном случае это время, необходимое для получения блока данных.
Соедините диск: JBOD, concatenation или spanning
Многие контроллеры (а также программное обеспечение) могут комбинировать диски следующим образом: Возьмите первый диск, пока он не закончится, потом второй и так далее. Таким образом, несколько маленьких дисков выглядят как большой. На самом деле это не RAID, так как дублирования нет. Кроме того, пролет может объединять диски, где RAID 0 ничего не может сделать. Обычно это называется просто кучей дисков (JBOD).
Это похоже на далекого родственника RAID, потому что логический диск сделан из разных физических дисков. Концентрация иногда используется для превращения нескольких маленьких дисков в один большой полезный диск. Этого нельзя сделать с массивом RAID 0. Например, JBOD может объединить 3 ГБ, 15 ГБ, 5,5 ГБ и 12 ГБ дисков в логический диск размером 35,5 ГБ, что часто более полезно, чем сами диски.
На диаграмме справа данные сконцентрированы от конца диска 0 (блок A63) до начала диска 1 (блок A64); от конца диска 1 (блок A91) до начала диска 2 (блок A92). Если бы использовался RAID 0, то диск 0 и диск 2 усекались бы до 28 блоков, размера наименьшего диска в массиве (диск 1) при общем размере 84 блока.
Некоторые RAID-контроллеры используют JBOD, чтобы рассказать о работе с дисками без функций RAID. Каждый диск отображается в операционной системе отдельно. Этот JBOD не является тем же самым, что и конкатенация.
Многие системы Linux используют термины "линейный режим" или "режим приложения". Реализация Mac OS X 10.4 - называемая "Concatenated Disk Set" - не оставляет пользователю никаких пригодных для использования данных на оставшихся дисках, если один из дисков выйдет из строя в "Concatenated Disk Set", хотя в противном случае диски работают так, как описано выше.
Концентрация является одним из видов использования менеджера логических томов в Linux. Его можно использовать для создания виртуальных дисков.
Клон привода
Большинство современных жестких дисков имеют стандарт под названием "Технология самоконтроля, анализа и отчетности" (S.M.A.R.T.). SMART позволяет контролировать определенные вещи на жестком диске. Некоторые контроллеры позволяют заменить один жесткий диск еще до того, как он выйдет из строя, например, из-за того, что S.M.A.R.T или другой дисковый тест сообщает слишком много исправляемых ошибок. Для этого контроллер скопирует все данные на горячий запасной диск. После этого диск можно будет заменить другим (который просто станет новым горячим запасным диском).
Различные установки
Настройка дисков и использование вышеописанных методов влияет на производительность и надежность системы. При использовании большего количества дисков один из них с большей вероятностью выйдет из строя. Поэтому необходимо создавать механизмы, способные находить и исправлять ошибки. Это делает всю систему более надежной, так как она способна выжить и исправить сбой.
![JBOD с 3 дисками разных размеров](https://alegsaonline.com/image/200px-JBOD.svg.png)
![Zoom](https://www.alegsaonline.com/zoom.png)
JBOD с 3 дисками разных размеров
Основы: простые уровни RAID
широко используемые уровни RAID
RAID 0 "чередование"
RAID 0 на самом деле не RAID, потому что он не является избыточным. В RAID 0 диски просто собираются вместе, чтобы сделать большой диск. Это называется "чередованием". Когда один диск выходит из строя, выходит из строя весь массив. Поэтому RAID 0 редко используется для важных данных, но чтение и запись данных с диска может быть быстрее при чередовании, потому что каждый диск читает часть файла одновременно.
В RAID 0 блоки дисков, которые идут друг за другом, обычно размещаются на разных дисках. По этой причине все диски, используемые в RAID 0, должны быть одинакового размера.
RAID 0 часто используется для Swapspace на Linux или Unix-подобных операционных системах.
RAID 1 "зеркалирование"
В RAID 1 два диска собраны вместе. На обоих хранятся одни и те же данные, один "зеркалирует" другой. Это простая и быстрая конфигурация, независимо от того, реализуется ли она с помощью аппаратного контроллера или программного обеспечения.
RAID 5 "чередование с распределенной четностью"
Уровень RAID 5 - это то, что, вероятно, используется большую часть времени. Для построения массива хранения RAID 5 требуется как минимум три жестких диска. Каждый блок данных будет храниться в трех разных местах. В двух из этих мест блок будет храниться как есть, в третьем - контрольная сумма. Эта контрольная сумма является особым случаем кода Reed-Solomon, который использует только битовое добавление. Обычно она вычисляется методом XOR. Так как этот метод симметричен, то один потерянный блок данных может быть перестроен из другого блока данных и контрольной суммы. Для каждого блока отдельный диск будет содержать блок четности, в котором находится контрольная сумма. Это делается для увеличения избыточности. Любой диск может выйти из строя. В целом, один диск будет содержать контрольные суммы, поэтому общая полезная емкость будет равна емкости всех дисков, за исключением одного. Размер результирующего логического диска будет равен размеру всех дисков вместе, за исключением одного диска, который содержит информацию о четности.
Конечно, это медленнее, чем RAID 1-го уровня, так как при каждой записи необходимо считывать все диски, чтобы вычислить и обновить информацию о четности. Производительность чтения в RAID 5 почти так же хороша, как в RAID 0 при том же количестве дисков. За исключением блоков четности, распределение данных по дискам происходит по той же схеме, что и в RAID 0. Причина, по которой RAID 5 немного медленнее, заключается в том, что диски должны пропускать блоки четности.
RAID 5 с вышедшим из строя диском будет продолжать работать. Он находится в ухудшенном режиме. Массив RAID 5 может работать очень медленно. По этой причине часто добавляется дополнительный диск. Это называется горячим запасным диском. Если диск вышел из строя, данные можно напрямую перестроить на дополнительный диск. RAID 5 также можно довольно легко создать в программном обеспечении.
В основном из-за проблем с производительностью вышедших из строя массивов RAID 5, некоторые эксперты по базам данных сформировали группу под названием BAARF - Battle Against Any Raid Five (Битва против любого пятого рейда).
Если система выйдет из строя во время активной записи, четность полосы может стать несовместимой с данными. Если это не будет исправлено до отказа диска или блока, может произойти потеря данных. Неправильная четность будет использована для восстановления недостающего блока в этой полосе. Эту проблему иногда называют "дырой при записи". Обычно используются кэши с аккумуляторной батареей и аналогичные методы, чтобы уменьшить вероятность возникновения этой проблемы.
Фотографии
·
RAID 0 просто размещает различные блоки на разных дисках. Нет никакой избыточности.
·
С Raid 1 каждый блок на обоих дисках.
·
RAID 5 рассчитывает специальные контрольные суммы для данных. Как блоки с контрольной суммой, так и блоки с данными распределяются по всем дискам.
Меньше используемого RAID-массива
RAID 2
Это использовалось с очень большими компьютерами. Для использования RAID 2-го уровня необходимы специальные дорогие диски и специальный контроллер. Данные распределяются на битовом уровне (на всех остальных уровнях используются действия на байтовом уровне). Выполняются специальные вычисления. Данные разбиваются на статические последовательности битов. Собирается 8 бит данных и 2 бита четности. Затем вычисляется код Hamming. Затем фрагменты кода Hamming распределяются по разным дискам.
RAID 2 - это единственный уровень RAID, который может исправлять ошибки, остальные уровни RAID могут только их обнаруживать. Когда они обнаружат, что необходимая информация не имеет смысла, они просто пересоберут ее. Это делается с помощью вычислений, используя информацию на других дисках. Если эта информация отсутствует или неверна, они не могут сделать многого. Так как он использует коды Hamming, RAID 2 может выяснить, какая часть информации неверна, и исправить только эту часть.
Для работы RAID 2 необходимо как минимум 10 дисков. Из-за своей сложности и потребности в очень дорогом и специальном оборудовании RAID 2 больше не используется.
RAID 3 "чередование с выделенной четностью".
Уровень рейда 3 очень похож на уровень RAID 0. Для хранения информации о четности добавляется дополнительный диск. Это делается путем битового добавления значения блока на других дисках. Информация о четности хранится на отдельном (выделенном) диске. Это нехорошо, потому что в случае падения диска с информацией о четности, информация о четности теряется.
RAID Уровень 3 обычно выполняется как минимум с 3 дисками. Настройка на два диска идентична настройке RAID Уровня 0.
RAID 4 "чередование с выделенной четностью".
Это очень похоже на RAID 3, за исключением того, что информация о четности вычисляется по более крупным блокам, а не по единичным байтам. Это похоже на RAID 5. Для массива RAID 4 требуется как минимум три диска.
RAID 6
Уровень RAID 6 не был изначальным уровнем RAID. Он добавляет дополнительный блок четности к массиву RAID 5. Ему требуется как минимум четыре диска (два диска для емкости, два диска для избыточности). RAID 5 можно рассматривать как особый случай кода Reed-Solomon. RAID 5 - это особый случай, однако, он нуждается только в добавлении в поле Галуа GF(2). Это легко сделать с XOR. RAID 6 расширяет эти вычисления. Это больше не особый случай, и все вычисления должны быть выполнены. В RAID 6 используется дополнительная контрольная сумма (называемая полиномиальной), обычно GF(28). При таком подходе можно защитить от любого количества вышедших из строя дисков. RAID 6 предназначен для использования двух контрольных сумм для защиты от потери двух дисков.
Как и в RAID 5, четность и данные находятся на разных дисках для каждого блока. Два блока четности также расположены на разных дисках.
Существуют различные способы выполнения RAID 6. Они отличаются как производительностью записи, так и тем, сколько вычислений необходимо. Возможность выполнять более быструю запись обычно означает, что требуется больше вычислений.
RAID 6 медленнее RAID 5, но позволяет продолжать работу с любыми двумя отказавшимися дисками. RAID 6 становится популярным, так как позволяет восстанавливать массив после отказа одного диска, даже если один из оставшихся дисков имеет один или несколько поврежденных секторов.
Фотографии
·
RAID 3 очень похож на RAID уровня 0. Добавляется дополнительный диск, который будет содержать контрольную сумму для каждого блока данных.
·
RAID 4 аналогичен RAID 3-го уровня, но вычисляет четность по большим блокам данных.
·
RAID 6 похож на RAID 5, но вычисляет две разные контрольные суммы. Это позволяет двум дискам выйти из строя без потери данных.
Нестандартные уровни RAID
Двойная четность / Диагональная четность
RAID 6 использует два блока четности. Они вычисляются специальным образом над полиномом. RAID с двойной четностью (также называемый RAID с диагональной четностью) использует для каждого из этих блоков свой полином. Недавно отраслевая ассоциация, определившая RAID, сказала, что RAID с двойной четностью - это другая форма RAID 6.
RAID-DP
RAID-DP - это еще один способ иметь двойную четность.
RAID 1.5
RAID 1.5 (не путать с RAID 15, который отличается) - это собственная реализация RAID. Как и RAID 1, он использует только два диска, но делает и чередование, и зеркалирование (похоже на RAID 10). Большинство вещей выполняется на аппаратном уровне.
RAID 5E, RAID 5EE и RAID 6E
RAID 5E, RAID 5EE и RAID 6E (с добавлением E для расширенного) обычно относятся к различным типам RAID 5 или RAID 6 с горячим запасным вариантом. В этих реализациях, hot spare диск не является физическим диском. Скорее, он существует в виде свободного места на дисках. Это увеличивает производительность, но означает, что hot spare не может быть разделен между различными массивами. Схема была представлена компанией IBM ServeRAID около 2001 года.
RAID 7
Это собственная реализация. Она добавляет кэширование в массив RAID 3 или RAID 4.
Intel Matrix RAID
Некоторые материнские платы Intel имеют RAID-массивный чип, обладающий этой функцией. Он использует два или три диска, а затем разделывает их поровну, образуя комбинацию уровней RAID 0, RAID 1, RAID 5 или RAID 1+0.
драйвер Linux MD RAID
Это название драйвера, который позволяет делать программный RAID с Linux. В дополнение к обычному RAID-массиву уровней 0-6, он также имеет реализацию RAID 10. Начиная с версии ядра 2.6.9, RAID 10 является одноуровневым. Реализация имеет некоторые нестандартные особенности.
RAID Z
Sun внедрила файловую систему под названием ZFS. Эта файловая система оптимизирована для работы с большими объемами данных. Она включает в себя менеджер логических томов. Она также включает в себя функцию под названием RAID-Z. Она позволяет избежать проблемы, называемой "дыра в RAID 5" при записи, так как имеет политику копирования на запись: Он не перезаписывает данные напрямую, а записывает новые данные в новое место на диске. Когда запись прошла успешно, старые данные удаляются. Это позволяет избежать операций чтения-изменения-записи для небольших записей, потому что он записывает только полосы. Маленькие блоки зеркалируются вместо защищенных от четности, что возможно потому, что файловая система знает, как организовано хранилище. Поэтому при необходимости она может выделить дополнительное место. Существует также RAID-Z2, который использует две формы четности для достижения результатов, похожих на RAID 6: способность выдерживать до двух отказов дисков без потери данных.
Фотографии
·
Диаграмма настройки RAID DP (Double Parity).
·
Настройка матричного RAID.
Объединение уровней RAID
В RAID-массиве можно собрать различные диски, чтобы получить логический диск. Пользователь увидит только логический диск. Каждый из вышеперечисленных уровней RAID имеет как положительные, так и отрицательные стороны. Но RAID также может работать и с логическими дисками. Таким образом, один из вышеперечисленных уровней RAID может быть использован с набором логических дисков. Многие отмечают это, записывая цифры вместе. Иногда они пишут '+' или '&' между ними. Распространенными комбинациями (с использованием двух уровней) являются следующие:
- RAID 0+1: два или более массива RAID 0 объединяются в массив RAID 1; это называется "Зеркало полос".
- RAID 1+0: То же, что и RAID 0+1, но уровни RAID перевернуты; Полоса зеркал. Это делает отказ диска более редким, чем в массиве RAID 0+1, описанном выше.
- Массив RAID 5+0: с помощью массива RAID 0 можно выделить несколько массивов RAID 5. Один диск каждого RAID 5 может выйти из строя, но делает этот RAID 5 единственной точкой отказа; если другой диск этого массива выйдет из строя, все данные массива будут потеряны.
- RAID 5+1: Зеркальное отображение набора RAID 5: в ситуации, когда RAID состоит из шести дисков, любые три могут выйти из строя (без потери данных).
- RAID 6+0: запись нескольких массивов RAID 6 через RAID 0; два диска каждого RAID 6 могут выйти из строя без потери данных.
Имея шесть дисков по 300 ГБ каждый, общей емкостью 1,8 ТБ, можно создать RAID 5 с полезным объемом 1,5 ТБ. В этом массиве один диск может выйти из строя без потери данных. В RAID 50 объем пространства сокращается до 1,2 ТБ, но один диск каждого RAID 5 может выйти из строя, плюс заметно увеличивается производительность. Массив RAID 51 уменьшает полезный размер до 900 ГБ, но позволяет выйти из строя любым трем дискам.
·
RAID 0+1: несколько массивов RAID 0 объединяются с массивом RAID 1.
·
Массив RAID 1+0: более надежный, чем массив RAID 0+1; поддерживает отказ нескольких дисков, при условии, что ни один из двух дисков не выйдет из строя из-за неисправности зеркала.
·
RAID 5+1: Любые три таких диска могут выйти из строя без потери данных.
Создание RAID-массива
Есть разные способы создания RAID. Это можно сделать как с помощью программного обеспечения, так и с помощью аппаратных средств.
Программный RAID
Массив RAID может быть создан с помощью программного обеспечения двумя различными способами. В случае программного RAID, диски подключаются как обычные жесткие диски. Именно компьютер обеспечивает работу RAID-массива. Это означает, что для каждого доступа к массиву процессор также должен выполнять вычисления для него. Вычисления для RAID 0 или RAID 1 просты. Однако, вычисления для массивов RAID 5, RAID 6 или одного из комбинированных уровней RAID могут быть очень трудоемкими. В программном RAID автоматическая загрузка с отказавшего массива может оказаться сложной задачей. Наконец, то, как выполняется программный RAID, зависит от используемой операционной системы; как правило, невозможно перестроить программный RAID-массив с другой операционной системой. Операционные системы обычно используют разделы жёстких дисков, а не целые жёсткие диски для создания RAID-массивов.
Аппаратный RAID
Массив RAID также может быть выполнен на аппаратном уровне. В этом случае используется специальный контроллер диска, который скрывает от операционной системы и пользователя тот факт, что он делает RAID. Вычисления информации о контрольных суммах, а также другие вычисления, связанные с RAID, выполняются на специальном микрочипе в этом контроллере. Это делает RAID независимым от операционной системы. Операционная система не увидит RAID, она увидит только один диск. Различные производители делают RAID-массивы разными способами. Это означает, что RAID-массив, собранный с помощью одного аппаратного RAID-контроллера, не может быть перестроен другим RAID-контроллером другого производителя. Аппаратные RAID-контроллеры часто стоят дорого.
Аппаратный RAID
Это смесь аппаратного и программного RAID. Аппаратный RAID использует специальный чип контроллера (например, аппаратный RAID), но этот чип не может выполнять много операций. Он активен только при запуске системы; как только операционная система полностью загружена, эта конфигурация похожа на программный RAID. Некоторые материнские платы имеют функции RAID для подключенных дисков; чаще всего эти функции выполняются как аппаратный RAID. Это означает, что для использования этих функций RAID и восстановления с вышедшего из строя диска необходимо специальное программное обеспечение.
Различные термины, связанные с аппаратными сбоями
Существуют различные термины, которые используются, когда речь идет о сбоях аппаратного обеспечения:
Количество отказов
Частота отказов - это частота отказов системы. Среднее время до отказа (MTTF) или среднее время между отказами (MTBF) системы RAID такое же, как и у ее компонентов. В конце концов, система RAID не может защитить от сбоев отдельных жестких дисков. Более сложные типы RAID (что угодно, кроме "чередования" или "конкатенации") могут помочь сохранить данные в целости и сохранности даже в случае отказа отдельного жесткого диска.
Среднее время потери данных
Среднее время потери данных (MTTDL) дает среднее время до того, как потеря данных произойдет в данном массиве. Среднее время потери данных в данном RAID-массиве может быть больше или меньше, чем у жестких дисков. Это зависит от типа используемого RAID-массива.
Время восстановления
Массивы с избыточностью могут восстанавливаться после некоторых сбоев. Среднее время восстановления показывает, сколько времени требуется, чтобы массив, вышедший из строя, вернулся в нормальное состояние. Это добавляет как время на замену вышедшего из строя дискового механизма, так и время на повторное построение массива (т.е. репликацию данных для избыточности).
Неустранимая вероятность битовых ошибок
Коэффициент невосстанавливаемых битовых ошибок (UBE) показывает, как долго диск не сможет восстановить данные после использования циклических кодов проверки избыточности (CRC) и многократных повторных попыток.
Проблемы с RAID
Существуют также определенные проблемы с идеями или технологиями, лежащими в основе RAID:
Добавление дисков позднее
Определенные уровни RAID позволяют расширить массив, просто добавляя жесткие диски, в последующем. Такая информация, как блоки четности, часто разбросана по нескольким дискам. Добавление диска в массив означает, что реорганизация становится необходимой. Такая реорганизация похожа на перестройку массива, она может занять много времени. Когда это делается, дополнительного места может не хватить, так как и файловая система в массиве, и операционная система должны быть проинформированы об этом. Некоторые файловые системы не поддерживают выращивание после создания. В этом случае необходимо создать резервную копию всех данных, воссоздать массив с новой компоновкой и восстановить данные на нем.
Еще одним вариантом добавления хранилища является создание нового массива, а также предоставление менеджера логических томов для обработки ситуации. Это позволяет выращивать практически любые RAID-системы, даже RAID1 (который сам по себе ограничен двумя дисками).
Связанные неудачи
Механизм исправления ошибок в RAID-массиве предполагает, что отказы дисков являются независимыми. Можно вычислить, как часто часть оборудования может выходить из строя, и организовать массив так, чтобы потеря данных была очень невероятной.
Однако на практике диски часто покупали вместе. Они имеют примерно одинаковый возраст и использовались аналогичным образом (так называемый износ). Многие приводы выходят из строя из-за механических проблем. Чем старше привод, тем больше изнашиваются его механические части. Старые механические детали чаще выходят из строя, чем более молодые. Это означает, что отказы дисков больше не являются статистически независимыми. На практике существует вероятность того, что второй диск выйдет из строя до того, как будет восстановлен первый. Это означает, что на практике потеря данных может происходить со значительной скоростью.
Атомность
Другая проблема, которая также возникает с системами RAID - это то, что приложения ожидают того, что называется Атомность: Либо все данные записываются, либо их нет. Запись данных известна как транзакция.
В RAID-массивах новые данные обычно записываются в том месте, где были старые. Это стало известно как обновление на месте. Джим Грей, исследователь баз данных, написал статью в 1981 году, в которой описал эту проблему.
Очень немногие системы хранения данных допускают атомную семантику записи. Когда объект записывается на диск, устройство хранения RAID обычно записывает все копии объекта параллельно. Очень часто за запись данных отвечает только один процессор. В этом случае записи данных на разные диски будут дублироваться. Это называется перекрытой записью или записью в шахматном порядке. Поэтому ошибка, возникающая в процессе записи, может привести к тому, что избыточные копии останутся в разных состояниях. Хуже того, она может не оставить копии ни в старом, ни в новом состоянии. Однако, запись зависит от того, находятся ли исходные данные либо в старом, либо в новом состоянии. Это позволяет отказаться от логического изменения, но лишь немногие системы хранения данных обеспечивают атомарную семантическую запись на RAID-диск.
Использование кэша записи на батарейках может решить эту проблему, но только в случае отключения питания.
Поддержка транзакций присутствует не во всех аппаратных RAID-контроллерах. Поэтому многие операционные системы включают ее для защиты от потери данных во время прерванной записи. Novell Netware, начиная с версии 3.x, включала систему отслеживания транзакций. Microsoft внедрила отслеживание транзакций через функцию журналирования в NTFS. Файловая система NetApp WAFL решает эту проблему, никогда не обновляя данные на месте, как это делает ZFS.
Неустранимые данные
Некоторые сектора на жестком диске могли стать нечитаемыми из-за ошибки. Некоторые реализации RAID могут справиться с этой ситуацией, перемещая данные в другое место и отмечая сектор на диске как плохой. Это происходит примерно в 1 бите из 1015 в дисковых накопителях корпоративного класса и в 1 бите из 1014 в обычных дисковых накопителях. Емкость дисков неуклонно растет. Это может означать, что иногда RAID-массив не может быть восстановлен, так как такая ошибка обнаруживается, когда массив восстанавливается после отказа диска. Некоторые технологии, такие как RAID 6, пытаются решить эту проблему, но они страдают от очень высокого штрафа при записи, другими словами, запись данных становится очень медленной.
Надежность кэш-памяти
Дисковая система может подтвердить операцию записи, как только данные попадут в кэш. Ей не нужно ждать, пока данные будут физически записаны. Тем не менее, любой перебой в электроснабжении может означать существенную потерю данных в такой кэш-памяти.
В аппаратном RAID-массиве для защиты кэша можно использовать батарею. Это часто решает проблему. Когда питание отключается, контроллер может закончить запись кэша, когда питание возвращается. Однако это решение все равно может выйти из строя: батарея могла износиться, питание могло отключаться слишком долго, диски могли перемещаться на другой контроллер, а сам контроллер мог выходить из строя. Некоторые системы могут проводить периодические проверки батареи, но они используют саму батарею, и оставляют ее в таком состоянии, когда она не полностью заряжена.
Совместимость оборудования
Форматы дисков на различных RAID-контроллерах не обязательно совместимы. Поэтому чтение RAID-массива на разном оборудовании может оказаться невозможным. Следовательно, для восстановления данных может потребоваться использование идентичного оборудования или резервной копии.
Что RAID может и что не может делать
Это руководство было взято из темы на форуме, посвященном RAID. Это было сделано для того, чтобы показать преимущества и недостатки выбора RAID. Оно предназначено для тех, кто хочет выбрать RAID для увеличения производительности или избыточности. В форуме содержатся ссылки на другие темы, содержащие анекдотические отзывы пользователей об их опыте работы с RAID-массивами.
Что может сделать RAID
- RAID может защитить время работы. Уровни RAID 1, 0+1/10, 5 и 6 (и их варианты, такие как 50 и 51) компенсируют механическую поломку жесткого диска. Даже после выхода диска из строя, данные в массиве все равно могут быть использованы. Вместо трудоемкого восстановления с ленты, DVD или другого медленного носителя резервного копирования RAID позволяет восстанавливать данные на запасной диск из других членов массива. Во время этого процесса восстановления он доступен пользователям, находящимся в неудовлетворительном состоянии. Это очень важно для предприятий, так как время простоя быстро приводит к потере заработка. Для домашних пользователей он может защитить время простоя больших массивов хранения данных, что потребует трудоемкого восстановления с десятков DVD или нескольких лент в случае выхода из строя диска, который не защищен избыточностью.
- RAID может повысить производительность в определенных приложениях. На всех уровнях RAID 0, 5 и 6 используется чередование. Это позволяет нескольким шпинделям увеличить скорость передачи данных при линейной передаче. Приложения типа рабочих станций часто работают с большими файлами. Они значительно выигрывают от чередования дисков. Примерами таких приложений являются приложения, использующие видео или аудио файлы. Такая пропускная способность также полезна при резервном копировании с диска на диск. RAID 1, как и другие уровни RAID с чередованием, может повысить производительность для шаблонов доступа с большим количеством одновременных произвольных обращений, например, к многопользовательской базе данных.
Что RAID не может сделать
- RAID не может защитить данные в массиве. У RAID-массива одна файловая система. Это создает единую точку отказа. Есть много вещей, которые могут произойти с этой файловой системой, кроме выхода из строя физического диска. RAID не может защитить от этих источников потери данных. RAID не остановит вирус от уничтожения данных. RAID не предотвратит повреждение. RAID не будет сохранять данные, когда пользователь изменяет их или удаляет случайно. RAID не защищает данные от аппаратного сбоя любого компонента, кроме физических дисков. RAID не защищает данные от природных или техногенных катастроф, таких как пожары и наводнения. Для защиты данных необходимо создать резервную копию данных на съемных носителях, таких как DVD, лента или внешний жесткий диск. Резервное копирование должно храниться в другом месте. Сам по себе RAID не предотвратит катастрофу, когда (не если) она произойдет, от превращения в потерю данных. Бедствия невозможно предотвратить, но резервное копирование позволяет предотвратить потерю данных.
- RAID не может упростить аварийное восстановление. При работе с одним диском, диск может использоваться большинством операционных систем, поскольку они поставляются с общим драйвером устройства. Однако большинству RAID-контроллеров требуются специальные драйверы. Инструментам восстановления, которые работают с одним диском на обычных контроллерах, потребуются специальные драйверы для доступа к данным в RAID массивах. Если эти утилиты восстановления плохо закодированы и не позволяют предоставить дополнительные драйверы, то RAID массив, вероятно, будет недоступен для этого утилиты восстановления.
- RAID не может обеспечить прирост производительности во всех приложениях. Это утверждение особенно справедливо для типичных пользователей настольных приложений и геймеров. Для большинства настольных приложений и игр буферная стратегия и стремление к производительности диска(ов) более важны, чем сырая пропускная способность. Увеличение исходной устойчивой скорости передачи данных показывает небольшой выигрыш для таких пользователей, так как большинство файлов, к которым они обращаются, обычно очень малы в любом случае. Чередование дисков с помощью RAID 0 повышает производительность линейной передачи, а не буфера и поиска. В результате, чередование дисков с использованием RAID 0 показывает незначительный прирост производительности в большинстве настольных приложений и игр, хотя есть и исключения. Для пользователей настольных ПК и геймеров с высокой производительностью в качестве цели лучше купить более быстрый, большой и дорогой один диск, чем запускать два более медленных/малых диска в RAID 0. Даже запуск новейших, самых больших и больших дисков в RAID-0 вряд ли увеличит производительность более чем на 10%, и производительность может снизиться при некоторых схемах доступа, в частности, в играх.
- Трудно перенести RAID в новую систему. При наличии одного диска относительно легко перенести диск в новую систему. Его можно просто подключить к новой системе, если у него будет тот же самый интерфейс. Однако, с RAID-массивом это не так просто. Существует определенный вид Метаданных, который говорит о том, как настроен RAID. BIOS RAID должен уметь читать эти метаданные, чтобы он мог успешно построить массив и сделать его доступным для операционной системы. Поскольку производители RAID-контроллеров используют разные форматы для своих метаданных (даже контроллеры разных семейств от одного и того же производителя могут использовать несовместимые форматы метаданных), переместить RAID-массив на другой контроллер практически невозможно. При перемещении RAID-массива в новую систему необходимо также планировать перемещение контроллера. В связи с популярностью интегрированных в материнскую плату RAID-контроллеров это чрезвычайно сложно. Обычно можно перемещать членов RAID-массива и контроллеры вместе. Программный RAID в Linux и Windows Server Products также может обойти это ограничение, но у программного RAID есть и другие (в основном, связанные с производительностью).
Пример
Чаще всего используются следующие уровни RAID: RAID 0, RAID 1 и RAID 5. Предположим, существует 3 диска, с 3 идентичными дисками по 1 ТБ каждый, а вероятность отказа диска в течение заданного промежутка времени составляет 1%.
уровень RAID | Полезная ёмкость | Вероятность отказа заданный в процентах | Вероятность отказа 1 в ... случаях не удается |
0 | 3 ТБ | 2,9701% | 34 |
1 | 1 ТБ | 0,0001% | 1 миллион |
5 | 2 ТБ | 0,0298% | 3356 |