Введение в RAID: основные термины и подходы

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

Данное руководство ознакомит вас с общими понятиями RAID, преимуществами подобных массивов и различиями в технологиях их реализации.

Что такое RAID?

RAID расшифровывается как Redundant Arrays of Independent Disks (избыточный массив дисковых накопителей). Это технология виртуализации данных, которая объединяет несколько дисков в логический блок. Существует несколько шаблонов виртуализации, благодаря чему администраторы могут повысить производительность ил избыточность данных. RAID внедряется как промежуточный слой между неформатированными устройствами или разделами и файловой системой.

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

Обычно RAID используется для повышения производительности и избыточности.

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

Примечание: Избыточность и резервное копирование – не одно и то же. RAID-массивам бекап так же необходим, как и любому другому типу устройств.

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

Недостатками RAID являются:

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

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

RAID можно реализовать с помощью разных технологий.

Аппаратный RAID

Специальное аппаратное обеспечение RAID – это RAID-контроллеры или RAID-карты, с помощью которых можно создавать и управлять массивами RAID независимо от операционной системы. Контроллеры RAID имеют специальный процессор для управления устройствами RAID.

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

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

Конечно, аппаратный RAID имеет и значительные недостатки.

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

Программный RAID

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

Преимущества программного RAID:

  • Гибкость: управление RAID происходит с помощью операционной системы, потому такой массив можно настроить из работающей системы без перенастройки оборудования. Особенной гибкостью отличается программный RAID Linux, который предлагает много различных типов конфигурации RAID.
  • Открытый код: реализация программного RAID для систем с открытым исходным кодом (например Linux и FreeBSD) тоже является открытой. Вы можете легко прочитать и внедрить код в другие системы. К примеру, RAID-массив, созданный в Ubuntu, можно легко переместить на сервер CentOS. При этом почти нет риска потерять доступ к данным из-за программных различий.
  • Никаких дополнительных расходов: программный RAID не требует специального аппаратного обеспечения.

Недостатки программного RAID:

  • Зависимость от реализации: программный RAID не привязан к конкретному оборудованию, однако он обычно зависит от конкретной реализации. Linux использует mdadm, FreeBSD – RAID на основе механизма GEOM, Windows – собственную версию RAID. Реализации RAID с открытым исходным кодом можно читать и перемещать, только если формат совпадает. Разные реализации программного RAID обычно несовместимы.
  • Ресурсные затраты: В течение всего срока существования программный RAID критикуют за повышенное ресурсопотребление. Управление массивом занимает циклы процессора и память, которые можно использовать для других целей. Такие программные реализации как mdadm почти устраняют эту проблему на современном оборудовании; теперь  расход ресурсов процессора сведён к минимуму и в большинстве случаев незначителен.

Полуаппаратный RAID (Fake RAID)

Третий тип RAID-массивов называется полуаппаратным (также он известен как Fake RAID). Его особенность заключается в разделении обработки данных: управление RAID-массивом выполняет контроллер (как правило, для этого достаточно недорогого контроллера), а обработку данных берёт на себя операционная система.

Преимущества полуаппаратного RAID:

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

Недостатки полуаппаратного RAID:

  • Ограниченная поддержка: обычно полуаппаратный RAID поддерживает только RAID 0 или RAID 1.
  • Необходимо специальное оборудование: как и аппаратный RAID, полуаппаратный RAID привязан к устройствам, с помощью которых был создан массив. Особенно сложно, если эта проблема затрагивает материнскую плату: в случае замены RAID-контроллера придётся поменять и плату, чтобы получить доступ к данным.
  • Ресурсные затраты: как и программный RAID, полуаппаратный  RAID забирает ресурсы системы для обработки данных.

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

Терминология RAID

Ниже приведены общие термины RAID, которые нужно знать.

  • Уровень RAID характеризует отношения между компонентами устройства хранения данных. Устройства могут быть по-разному сконфигурированы, что приводит к различиям в эксплуатационных характеристиках и избыточности данных. Больше об уровнях RAID можно узнать в специальном разделе этого руководства.
  • Чередование – это процесс разделения операций записи между компонентами массива; при этом данные делятся на куски, каждый из которых записывается, по меньшей мере, на один из базовых дисков. Эта стратегия используется многими уровнями RAID.
  • Размер куска – это объём данных, которые будут находиться в каждом куске. Настраивая размер куска, нужно учитывать характеристики потоков ввода и вывода – так можно оптимизировать производительность массива.
  • Четность – это механизм целостности данных, реализованный посредством вычисления информации из блоков данных, записанных в массив. Информация о четности может быть использована для восстановления данных в случае сбоя диска. Расчет четности помещается на отдельное устройство, которое вычисляет данные и (в большинстве случаев) распределяет их по доступным дискам. Это позволяет повысить повышения производительность и избыточность.
  • Деградированный массив: массивы с избыточностью данных могут страдать от разного рода сбоев, и если в результате сбоя один из дисков прекращает работу, массив переходит в «деградированный режим». Деградированные массивы можно восстановить до обычного состояния путём замены неисправного оборудования. В деградированных массивах наблюдается снижение производительности.
  • Синхронизация (или перенос актуальных данных) – это восстановление деградированного массива. В зависимости от конфигурации и ошибки в массиве RAID, синхронизация выполняется путём копирования данных из существующих файлов, либо путём вычисления данных по чётности.
  • Вложенные массивы – это группы RAID-массивов, которые можно объединять в более объемные массивы. Часто массивы с избыточностью (как RAID 1 и RAID 5) используются для построения массива RAID 0.
  • Span – это: 1) два или больше дисков, объединённые в одно логическое устройство без изменения производительности и избыточности. Такой режим также называется линейным RAID (примером является mdadm); 2) нижние уровни массивов, которые объединяются для формирования вложенного RAID-массива (RAID 10, например).
  • Проверка массива – это процесс чтения каждого блока в массиве с целью обнаружить ошибки целостности данных. Это позволяет вовремя выявить и восполнить недостающие куски данных.

