< Все темы

RAID (избыточный массив независимых дисков)

Оглавление

Что такое RAID?

RAID (избыточный массив независимых дисков) — это способ хранения одних и тех же данных в разных местах на нескольких жестких дисках или твердотельных накопителях (SSD) для защиты данных в случае отказа диска. Однако существуют разные уровни RAID, и не все они предназначены для обеспечения избыточности.

Как работает RAID

RAID работает, размещая данные на нескольких дисках и позволяя операциям ввода-вывода (I/O) перекрываться сбалансированным образом, повышая производительность. Поскольку использование нескольких дисков увеличивает среднее время наработки на отказ, избыточное хранение данных также повышает отказоустойчивость.

RAID-массивы представляются операционной системе (ОС) как один логический диск.

RAID использует методы зеркального отображения или чередования дисков. При зеркалировании идентичные данные будут скопированы более чем на один диск. Чередование разделов помогает распределять данные по нескольким дискам. Объем памяти каждого диска разделен на блоки данных с размером сектора от 512 байт до нескольких мегабайт. Полосы всех дисков чередуются и адресуются по порядку. Зеркалирование дисков и чередование дисков также можно комбинировать в массиве RAID.

Образ жесткого диска в массиве RAID.

В однопользовательской системе, где хранятся большие записи, блоки данных обычно устанавливаются небольшими (например, 512 байт), чтобы одна запись занимала все диски и к ней можно было быстро получить доступ, прочитав все диски одновременно.

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

RAID-контроллер

RAID-контроллер — это устройство, используемое для управления жесткими дисками в массиве хранения. Его можно использовать как уровень абстракции между ОС и физическими дисками, представляя группы дисков как логические единицы. Использование RAID-контроллера может повысить производительность и помочь защитить данные в случае сбоя.

RAID-контроллер может быть аппаратным или программным. В аппаратном RAID физический контроллер управляет всем массивом. Контроллер может быть разработан для поддержки таких форматов накопителей, как SATA (Serial Advanced Technology Attachment, последовательный интерфейс обмена данными) и SCSI (Small Computer System Interface, системный интерфейс для малых компьютеров) Физический RAID-контроллер также может быть встроен в материнскую плату сервера.

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

Если программная реализация RAID не совместима с процессом загрузки системы, а аппаратные RAID-контроллеры слишком дороги, потенциальным вариантом является RAID на основе встроенного программного обеспечения или драйверов.

Микросхемы RAID-контроллера на основе встроенного программного обеспечения расположены на материнской плате, и все операции выполняются центральным процессором (ЦП), аналогично программному RAID. Однако в прошивке система RAID реализуется только в начале процесса загрузки. После загрузки ОС драйвер контроллера берет на себя функции RAID. Встроенный RAID-контроллер стоит не так дорого, как аппаратная опция, но он увеличивает нагрузку на ЦП компьютера. RAID на основе встроенного программного обеспечения также называется программным RAID с аппаратной поддержкой, RAID гибридной модели и полуаппаратным RAID.

Уровни RAID

Устройства RAID используют разные версии, называемые уровнями. В исходной статье, в которой был введен этот термин и разработана концепция настройки RAID, определены шесть уровней RAID — от 0 до 5. Эта пронумерованная система позволила ИТ-специалистам различать версии RAID. С тех пор количество уровней расширилось и было разбито на три категории: стандартные, вложенные и нестандартные уровни RAID.

Стандартные уровни RAID

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

Схема работы RAID 0

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

Схема работы RAID 1

RAID 2. В этой конфигурации используется чередование дисков, при этом на некоторых дисках хранится информация о проверке и исправлении ошибок (ECC). В RAID 2 также используется специальный контроль четности кода Хэмминга, линейная форма ECC. RAID 2 не имеет преимуществ перед RAID 3 и больше не используется.

Схема работы RAID 2

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

Схема работы RAID 3

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

Схема работы RAID 4

