Объединение 2-х дисков в 1: настройка raid-массива на домашнем компьютере (просто о сложном)

Небольшое отступление

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

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

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

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

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

Практическая реализация

Для
практической реализации RAID-массивов необходимы две составляющие: собственно
массив жестких дисков и RAID-контроллер. Контроллер выполняет функции связи
с сервером (рабочей станцией), генерации избыточной информации при записи и
проверки при чтении, распределения информации по дискам в соответствии с алгоритмом
функционирования.

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

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

При использовании IDE RAID-контроллеров проблема многоканальности встает еще
острее, поскольку два жестких диска, подключенных к одному каналу (большее количество
дисков не поддерживается самим интерфейсом), не могут обеспечить параллельную
работу — IDE-интерфейс позволяет обращаться в определенный момент времени только
к одному диску. Поэтому IDE RAID-контроллеры должны быть как минимум двухканальными.
Бывают также четырех- и даже восьмиканальные контроллеры.

Другим различием между IDE RAID- и SCSI RAID-контроллерами является количество
поддерживаемых ими уровней. SCSI RAID-контроллеры поддерживают все основные
уровни и, как правило, еще несколько комбинированных и фирменных уровней. Набор
уровней, поддерживаемых IDE RAID-контроллерами, значительно скромнее. Обычно
это нулевой и первый уровни. Кроме того, встречаются контроллеры, поддерживающие
пятый уровень и комбинацию первого и нулевого: 0+1. Такой подход вполне закономерен,
поскольку IDE RAID-контроллеры предназначены в первую очередь для рабочих станций,
поэтому основной упор делается на повышение сохранности данных (уровень 1) или
производительности при параллельном вводе-выводе (уровень 0). Схема независимых
дисков в данном случае не нужна, так как в рабочих станциях поток запросов на
запись/чтение значительно ниже, чем, скажем, в серверах.

Основной функцией RAID-массива является не увеличение емкости дисковой подсистемы
(как видно из его устройства, такую же емкость можно получить и за меньшие деньги),
а обеспечение надежности сохранности данных и повышение производительности.
Для серверов, кроме того, выдвигается требование бесперебойности в работе, даже
в случае отказа одного из накопителей. Бесперебойность в работе обеспечивается
при помощи горячей замены, то есть извлечения неисправного SCSI-диска и установки
нового без выключения питания. Поскольку при одном неисправном накопителе дисковая
подсистема продолжает работать (кроме уровня 0), горячая замена обеспечивает
восстановление, прозрачное для пользователей. Однако скорость передачи и скорость
доступа при одном неработающем диске заметно снижается из-за того, что контроллер
должен восстанавливать данные из избыточной информации. Правда, из этого правила
есть исключение — RAID-системы уровней 2, 3, 4 при выходе из строя накопителя
с избыточной информацией начинают работать быстрее! Это закономерно, поскольку
в таком случае уровень «на лету» меняется на нулевой, который обладает великолепными
скоростными характеристиками.

До сих пор речь в этой статье шла об аппаратных решениях. Но существует и программное,
предложенное, например, фирмой Microsoft для Windows 2000 Server. Однако в этом
случае некоторая начальная экономия полностью нейтрализуется добавочной нагрузкой
на центральный процессор, который помимо основной своей работы вынужден распределять
данные по дискам и производить расчет контрольных сумм. Такое решение может
считаться приемлемым только в случае значительного избытка вычислительной мощности
и малой загрузки сервера.

Сергей Пахомов

КомпьютерПресс 3’2002

Отзывы о статье RAID-массивы — надежность и производительность

22.07.2007

|

Реализация NVMe в фабрике

Существуют 3 способа реализации NVMe в фабрике — с помощью RDMA, Fiber Channel и TCP.

NVMe-oF over RDMA