Уровни RAID

Характеристики RAID-массива определяются его уровнем. Рассмотрим самые распространённые уровни.

RAID 0

RAID 0 объединяет два и больше устройств путём чередования данных. Преимуществом является повышенная производительность (благодаря распределению данных операции чтения и записи могут потреблять всю мощность каждого устройства). Теоретически RAID 0 предлагает производительность отдельного диска, умноженную на количество дисков (в реальности производительность будет немного меньше). Еще одно преимущество: полезная емкость массива – это суммарная пропускная способность всех составляющих дисков.

Недостатки такого массива:

  • Нет отказоустойчивости. Сбой одного диска выведет из строя весь массив, все данные будут потеряны.
  • В отличие от других массивов, данные RAID 0 нельзя восстановить, поскольку ни один компонент из подмножества не содержит достаточного количества информации. Потому массивам RAID 0 крайне необходимо постоянное резервное копирование данных.

RAID 1

RAID 1 – это зеркальный массив, состоящий из двух или больше дисков. Данные, записанные в такой массив, помещаются на каждом устройстве группы. Таким образом, каждое устройство имеет полный набор данных, обеспечивая избыточность в случае отказа одного из дисков. В массиве RAID 1 данные будут доступны до тех пор, пока в массиве функционирует хотя бы одно устройство. Массив можно восстановить путем замены неисправных дисков. Чтобы добавить данные на новые диски, достаточно скопировать их со старых дисков.

Недостатки RAID 1:

  • Как и в RAID 0, теоретическую скорость чтения можно рассчитать, умножив скорость чтения отдельного диска на количество дисков в массиве. Однако при этом максимальная теоретическая производительность – это производительность самого медленного устройства в массиве (это потому, что все данные записываются на каждое устройство массива).
  • Кроме того, общая емкость массива – это, опять же, емкость самого маленького диска. Таким образом, массив RAID 1 из двух устройств одинакового размера будет иметь полезную емкость одного диска. Дополнительные диски могут увеличить количество избыточных копий данных, но это не приведет к увеличению объема доступной мощности.

RAID 5

RAID 5 объединяет функции предыдущих двух уровней. RAID 5 – дисковый массив с чередованием и отказоустойчивостью. RAID 5 вычисляет код четности для всех данных, хранящихся в массиве, чтобы использовать его для восстановления данных при сбоях. Диск получает блок четности вместо блока данных.

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

  • Как и другие массивы с чередованием, RAID 5 увеличивает производительность операций чтения (так как данные можно прочитать с любого диска).
  • Блоки четности позволяют полностью восстановить данные, если случится сбой.
  • Поскольку блоки четности распределены (некоторые менее распространенные уровни RAID используют выделенный диск четности), каждый диск имеет сбалансированное количество информации о четности.
  • В отличие от массива RAID 1, чья ёмкость ограничена размером одного диска, RAID 5 может обеспечить уровень избыточности за счет пространства всего одного диска. Таким образом, четыре диска по 100G в массиве RAID 5 дают 300G полезного пространства (один диск будет занят информацией четности).

Недостатки RAID 5:

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

RAID 6

RAID 6 – аналог массива RAID 5, дисковый массив с чередованием и двумя дисками контроля чётности. Такой массив может выдержать сбой двух дисков. Это является существенным преимуществом в связи с увеличением вероятности дополнительного сбоя диска во время интенсивного восстановления после сбоя. Как и другие уровни RAID с чередованием данных, скорость операций чтения, как правило, достаточно высока. Кроме того, RAID 6 имеет все преимущества массива RAID 5.

Недостатки RAID 6:

  • Двойная чётность массива уменьшает его емкость. Это означает, что общая емкость массива представляет собой объединённое пространство всех дисков  минус два диска.
  • Расчет данных о четности в RAID 6 сложнее, чем в RAID 5, что может привести к ухудшению производительности операций записи.
  • RAID 6 имеет те же проблемы с деградацией массива, что и RAID 5 (однако дополнительный избыточный диск уменьшает вероятность дополнительных отказов во время восстановления).

Вложенный RAID 1+0

Традиционно массив RAID 10 считается вложенным массивом; по сути, это массив RAID 0, состоящий из двух и больше массивов RAID 1. Сегодня RAID 10 также называют RAID 1+0. В целом такая архитектура требует минимум 4 диска: RAID 0 чередуется по двум массивам RAID1, в каждом из которых минимум два устройства.

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

RAID 10 в mdadm

Массивы Linux (mdadm) предлагают собственную версию RAID 10, который имеет преимущества RAID 1+0, но при этом обладает гибкостью и некоторыми дополнительными функциями.

Как и RAID 1+0, RAID 10 в mdadm поддерживает множество копий и чередование данных. Однако такие устройства упорядочены не по принципу зеркальных пар: в данном случае администратор сам принимает решение о количестве копий, которые будут записаны в массив. Данные фрагментированы и записываются в массив в нескольких экземплярах, при этом каждая копия фрагмента записывается на различные физические устройства. В конечном результате существует то же самое количество копий, но массив не ограничен вложенностью.

Такой массив имеет ряд преимуществ.

  • Он не зависит от массивов, используемых для его сборки, что позволяет использовать нечётное количество дисков.
  • Минимальное количество дисков уменьшается до 3.
  • Также можно настроить количество копий данных.

Управление массивом становится проще.

Tags:

2 комментария

Добавить комментарий