1. Обзор RAID
В 1988 году Калифорнийский университет в Беркли предложил концепцию RAID (RedundantArrayofInexpensiveDisks), и по мере того как стоимость дисков продолжала снижаться, RAID стал (RedundantArrayofIndependentDisks), но суть не изменилась. SNIA, Berkeley и другие организации установили семь уровней RAID0~RAID6 как стандартные RAID-уровни, и стандартный RAID можно объединять с другими уровнями RAID; наиболее часто используемые уровни — RAID0, RAID1, RAID3, RAID5, RAID6 и RAID10. Каждый уровень RAID представляет собой метод и технологию реализации, и между уровнями нет различия. В практических приложениях следует выбирать подходящий уровень RAID и конкретные методы реализации, исходя из характеристик пользовательского приложения с данными, учитывая доступность, производительность и стоимость.
С точки зрения реализации, RAID в основном делится на три типа: мягкий RAID, жёсткий RAID и гибридный RAID. Все функции soft RAID выполняются операционной системой и процессором, что, естественно, является наименее эффективным. Жёсткий RAID оснащён специализированными чипами управления и обработкой RAID, а также чипами ввода-вывода и буферами массивов, которые не потребляют ресурсы процессора, но являются дорогими. Гибридный RAID оснащён чипами управления и обработкой RAID, но отсутствуют чипы ввода-вывода, которые требуют процессора и драйверов для завершения, а производительность и стоимость колеблются между мягким и жёстким RAID.
2. Основные принципы
RAID — это подсистема диска, состоящая из нескольких независимых, высокопроизводительных дисков, что обеспечивает более высокую производительность хранения и технологию дублирования данных, чем один диск. RAID — это класс технологий управления мультидисками, обеспечивающих высокопроизводительное хранилище с высокой надёжностью данных по доступной цене для хост-среды. Две ключевые цели RAID — повышение надёжности данных и производительности ввода-вывода. В дисковом массиве данные распределяются по нескольким дискам, но для компьютерной системы они похожи на один диск. Избыточность достигается путём записи одних и тех же данных на несколько дисков одновременно (обычно зеркалирование) или записи вычисленных проверочных данных в массив для предотвращения потери данных при выходе из строя одного диска.
В RAID есть три основных концепции и техники: зеркалирование, удаление данных и паритетность данных:
Зеркалирование, которое реплицирует данные на несколько дисков, повышает надёжность с одной стороны и улучшает производительность чтения за счёт одновременного чтения данных с двух или более реплик. Очевидно, что производительность записи изображения немного ниже, и требуется больше времени, чтобы данные были правильно записаны на несколько дисков. Data striping, который содержит осколки данных на нескольких разных дисках, а несколько осколков данных вместе образуют полную копию данных, что отличается от множественных копий зеркалирования и часто используется с точки зрения производительности. Ленты данных обладают более высокой гранулярностью параллелизма, и при доступе к данным они могут одновременно читать и записывать данные на разных дисках, что значительно повышает производительность ввода-вывода. Проверка данных, используя резервные данные для обнаружения и исправления ошибок, избыточные данные обычно рассчитываются с помощью кода Хемингуэя, операции XOR и других алгоритмов. Функция верификации значительно повышает надёжность, ограбление и отказоустойчивость дисковых массивов. Однако валидация данных требует чтения из нескольких источников, расчёта и сравнения, что может повлиять на производительность системы. Разные категории RAID используют одну или несколько из трёх технологий для достижения разной надёжности, доступности и производительности ввода/вывода данных. Что касается того, какой RAID спроектировать (или даже новый класс или тип), или какой режим использовать RAID, необходимо принять разумный выбор, основываясь на глубоком понимании потребностей системы, а также всесторонне оценивать надёжность, производительность и стоимость для компромисса.
В целом, основные преимущества RAID — это большая ёмкость, высокая производительность, надёжность и управляемость.
3. Рейтинг RAID
JBOD (JustaBunchOfDisks) — это не стандартный уровень RAID, он часто используется для представления коллекции дисков, у которых нет программного обеспечения для координированного управления. JBOD соединяет несколько физических дисков последовательно, обеспечивая огромный логический диск. Производительность хранения равна производительности одного диска, и это не обеспечивает безопасность данных. Доступная ёмкость хранения равна сумме пространства всех дисков-участников.
RAID0, называемый полоской, — это простая, неконтролируемая технология стрипирования данных. Производительность — самый высокий уровень среди всех уровней RAID. Никаких полисов по сокращению не предусмотрено. 100% использование пространства для хранения.
RAID1 называется зеркалированием, и он записывает данные на рабочий диск и зеркальный диск абсолютно стабильно, при этом использует 50% использования дискового пространства. Производительность снижается при записи данных, но при их чтении нет. Он обеспечивает лучшую защиту данных: после выхода из строя рабочая система автоматически читает данные с зеркального диска, что не повлияет на работу пользователя.
RAID2 называется Heming Code Disk Array, и его идея заключается в использовании кода Хеминга для достижения избыточности проверки данных. Чем больше ширина данных, тем выше использование места для хранения, но тем больше дисков нужно. Он способен исправлять ошибки, но накладные расходы на избыточность данных у Hemingcode слишком велики, а восстановление данных занимает много времени, поэтому RAID2 используется редко на практике.
RAID3 называется выделенной полосой чётности, которая использует отдельный диск в качестве проверочного диска, а остальные диски — в качестве диска данных, при этом данные хранятся в каждом диске с перекрестным хранением в битах и байтах. RAID3 требует как минимум три диска.
RAID4 и RAID3 работают примерно по тому же принципу. Обеспечивает очень хорошую производительность чтения, но плохую производительность при записи. И по мере увеличения числа членских дисков узкое место системы на диске с контрольной суммой становится более заметным. Это редко встречается в реальных приложениях, и основные продукты хранения редко используют защиту RAID4.
RAID5 называется распределённой полосой контрольной суммы паритета, которая должна быть самым распространённым уровнем RAID на данный момент, и этот принцип схож с RAID4, но при одновременной записи в RAID4 нет узких мест в производительности проверяющего диска.
RAID6, называемый полосой двойной чётности, вводит концепцию двойных проверок для решения проблемы целостности данных, когда два диска выходят из строя одновременно, что другие классы RAID не могут решить. Однако он стоит значительно дороже RAID5, имеет низкую производительность записи и очень сложный в проектировании и реализации. Поэтому RAID6 редко используется на практике и, как правило, является экономичной альтернативой решениям RAID10.
Стандартные RAID-уровни имеют свои сильные и слабые стороны. Комбинировать несколько уровней RAID для достижения взаимодополняющих преимуществ и компенсировать недостатки друг друга, чтобы создать RAID-систему с более высокой производительностью, безопасностью данных и другими показателями. Конечно, стоимость реализации комбинированного уровня обычно очень высокая и используется лишь в нескольких конкретных случаях. На самом деле широко используются только RAID01 и RAID10.
RAID01 сначала обрабатывается полоской, а затем зеркальной формой, что по сути предназначено для изображения физического диска; RAID10 — это сначала изображение, затем stripe, то есть изображение виртуального диска. В той же конфигурации RAID01 обычно обладает лучшей отказоустойчивостью, чем RAID10. RAID01 сочетает преимущества RAID0 и RAID1, при этом общий уровень использования диска составляет всего 50%.
4. Сравнение основных уровней RAID
Конфигурация RAID
Уровень/Описание: | Отказоустойчивость | заслуга | недостаток | RAID 0
Отображайте данные между дисками для создания больших виртуальных дисков. Поскольку каждый физический диск обрабатывает только часть запроса, он может обеспечивать более высокие показатели. Однако если один диск выходит из строя, виртуальный диск (VD) становится недоступным, и данные будут навсегда потеряны. | не | Лучшая производительность Дополнительное хранилище | Её нельзя использовать для критически важных данных | RAID 1
Зеркало данных, сохранение избыточности данных на двух дисках. Если один диск выходит из строя, другой становится основным приводом. | Ошибка диска Отказ одного диска | Высокая производительность чтения Быстрое восстановление после отказа диска Избыточность данных | Накладные расходы на диск значительны Ограниченная вместимость | РЕЙД 5
Сопоставьте данные между дисками и храните биты чётности каждой ленты данных на разных дисках в VD. Бит чётности содержит информацию, которая может быть использована для восстановления данных с вышедшего из строя диска с другого диска в случае отказа одного диска. | Ошибка диска Отказ одного диска | Эффективное использование ёмкости привода Высокая производительность чтения Средняя и высокая производительность записи | Умеренное влияние на отказ диска Из-за перерасчета паритета время восстановления увеличивается | РЕЙД 6
Сопоставьте данные между дисками и храните биты чётности каждой ленты данных на разных дисках в VD. В отличие от RAID 5, RAID 6 выполняет два расчета чётности (P и Q), что позволяет ему выдерживать отказы двух дисков. | Избыточность данных Высокая производительность чтения | Ошибка диска Отказ двойного диска | Производительность записи снижается из-за двух вычислений чётности Поскольку это эквивалентно использованию двух дисков для чётности, есть дополнительная стоимость | РЕЙД 10
Полоски на наборе зеркал. Накладные расходы на диск высоки, но это отличное решение для высокой производительности, резервирования и быстрого восстановления в случае отказа диска. | Ошибка диска Один сбой диска на каждый набор образов | Высокая производительность чтения Поддерживаются RAID-группы с до 192 дисков | Самая высокая стоимость | RAID 50
Полоска RAID 5 на площадке. Уменьшая количество чтений на диск при расчете чётности, производительность может быть повышена с помощью RAID 5, в зависимости от конфигурации. | Ошибка диска Один отказ диска на каждом пролёте | Высокая производительность чтения Средняя и высокая производительность записи Поддерживаются RAID-группы с до 192 дисков | Умеренное влияние на отказ диска Из-за перерасчета паритета время восстановления увеличивается | RAID 60
Полоска RAID 6 на съёмочной площадке. При меньшем количестве чтений диска на расчет чётности производительность может быть повышена с помощью RAID 6, в зависимости от конфигурации. | Ошибка диска Два диска выходят из строя на каждом пролёте | Высокая производительность чтения Поддерживаются RAID-группы с до 192 дисков | Производительность записи снижается из-за двух вычислений чётности Поскольку это эквивалентно использованию двух дисков для чётности, есть дополнительная стоимость |
5. Различия в программном и аппаратном обеспечении RAID
Мягкий RAID
Soft RAID не имеет выделенного управляющего чипа и чипа ввода-вывода, а операционная система и процессор реализуют все функции RAID. Современные операционные системы в основном поддерживают soft RAID, обеспечивая абстракцию между физическими и логическими дисками за счёт добавления программного слоя поверх драйверов дисковых устройств. В настоящее время наиболее распространёнными рейтингами RAID, поддерживаемыми операционной системой, являются RAID0, RAID1, RAID10, RAID01 и RAID5. Например, Windows Server поддерживает RAID0, RAID1 и RAID5, Linux — RAID0, RAID1, RAID4, RAID5, RAID6 и др., а Mac OS X Server, FreeBSD, NetBSD, OpenBSD, Solaris и другие операционные системы также поддерживают соответствующие уровни RAID.
Управление конфигурацией и восстановление данных soft RAID относительно просты, но все задачи RAID полностью выполняются процессором, например, вычисление контрольных значений, поэтому эффективность выполнения относительно низкая.
Soft RAID реализуется операционной системой, поэтому раздел, на котором находится система, не может использоваться как логический диск-член RAID, а soft RAID не может защитить системный диск D. Для некоторых операционных систем информация о конфигурации RAID хранится в системной информации, а не как отдельный файл на диске. Таким образом, когда система неожиданно вылетает и потребуется переустановка, информация RAID теряется. Кроме того, технология отказостойкости диска не полностью поддерживает онлайн-замену, горячую замену или горячую замену, а возможность поддерживать горячую замену неправильного диска зависит от реализации операционной системы.
Жёсткий RAID
Жёсткий RAID оснащён собственной обработкой RAID и чипами ввода-вывода, а также буферизацией массивов, что является лучшим из трёх типов реализаций по использованию процессора и общей производительности, но при этом имеет самую высокую стоимость реализации. Жёсткий RAID обычно поддерживает технологию горячей замены, которая заменяет вышедшие из строя диски во время работы системы.
Жёсткий RAID состоит из RAID-карты и RAID-чипа, встроенных в материнскую плату, и серверные платформы часто используют RAID-карты. RAID-карта состоит из 4 частей: RAID-ядерного процессорного чипа (процессора на RAID-карте), порта, кэша и батареи. Среди них порты относятся к типам дисковых интерфейсов, поддерживаемых RAID-картами, таким как IDE/ATA, SCSI, SATA, SAS, FC и другие интерфейсы.
Смешивание жёсткого и мягкого RAID
Soft RAID не очень хорош и не защищает системные разделы, что затрудняет его применение на настольных системах. Жёсткий RAID очень дорогой, а разные RAD независимы друг от друга и не совместимы. Поэтому люди используют сочетание программного и аппаратного обеспечения для реализации RAID, чтобы получить компромисс между производительностью и стоимостью, то есть высокой стоимостью производительности.
Хотя этот RAID использует чип управления процессором, для экономии он часто дешевле и имеет слабую вычислительную мощность, и большая часть задач RAID по-прежнему выполняется процессором через драйверы прошивки.
6. Выбор RAID-приложений
При выборе уровня RAID есть три основных фактора: доступность данных, производительность ввода-вывода и стоимость. Если доступность не требуется, выберите RAID0 для высокой производительности. Если доступность и производительность важны, а стоимость не является главным фактором, выбирайте RAID1 по числу дисков. Если доступность, стоимость и производительность одинаково важны, выбирайте RAID3 или RAID5, исходя из общей передачи данных и количества дисков. В практических приложениях соответствующий уровень RAID должен выбираться исходя из характеристик и конкретных условий пользовательского приложения с данными, учитывая доступность, производительность и стоимость.
|