Блог и Новости is*hosting - Хостинг-провайдер Нового Поколения

Избыточный массив независимых дисков, или что такое RAID

Written by Команда is*hosting | 07.05.2024 10:00:00

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

Наряду с шифрованием данных для защищенной передачи, стратегиями резервного копирования, защитой сети и жестких дисков, можно рассмотреть вариант избыточного хранения данных. Как еще защитить данные на жестком диске?

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

Однако сама технология, названная позже RAID, была запатентована на 10 лет раньше. Так, создание терминологии подстегнуло производителей больше выпускать RAID-массивы, которые действительно имели свои преимущества.

Что такое система RAID?

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

Системы RAID объединяют несколько дисков в единую логическую единицу и используют различные технологии для распределения данных между дисками, обеспечивая различные уровни избыточности и производительности.

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

Что такое RAID контроллер?

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

Основными функциями контроллера RAID системы являются:

  • Равномерное распределение данных по нескольким дискам для достижения максимальной производительности ввода-вывода (I/O). А также зеркальное отображение данных на дисках для обеспечения избыточности.
  • Мониторинг дисков на предмет ошибок или аппаратных сбоев.
  • Автоматическое восстановление данных при сбое одного из дисков, используя запасные диски или оставшиеся активные диски массива.
  • Кэширование для повышения производительности при работе с часто используемыми данными.

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

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

Как работает избыточный массив независимых дисков?

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

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

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

В чем разница между этой технологией и простым хранением данных?

  1. Вы создаете массив RAID, состоящий из нескольких жестких дисков.
  2. Один из дисков выходит из строя, и вы получаете уведомление об этом, так как контроллер проводит непрерывный мониторинг работоспособности дисков.
  3. Вы решаете проблему с проблемным диском, и RAID-массив восстанавливает потерянные данные на новом диске благодаря избыточности данных.
  4. Через некоторое время после восстановления вы сможете снова использовать массив.

Восстановление данных в RAID-массиве осуществляется за счет избыточности данных. Например, если вы сохраняете один файл размером 1 ГБ, RAID будет хранить этот гигабайт с некоторым избытком, создавая несколько фрагментированных копий этого файла на других дисках.

Уровни RAID

Уровень RAID означает конкретный метод, который используется в массиве Redundant Array of Independent Disks для чередования и защиты данных на нескольких физических дисках. Они отличаются как процессами, так и количеством дисков. Однако есть несколько основных уровней, процесс работы которых мы наглядно покажем.

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

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

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

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

RAID 4. Работает по тому же принципу, что и RAID 3, однако на уровне блоков, а не байтов - чередование на уровне блоков с выделенным диском четности.

RAID 5. Он основан на чередовании блоков четности. Информация о четности распределяется по каждому диску, что позволяет массиву функционировать, даже если один диск выйдет из строя. Например, каждый файл разбивается на 2 части, которые записывает на разные диски (первый и второй), а дополнительную информацию пишет на третий диск. Когда один из дисков выйдет из строя, то все файлы можно восстановить из двух оставшихся по специальному алгоритму.

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

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

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

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

  • RAID 10 - это вложенный уровень RAID по типу 1+0. Он сочетает в себе зеркалирование и чередование для повышения производительности и избыточности. При этом для него требуется больше дисков, чем для стандартных уровней.
  • RAID 7 уровень основан на RAID 3 и RAID 4 с использованием кэширования и не так распространен.
  • RAID 01 (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, которые чередуются друг с другом в RAID 0. При использовании восьми дисков четыре из них работают как RAID 5 со своей собственной четностью. Еще четыре делают то же самое, разделяя данные между двумя наборами. Похожий принцип работы у RAID 60 (RAID 6 и RAID 0, соответственно).
  • Адаптивный RAID позволяет контроллеру самостоятельно решать, как хранить четность на дисках. Например, выбирая между RAID 3 и RAID 5, контроллер будет опираться на тип данных и лучший вариант хранения.
  • Linux MD RAID 10 - уровень, предоставляемых ядром Linux, поддерживает создание вложенных и нестандартных RAID-массивов. Программный RAID в Linux также может поддерживать создание стандартных конфигураций RAID 0, RAID 1, RAID 4, RAID 5 и RAID 6.
  • RAID 5E, RAID 5EE и RAID 6E (E означает Enhanced) обычно относятся к вариантам RAID 5 или 6 c дополнительным уровнем защиты, сохраняя информацию о четности на отдельном диске.

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

Виды RAID-систем

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

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

Аппаратное RAID хранилище

Аппаратный RAID использует физическую плату или микросхему RAID-контроллера, которая устанавливается непосредственно в сервер или массив хранения данных.

Это специализированное оборудование выполняет все функции и операции RAID, снимая нагрузку с центрального процессора (CPU). Благодаря отсутствию необходимости использовать ресурсы центрального процессора аппаратные RAID обычно обеспечивают более высокую производительность по сравнению с программными реализациями.

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

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

Программные RAID системы

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

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

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

Преимущества RAID-систем хранения данных

Избыточный массив независимых дисков демонстрирует свои преимущества уже на уровне принципов работы. Среди основных плюсов RAID систем:

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

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

Глобальное покрытие

Международная инфраструктура с исключительно надежным оборудованием в лучших дата-центрах - это is*hosting.

Изучить локации

Недостатки RAID-систем

Тем не менее, как и у любой технологии, у хранения данных RAID есть свои ограничения.

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

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

Альтернативы избыточному массиву независимых дисков

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

Например, стирающее кодирование обеспечивают более продвинутую защиту данных. Кодирование стиранием - это метод защиты данных, при котором данные разбиваются на фрагменты, расширяются, кодируются избыточными фрагментами и хранятся в разных местах или на разных носителях. C увеличением емкости дисков, вероятность ошибок в RAID-массивах также растет. А стирающее кодирование способно устранить эту проблему.

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

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

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

Тем не менее, реализация RAID все еще сохраняется на многих серверах и предлагается хостинг-провайдерами. is*hosting предлагает как аппаратный, так и программный RAID для серверов с двумя и более дисками.

Выделенный сервер

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

Выбрать сервер

Заключение

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

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

Несмотря на множество альтернатив, технология RAID продолжает развиваться вместе с совершенствованием аппаратного и программного обеспечения для хранения данных. Так, IBM предлагает решение IBM FlashSystem с поддержкой некоторый уровней RAID, как и Intel Rapid Storage Technology.