Эта спецификация базируется на технологии Remote Direct Memory Access (RDMA) и позволяет данным и памяти перемещаться между компьютерами и накопителями по сети. RDMA — это способ обмена информацией между оперативной памятью двух компьютеров через сеть без вовлечения в эту процедуру процессоров, кэшей и операционных систем этих компьютеров. Поскольку RDMA работает без участия операционной системы, это обычно самый быстрый механизм передачи данных по сети, который нагружает систему в наименьшей степени.

Для передачи данных по IP-сетям используется протокол TCP. Внедрение RDMA обычно осуществляется посредством модели Virtual Interface Architecture, через конвергентную сеть Ethernet (RDMA over Converged Ethernet — RoCE), с помощью технологий InfiniBand, Omni-Path или iWARP. Наиболее популярные на сегодняшний день — RoCE, InfiniBand и iWARP.

NVMe over Fibre Channel

Вариант NVMe over Fibre Channel (FC) часто обозначается как FC-NVMe, NVMe over FC или еще иногда NVMe/FC. Fiber Channel — это надежный протокол для передачи данных между массивами и серверами, который используется в большинстве корпоративных сетей хранения данных. Здесь команды инкапсулируются внутрь FC-фреймов. В основе лежат стандартные правила FC и стандартный протокол FC Protocol, который обеспечивает доступ к общей флэш-памяти NVMe. Несмотря на то, что команды SCSI инкапсулируются внутрь FC-фреймов, их интерпретация и перевод в команды NVMe требует ресурсов и влияет на производительность.

NVMe over TCP/IP

Это один из новейших способов реализации NVMe-oF, который подразумевает передачу данных с помощью протокола TCP по сетям IP (Ethernet). Данные передаются внутри датаграмм TCP по физическим сетям Ethernet. По сравнению с RDMA и Fiber Channel протокол TCP представляет собой более дешевую и гибкую альтернативу. Кроме того, в сравнении с RoCE, который также предназначен для передачи данных по сетям Ethernet, работа NVMe over TCP/IP больше похожа на FC-NVMe, поскольку они оба используют для ввода-вывода семантику сообщений.

Вне зависимости от того, используете ли вы NVMe-oF на базе RDMA, Fibre Channel или TCP, вы получаете самодостаточное решение на базе NVMe. Любая реализация дает высокую производительность и низкое время отклика, присущие NVMe.

NVMe over RDMA over Converged Ethernet (RoCE)

Среди протоколов с технологией RDMA особо выделяется RoCE. Мы знаем, что собой представляют RDMA и NVMe-oF. И теперь у нас есть Converged Ethernet (CE), поддержка RDMA по сети Ethernet. CE — это как улучшенная версия Ethernet. Ее также называют Data Center Bridging и Data Center Ethernet. Она инкапсулирует транспортный пакет InfiniBand по Ethernet. Такое решение задействует механизм Link Level Flow Control для обеспечения нулевых потерь, даже если сеть перегружена. Протокол RoCE позволяет получить меньшее время задержки по сравнению с его предшественником, iWARP.

Существуют две версии RoCE — RoCE v1 и RoCE v2. RoCE v1 — это протокол уровня Ethernet Layer 2 (канал). Он позволяет соединить два хоста, которые находятся в одном и том же широковещательном домене Ethernet. Таким образом, он не может быть использован для маршрутизации между подсетями. Вторая версия, RoCE v2, базируется на протоколе UDP/IPv4 или UDP/IPv6. RoCE v2, в свою очередь, относится к уровню Ethernet Layer 3 (интернет), и здесь возможность маршрутизации пакетов имеется. Поддержка RoCE v2 в программном обеспечении встречается пока нечасто, но количество соответствующих продуктов постепенно увеличивается. Например, она была добавлена в Mellanox OFED начиная с версии 2.3, а также в ядро Linux 4.5.

NVMe over RoCE представляет новый тип сетей хранения данных. Этот протокол предлагает существующий уровень производительности служб корпоративных данных и широкий выбор аппаратного и программного обеспечения, присущий сетям хранения данных. Хотя протокол RoCE использует преимущества Converged Ethernet, он может работать и в неконвергентных сетях. Для использования NVMe over RoCE в фабрике, технологию Converged Ethernet должны поддерживать сетевая карта, коммутатор и флэш-массив. Кроме того, сетевая карта и флэш-массив должны поддерживать RoCE (такие сетевые карты сокращенно называются R-NIC). Серверы с R-NIC и флэш-массивы с поддержкой NVMe over RoCE подключатся к имеющимся коммутаторам CE автоматически.