RAID 5. Этот уровень основан на чередовании четности на уровне блоков данных. Информация о четности распределяется по каждому диску, что позволяет массиву работать, даже если один из дисков выйдет из строя. Архитектура массива позволяет выполнять операции чтения и записи на нескольких дисках. В результате производительность выше, чем у одного диска, но не так высока, как у массива RAID 0. Для RAID 5 требуется не менее трех дисков, но часто рекомендуется использовать не менее пяти дисков из соображений производительности.

Массивы RAID 5 обычно считаются плохим выбором для использования в системах с интенсивной записью из-за влияния на производительность, связанного с записью данных четности. Когда диск выходит из строя, восстановление массива RAID 5 может занять много времени.

Схема работы RAID 5

RAID 6. Этот уровень похож на RAID 5, но включает вторую схему четности, распределенную по дискам в массиве. Использование дополнительной проверки четности позволяет массиву продолжать работу даже в случае одновременного отказа двух дисков. Однако эта дополнительная защита имеет свою цену. Массивы RAID 6 часто имеют более низкую скорость записи, чем массивы RAID 5.

Схема работы RAID 6

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

Некоторые уровни RAID, основанные на комбинации уровней RAID, называются комбинированными RAID. Вот несколько примеров вложенных уровней RAID.

RAID 10 (RAID 1+0). Комбинируя RAID 1 и RAID 0, этот уровень часто называют RAID 10, который предлагает более высокую производительность, чем RAID 1, но гораздо более высокую стоимость. В RAID 1+0 данные зеркалируются, а зеркала чередуются.

Схема работы RAID 10

RAID 01 (RAID 0+1). RAID 0+1 похож на RAID 1+0, за исключением того, что метод организации данных немного отличается. Вместо того, чтобы создавать зеркало и затем чередовать его, RAID 0+1 создает чередующийся набор страйпов, а затем зеркально отражает его.

RAID 03 (RAID 0+3, также известный как RAID 53 или RAID 5+3). На этом уровне используется чередование в стиле RAID 0 для блоков виртуального диска RAID 3. Это обеспечивает более высокую производительность, чем RAID 3, но по более высокой цене.

RAID 50 (RAID 5+0). Эта конфигурация сочетает распределенную четность RAID 5 с чередованием RAID 0 для повышения производительности RAID 5 без снижения уровня защиты данных.

Нестандартные уровни RAID

Нестандартные уровни RAID отличаются от стандартных уровней RAID и обычно разрабатываются компаниями или организациями в основном для собственного использования. Вот несколько примеров.

RAID 7. Нестандартный уровень RAID на основе RAID 3 и RAID 4 с добавлением кэширования. Он включает встроенную ОС реального времени в качестве контроллера, кэширование через высокоскоростную шину и другие характеристики автономного компьютера.

Адаптивный RAID. Этот уровень позволяет RAID-контроллеру решать, как хранить четность на дисках. Он будет выбирать между RAID 3 и RAID 5. Выбор зависит от того, какой тип набора RAID будет лучше работать с типом данных, записываемых на диски.

Linux MD RAID 10. Этот уровень, обеспечиваемый ядром Linux, поддерживает создание вложенных и нестандартных RAID-массивов. Программный RAID для Linux также поддерживает создание стандартных конфигураций RAID 0, RAID 1, RAID 4, RAID 5 и RAID 6.

Аппаратный RAID против программного RAID

Как и в случае с RAID-контроллерами, RAID реализуется либо аппаратно, либо программно. Аппаратный RAID поддерживает различные конфигурации RAID и особенно хорошо подходит для RAID 5 и 6. Конфигурация для аппаратного RAID 1 хороша для поддержки процесса загрузки и запуска приложений, а аппаратный RAID 5 подходит для больших массивов хранения. Оба аппаратных RAID 5 и 6 хорошо подходят для повышения производительности.

Для аппаратного RAID требуется, чтобы на сервере был установлен выделенный контроллер. Аппаратные RAID-контроллеры настраиваются через базовую систему ввода-вывода карты или дополнительное ПЗУ (постоянное запоминающее устройство) либо до, либо после загрузки ОС. Производители RAID-контроллеров также обычно предоставляют проприетарные программные инструменты для поддерживаемых ими операционных систем.

Программный RAID предоставляется несколькими современными операционными системами. Он реализуется несколькими способами, в том числе:

  • как компонент файловой системы;
  • как уровень, который абстрагирует устройства как одно виртуальное устройство; а также
  • как слой, который находится над любой файловой системой.

Этот метод RAID использует часть вычислительной мощности системы для управления программной конфигурацией RAID. Например, Windows поддерживает программные RAID 0, 1 и 5, а macOS от Apple поддерживает RAID 0, 1 и 1+0

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

Преимущества RAID включают следующее:

  • Улучшенная рентабельность, поскольку недорогие диски используются в больших количествах.
  • Использование нескольких жестких дисков позволяет RAID повысить производительность одного жесткого диска.
  • Повышение скорости работы компьютера и надежности после сбоя в зависимости от конфигурации.
  • При использовании RAID 0 чтение и запись могут выполняться быстрее, чем с одним диском. Это связано с тем, что файловая система разделена и распределена по дискам, которые вместе работают с одним и тем же файлом.
  • RAID 5 повышает доступность и отказоустойчивость. Благодаря зеркальному отображению два диска могут содержать одни и те же данные, гарантируя, что один из них будет продолжать работать в случае сбоя другого.

Недостатки использования RAID

Однако RAID имеет свои ограничения. Некоторые из них включают:

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

Однако комбинированные уровни RAID решают эти проблемы, обеспечивая большую степень избыточности, значительно снижая вероятность отказа на уровне массива из-за одновременных отказов дисков.

Когда следует использовать RAID?

Случаи, когда полезно иметь настройку RAID, включают:

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

История RAID

Термин RAID был придуман в 1987 году Дэвидом Паттерсоном, Рэнди Кацем и Гартом А. Гибсоном. В своем техническом отчете 1988 года «Пример избыточных массивов недорогих дисков (RAID)» все трое утверждали, что массив недорогих дисков может превзойти производительность самых дорогих дисков того времени. Используя избыточность, массив RAID может быть более надежным, чем любой один диск.

Хотя этот отчет был первым, в котором эта концепция была названа, использование резервных дисков уже обсуждалось другими. Гас Герман и Тед Грунау из Geac Computer Corp. впервые назвали эту идею MF-100. Норман Кен Оучи из IBM подал патент в 1977 году на технологию, которая позже была названа RAID 4. В 1983 году Digital Equipment Corp. поставила диски, которые впоследствии стали RAID 1, а в 1986 году был подан еще один патент IBM на то, что впоследствии стало RAID. 5. Паттерсон, Кац и Гибсон также изучили, что делают такие компании, как Tandem Computers, Thinking Machines и Maxstor, для определения своих таксономий RAID.

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

По словам Каца, термин «недорогой» в аббревиатуре вскоре был заменен отраслевыми поставщиками на «независимый» из-за низких затрат.

Будущее RAID

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

Распространение твердотельных накопителей также рассматривается как уменьшение потребности в RAID. Твердотельные накопители не имеют движущихся частей и выходят из строя не так часто, как жесткие диски. Массивы SSD часто используют такие методы, как выравнивание износа, вместо того, чтобы полагаться на RAID для защиты данных. Современные твердотельные накопители достаточно быстры, поэтому современные серверы могут не нуждаться в незначительном повышении производительности, которое предлагает RAID. Однако в настоящее время они все еще могут использоваться для предотвращения потери данных.

Гипермасштабируемые вычисления также устраняют необходимость в RAID за счет использования резервных серверов вместо резервных дисков.

Тем не менее, RAID остается неотъемлемой частью систем хранения данных, и основные поставщики технологий продолжают выпускать продукты RAID. Например:

  • IBM предлагает IBM Distributed RAID, или DRAID, со своим Spectrum Virtualize V8.3, который обещает повысить производительность RAID.
  • Последняя версия технологии Intel Rapid Storage поддерживает RAID 0, RAID 1, RAID 5 и RAID 10.
  • Программное обеспечение управления NetApp OnTap использует RAID-DP, или двойную четность, или RAID 4 для защиты от одновременного отказа до трех дисков.
  • Платформа Dell EMC Unity поддерживает RAID 5, 6 и 10.

Источник: https://www.techtarget.com/searchstorage/definition/erasure-coding