Что такое аппаратный RAID

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

В то же время, аппаратная архитектура RAID более сложна, поскольку требует специальных аппаратных компонентов. Контроллер массива, часто называемый адаптером RAID, содержит собственный калькулятор XOR, вспомогательную память и каналы SCSI или UDMA. Такая архитектура позволяет достичь значительного увеличения производительности. Однако для систем начального уровня, где серверный процессор занят небольшим количеством задач, разница между аппаратной и программной архитектурами почти незаметна. Зато это очень заметно при высокой нагрузке на подсистему ввода-вывода. Соответственно, аппаратные реализации RAID дороже программных.

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

Уровни RAID-массивов.

Уровнем здесь называется метод организации хранения данных. Их достаточно много, но я рассмотрю лишь основные.

RAID 0 (Striped Disk Array without Fault Tolerance)

Его так же называют STRIPE (Страйп). 2 и более физических дисков объединяются в один логический с целью объединения места. Допустим, объединяем в RAID-0 4 диска по 250 GB каждый, на выходе получим один логический в 1 TB ёмкостью. Простая арифметика.

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

Особенности RAID-0:

  • Плюсы: простота в реализации, высокая производительность.
  • Минусы: отсутствие отказоустойчивости. При использовании этого уровня отказ одного из дисков приведёт к невозможности чтения данных. Надёжность снижена в N раз, где N – количество дисков.

RAID 1 (Mirroring & Duplexing)

Иначе говоря Mirror (Зеркало). В этом случае 2 или более физических дисков объединяются в логический с целью повышения отказоустойчивости. Информация дублируется на каждый диск и в случае выхода из строя одного из них можно продолжать работу с остальными.

Особенности RAID-1:

  • Плюсы: высокая скорость чтения/записи, простота реализации.
  • Минусы: высокая избыточность. Например, имея два диска в 500 GB мы создадим зеркальный RAID-1, и ёмкость логического диска будет так же 500 GB. Получается, что один диск мы просто “теряем”.

Кстати, если вдруг диск сбойнул – важно правильно определить сбойный диск, в противном случае возможно полностью убить данные, если склонировать сбойный НА здоровый. )

RAID 5 (Independent Data Disks with Distributed Parity Blocks)

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

Под проверочными суммами подразумевается результат операции XOR.

Check 1 = Data 1 XOR Data 2 XOR Data 3 XOR Data 4.

Теперь, если вдруг у нас пропадёт 3-ий диск (бдыщ! Взорвался). То получить Data 3 можно так:

Data 3 = Data 1 XOR Data 2 XOR Check 1 XOR Data 4.

Особенности RAID-5.

  • Плюсы: Экономичное использование носителей (объем логического диска будет вычисляться по формуле: (N-1)*SIZE, где N – количество дисков, а SIZE – объем. Также хорошая производительность.
  • Минусы: довольно сложная реализация и процедура восстановления данных.

RAID 1+0 (Very High Reliability with High Perfomance).

Диаграмму рисовать не буду, тут всё очень просто. Делается один RAID-1, второй RAID-1, и эти массивы объединяются в RAID-0.

В такую систему можно объединить только чётное количество дисков, от 4 до 16.

Особенности RAID-1+0.

  • Плюсы: высокая отказоустойчивость и производительность;
  • Минусы: высокая стоимость.

RAID 5+0 (High I/O Rates & Data Transfer Perfomance)

Аналогично предыдущему. Берутся 2 RAID5 и объединяются в RAID 0. Ну я думаю, уже понятно как вычислять (из названия).

  • Из плюсов тут высокая отказоустойчивость и скорость работы.
  • Минус – стоимость.
Уровень RAID-массива Использование диска Минимально дисков Обеспечение отказоустойчивости
RAID-0 100% 1
RAID-1 50% 2 зеркало
RAID 5 67-94% 3 контрольные суммы
RAID 1+0 50% 4 зеркало
RAID 5+0 67-94% 6 контрольные суммы

Важно запомнить, что у каждого из уровня RAID есть свои преимущества и недостатки. Но не стоит всецело пологаться на RAID-массив

Он поможет если с диском возникнут неполадки, но если вы по ошибке удалите нужный файл или вирус удалит все данные, массив вам не поможет

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

Недостатки массива RAID 50

  • Сложная реализация, необходимо минимум 6 дисков, а для хорошей производительности желательно не менее 8-ми. Поддержка в контроллерах встречается довольно редко.
  • При выходе из строя хотя бы одного диска массив перейдет в критический режим (Degrade), при этом скорость работы значительно понизится.
  • Если восстанавливать штатную работу RAID средствами контроллера методом Rebuild или Reconstruction, то непрерывная критическая нагрузка в течение часов (а может быть и дней), может привести к поломке еще одного или больше дисков. В этом случае восстановить данные RAID 50 массива стандартным способом не получится.

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

Что такое RAID 7 и как он работает

RAID 7 (оптимизированная асинхронность). Используемые в построении массивов данного типа технологии помогают достигать высоких скоростей ввода-вывода и передачи данных. В отличие от других уровней RAID, седьмой не является открытым отраслевым стандартом. Это зарегистрированный товарный знак Storage Computer Corporation. Он основан на концепциях, используемых на уровнях 3 и 4. Однако здесь добавлена возможность кэширования данных. RAID 7 также включает контроллер со встроенным микропроцессором, работающим под управлением ОС в режиме реального времени. Это позволяет обрабатывать все запросы на передачу данных асинхронно и независимо.

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

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

  • очень высокая скорость передачи данных и высокая скорость обработки запросов (от 1,5 до 6 раз выше, чем у других стандартных уровней RAID);
  • хорошая масштабируемость;
  • значительно увеличена (за счет наличия кеша) скорость чтения небольших объемов данных;
  • для расчета четности не требуется дополнительная передача данных.

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

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

Как создать программный Raid 0

Сразу хочу предупредить, что создать программный райд в Виндовс 7 или программный RAID в windows 10 — редкостное извращение, заниматься которым я не рекомендую.

Если вам нужно реальное ускорение, действовать надо немного по другому: скопировать все важные данные на внешний накопитель, отформатировать ваши винчестеры и делать установку с нуля — сначала настроить BIOS, потом сам массив и лишь затем устанавливать Винду.Но на всякий случай вот вам описание процедуры создания RAID 0 на Виндовс. У «Семерки» и «Десятки» алгоритм почти не отличается — только некоторые пункты могут называться по-другому. Такая опция компанией Microsoft названа «чередующиеся тома».

Что нужно сделать:

  • Нажмите кнопку «Пуск», перейдите в панель управления и выберите «Администрирование», затем «Управление компьютером».
  • Перейдите в раздел «Запоминающие устройства» – «Управление дисками».
  • Кликните правой кнопкой мыши по области с описанием свойств диска в левой части интерфейса и выберите «Преобразовать в динамический диск».
  • Повторите это с другим томом, который хотите добавить к массиву.
  • Кликните на появившемся дисковом пространстве в нижней части окна и выберите «Создать том». После запуска мастера нажмите кнопку «Далее».
  • Выберите в списке девайсы, которые вы хотите преобразовать в чередующиеся тома.
  • Назначьте букву для нового массива.
  • Выберите опцию «Форматировать» и подходящую файловую систему (рекомендую NTFS). Размер кластера оставьте по умолчанию.
  • После всех манипуляций нажмите кнопку «Готово».

Некоторые замечания:

  • Дисковое пространство, выделяемое под чередующиеся тома, должно быть одинаковым на каждом винчестере. Минимальный выделяемый объем 50 Мб.
  • Аппаратные RAID 0 несовместимы с программными.
  • Чередующиеся тома не могут содержать ОС или загрузочный раздел.
  • Их нельзя расширить или зеркалировать.
  • Если один из физических накопителей выйдет из строя, утрачен будет весь чередующийся том.

Повторяю: способ можно использовать только как временный «костыль». Для долговременного использования рекомендую аппаратный RAID 0.

Какой тип RAID лучше всего использовать

При выборе RAID все зависит от того, что важнее в вашем случае: производительность или отказоустойчивость (или то и другое). Выбор типа RAID также зависит от того, на какой машине он будет установлен (ПК, сервер, NAS и т. д.), поскольку для одних лучше подходят аппаратные, а для других – программные RAID. Программные поддерживают меньше уровней RAID, а для аппаратных RAID возможные типы массива определяются отдельно для каждого случая. Разные контроллеры поддерживают разные уровни RAID и ограничивают выбор дисков, которые можно будет использовать в массиве: SAS, SATA или SSD.

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

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

Если нужна отказоустойчивость и при этом скорость для вас не является критически важным параметром, вы можете выбрать RAID 1, потому что данные в нем всегда копируются одновременно на два диска, образуя копию или «зеркало». Если один диск выходит из строя, другой продолжает работать, и все данные остаются на нем, в полном объеме. Это самый простой способ реализации отказоустойчивой и относительно недорогой системы. Ее недостаток лишь в том, что RAID 1 обладает сниженной производительностью.

RAID 1 может быть реализован как в программной, так и в аппаратной версии.

RAID 5 является наиболее распространенной конфигурацией RAID для бизнес-серверов и корпоративных устройств NAS, поскольку обеспечивает лучшую производительность, чем «зеркала», и при этом показывает хорошую отказоустойчивость. В RAID 5 хранимая информация и данные четности (дополнительные данные, используемые для восстановления) распределяются между тремя или более дисками. Если диск выходит из строя, информация воссоздается из распределенных данных и блоков четности автоматически. Система продолжит работать, даже если один из носителей будет поврежден. Другое преимущество RAID 5 заключается в том, что вы можете заменить поврежденный диск, не выключая сервер и не прерывая доступ пользователей к серверу.

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

RAID 6 также является отличным выбором для бизнеса. Для повышения надежности системы имеет смысл использовать RAID 6 с двумя дисками для блока четности. Такой массив продолжит работать даже в случае выхода из строя двух жестких дисков. Главный недостаток такого решения – его дороговизна. Вот почему RAID 6 больше подходит для бизнеса, чем для домашнего использования.

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

RAID 50, как и RAID10, являются наиболее предпочтительными для работы с приложениями, где требуется высокая производительность в сочетании с приемлемой надежностью. Однако RAID 50 считается наиболее подходящим для больших дисков – он более надежен, чем RAID 5, и более экономичен, чем RAID 10. Этот тип массива рекомендуется для работы с приложениями, которым требуется повышенная надежность хранения информации, высокая скорость обработки запросов и передачи данных, большой объем памяти.

Массив RAID 60 идеально подходит для онлайн-обслуживания клиентов, что требует высокой отказоустойчивости. Обладая многими преимуществами RAID 50, он также может выдерживать в два раза больше отказов дисков. Благодаря этому такие системы являются оптимальными для использования в системах видеонаблюдения. Еще один положительный момент в выборе RAID 60 – отличная производительность при последовательном доступе, что является особенностью потокового видео.

Выбор между RAID 50/60 и RAID 10, скорее всего, будет зависеть от доступного бюджета, емкости сервера и потребностей в защите данных. В целом, когда мы говорим о SSD-решениях (как корпоративного, так и потребительского класса), на первый план выходит именно стоимость.

What is RAID 5 and RAID 0?

To understand RAID 50, you need to know how RAID 5 and RAID 0 works. The reason is simple. RAID 50 is created by combining 5 and 0.

While RAID 0 is disk striping without parity, RAID 5 is disk striping with distributed parity. This is best illustrated using diagrams.

RAID 0

Refer to the diagram above. The first thing to note is that you need a minimum of 2 physical disks to create disk striping without parity. From the diagram above, when you stripe Disk 0 and Disk 1, you create a single volume double the size of the smallest disk.

Disk striping offers improved speed (performance). For example, when you stripe 2 disks,the resultant RAID disk is 2 times faster as it combines the speed of both disks.

The downside of RAID 0 is that it does not provide redundancy. Failure of one disk may lead to loss of the entire volume. This may lead to data loss.

Bear in mind that we are discussing striping without and with parity to prepare you to understand RAID 50. In the next section, I will be explaining how RAID 5 works.

RAID 5

In comparison to RAID 0, RAID 5 (striping with distributed parity) requires a minimum of 3 disks. The diagram above illustrates how striping with distributed parity works. Ap, Bp and Cp are parity information. Parity data provides fault tolerance.

As you may have noticed, the parity information is distributed across the 3 disks. What this meas is that if one disk fails you can use the parity information stored in the remaining 2 disks to rebuild the array.

This brings us to the main benefit of a RAID 5 array – fault tolerance. The likelihood of losing data is slim. You can only lose the array if you lose 2 disks at the same time.

In conclusion, one disadvantage of RAID 5 array is that the total volume you get for storage is the size of two disks. This is reason for this is because one disk is always reserved for parity information. The minimum physical disks required for striping with distributed parity is 3.

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

Рассмотрим упрощенную схему работы массива из четырех дисков. Один из дисков выделяется для хранения контрольной суммы. Три – доступны для размещения данных. На рисунке ниже, диски с полезной информацией названы A, B и C. Диск D хранит контрольные суммы.

Минимальный объем информации, который контроллер считывает или записывает на один диск, называется стрипом (strip). В параметрах большинства контроллеров, с которыми нам приходилось сталкиваться, указывается не размер стрипа, а размер страйпа (stripe) – блока информации, который распределяется на все диски массива. На рисунке ниже один страйп выделен более темным цветом:

Размер страйпа равен размеру стрипа помноженного на количество дисков в массиве. Т.е. в случае с четырьмя дисками и размером страйпа 64К, минимальное количество информации, которое контроллер способен записать или считать с диска, равняется 64 / 4 = 16К.

Контрольная сумма, которая попадает на диск D, рассчитывается по следующей формуле:

D = A xor B xor C

Благодаря транзитивности операции xor в случае выхода из строя одного из дисков с полезной информацией её можно восстановить xor-ированием данных оставшихся дисков, включая диск с контрольной суммой. Например, вышел из строя диск B.

При запросе блока информации с диска B контроллер восстановит его по формуле:

B = A xor C xor D

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

  1. Прочитать данные стрипов с дисков B и C. Две операции чтения.
  2. Рассчитать новую контрольную сумму. Две операции xor.
  3. Запись информацию на диск A и контрольную сумму на диск D. Две операции записи.

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

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

Производительность дискового массива RAID 5 не будет снижаться, если размер энергонезависимой кэш памяти контроллера сопоставим с размером файла базы данных. Например, при размере кэш памяти в 512 Мб вполне можно использовать RAID массив пятого уровня для баз до 1-1,5 Гб. При условии, что сервер выделен только для работы с базой данных и не выполняет других задач.

Впрочем, как и у любого правила, у нашего — тоже есть свое исключение. Производительность дискового массива RAID 5 не будет снижаться, если размер энергонезависимой кэш памяти контроллера сопоставим с размером файла базы данных. Например, при размере кэш памяти в 512 Мб вполне можно использовать RAID массив пятого уровня для баз до 1-1,5 Гб. При условии, что сервер выделен только для работы с базой данных и не выполняет других задач.

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

Какой RAID все же выбрать?

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

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

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

Повторюсь, что очень желательно, чтобы диски устанавливаемые в RAID массив были пол идентичны. Размер, фирма, серия, объём кэша — всё, желательно, должно быть одинаковым.

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий