Что такое raid массив: как работает и зачем нужен?

How does RAID 5 work?

In a RAID 5 array, data is striped and stored onto all but one drive. The last drive stores parity data for that stripe, for redundancy purposes. Which drives are used for data or parity alternates for each stripe.

RAID 5 is a type of RAID that offers redundancy using a technique known as “parity”. Parity is a type of extra data that is calculated and stored alongside the data the user wants to write to the hard drive. This extra data can be used to verify the integrity of stored data, and also to calculate any “missing” data if some of your data cannot be read (such as when a drive fails).

To explain how it does this, think back to high school algebra class, with equations like “9 = X + 4. Solve for X”. In this case, “X” is unknown data that was previously stored on a drive that has failed. “4” meanwhile, is data that is stored on a drive you can read, and “9” is parity data stored on a third drive, that was previously calculated for redundancy purposes. By solving for X, we can re-construct that the missing data should have been “5”. This allows you to have redundancy without storing a full extra copy of your data, saving disk space compared to RAID 1 or RAID 10.

RAID 5 parity uses a conceptually similar mathematical function called “XOR” to calculate parity. This allows it to reconstruct data when one drive fails. RAID levels that use this type of redundancy are RAID 3, 4, 5, and 6, with RAID 5 and RAID 6 being the only commonly used types. RAID 5 can protect against a single drive failure, whereas RAID 6 can protect against two drive failures. RAID 5 and RAID 6 are otherwise nearly identical, offering similar performance, cost, compatibility, and reliability.

In order to perform this feat, a RAID 5 array sets aside “one drives worth” of disk space for parity data, whereas RAID 6 sets aside “two drives worth” of disk space for parity data. For this reason, RAID 5 requires fewer hard drives but RAID 6 can provide protection against more serious failures. This makes RAID 5 popular for smaller arrays (minimum of 3 drives), and RAID 6 popular for larger disk arrays (minimum of 4 drives).

RAID 0

При сборке RAID лучше всего использовать жесткие диски одной модели и одинакового объема.

Первым по порядку идет нулевой уровень (RAID 0 или «striping»). Он не относится к традиционным, т. е. его описания нет в документе разработчиков от 1988 года. Более того, это единственный из массивов, который не обеспечивает избыточности данных и, соответственно, повышенной отказоустойчивости. Принцип работы RAID 0 основан на том, что данные, поступающие на контроллер, поочередно записываются сразу на несколько HDD, не дублируясь, т. е. если потребуется записать какой-то файл, то его части будут равномерно раскиданы по нескольким дискам. Зачем это надо? Исключительно с целью повышения скорости приема и передачи данных, ведь информацию можно будет записывать и считывать сразу с нескольких источников, при этом каждый из них будет работать с максимально допустимой для жесткого диска пропускной способностью. Теоретически объединение пары винчестеров в массив RAID 0 может увеличить скорости чтения и записи вдвое, но на практике эти значения возрастают примерно в 1,6-1,8 раза, в зависимости от качества RAID-контроллера.

Если объединить в RAID 0 несколько жестких дисков разного объема, то на вместительных винчестерах будет задействована лишь часть дискового пространства, равная объему наименьшего HDD. Объединив диски объемом 320 Гб и 250 Гб, мы получим массив на 500 Гб. Вообще, чтобы избежать потерь, для RAID любого уровня следует использовать носители одинакового объема.

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

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

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

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

Такой подход вполне оправдан.

JBOD

Частной разновидностью RAID 0 можно считать JBOD (Just a Bunch of Disks), он же «spanning». Это — не уровень RAID, а всего лишь функция, которая обычно поддерживается RAID-контроллерами. JBOD просто «склеивает» несколько дисков в один массив, при этом никаких чередований в записи нет. Данные сначала записываются на первый диск. Когда он заполняется, система принимается за второй винчестер, и так далее. Отказ одного накопителя не приводит к потере файлов на остальных HDD, если их начало/конец не принадлежит поврежденному диску. Никакой прибавки к скорости технология не дает, правда, в отличие от традиционных RAID, объединение носителей разного объема в JBOD не приводит к потере части дискового пространства. Тем не менее очевидно, что в наш век терабайтных винчестеров JBOD уже никому не нужен.

Аппаратные и программные RAID-массивы

  • Программные массивы создаются уже после установки Операционной Системы средствами программных продуктов и утилит, что и является главным недостатком таких дисковых массивов.
  • Аппаратные RAID’ы создают дисковый массив до установки Операционной системы и от неё не зависят.

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

RAID 1

RAID 1 (также называют «Mirror» — Зеркало) предполагает полное дублирование данных с одного физического диска на другой.

К недостаткам RAID 1 можно отнести то, что вы получаете в два раза меньше дискового пространства. Т.е. ели вы используете ДВА диска по 250 Гб, то система будет видеть всего ОДИН размером 250 Гб. Данный вид RAID не дает выигрыша в скорости, но значительно повышает уровень отказоустойчивости, ведь если один диск выйдет из строя, всегда есть его полная копия. Запись и стирание с дисков происходит одновременно. Если информация была намеренно удалена, то возможности восстановить её с другого диска уже не будет.

RAID 0

RAID 0 (также называют «Striping» — Чередование) предполагает разделение информации на блоки и одновременная запись разных блоков на разные диски.

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

RAID 5

RAID 5 можно назвать более усовершенствованным RAID 0. Можно использовать от 3 жестких дисков. На все, кроме одного записывается рейд 0, а на последний специальная контрольная сумма, что позволяет сохранить информацию на винчестерах в случае «смерти» одного из них (но не более одного). Скорость работы такого массива высокая. На восстановление информации в случае замены диска потребуется много времени.

RAID 2, 3, 4

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

RAID 10

Является миксом RAID массивов 1 и 0. И объединяет в себе плюсы от каждого: высокая производительность и высокая отказоустойчивость.

Массив обязательно содержит четное количество дисков (минимум 4) и является самым надежным вариантом сохранения информации. Недостатком является высокая стоимость дискового массива: эффективная емкость составит половину от общей емкости дискового пространства.

RAID 50

Является миксом RAID массивов 5 и 0. Строится RAID 5, но его составляющими будут не самостоятельные жесткие диски, а массивы RAID 0.

Создаём рейд массив на основе встроенного контроллера

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

Для начала заходим в BIOS, используя соответствующую клавишу (как правило DEL), а там находим раздел отвечающий за параметры для SATA-контроллера (надеюсь, что IDE уже нигде не используется).

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

На этапе инициализации дисков, т.е еще до загрузки операционной системы, будет необходимо нажать, как правило (но не всегда) CTRL-F или CTRL-I. В общем, следите внимательно, ибо обычно оно показывает какое сочетание клавиш необходимо тыкнуть (бывают еще всякие F1-F12).

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

  • View Drive Assignments, — показывает диски, что пригодны для создания массива;
  • LD View / LD Define Menu, — показывает текущие массивы;
  • Delete LD Menu, — позволяет удалять массивы;
  • Controller Configuration, — собственно, отвечает непосредственно за настройки.

Нас, в рамках создания такой штуки как рейд массив, собственно, нас интересует только второй пункт. Нажав на соответствующую кнопку на клавиатуре (т.е цифру 2) попадаем в соответствующее меню.

Здесь мы можем увидеть текущие массивы (собственно, они видны на скриншоте), взглянуть на их настройки (Enter), посмотреть на диски вне RAID (Ctrl+V) или, скажем, создать новые рейды (Ctrl+C). Нас интересует создание, а посему жмём в соответствующее сочетание клавиш.

Далее мы будем наблюдать меню для создания RAID-а (сверху) и сами одинокие (вне массивов) диски (внизу). Параметры переключаются пробелом, сами пункты параметров меняются стрелками клавиатуры.

На скриншоте выше задано всё необходимое для создания RAID 1 (зеркало), хотя и задавать там особо было нечего: все параметры оставлены по умолчанию, выбран тип рейда и указаны два диска-терабайника (Y в колонке Assingment). На этом всё. Я не хочу сейчас вдаваться в детали всех параметров, ибо это тема для отдельной статьи (кратенько я касался этого с практической стороны на sonikelf.name).

Задав всё необходимое жмём в CTRL-Y. Далее либо жмём любую кнопку (задаст имя по умолчанию), либо повторяем нажатие CTRL-Y, чтобы задать имя самостоятельно. Я выбрал второй путь:

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

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

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

А, и да, не забудьте, при необходимости, зайти в мастер управления дисками и провести инициализацию и распределения места на новосозданном RAID-массиве. Мастер живет по пути «Панель управления — Администрирование — Управление компьютером — Управление дисками».

Ну и, собственно, распределение места, т.е создание разделов, тоже проблем особо не доставляет и выполняется стандартным образом:

А и, да, драйвера для такой штуки как рейд массив полезно будет установить, если конечно они не стоят у Вас уже давно. Драйвера берутся с диска к мат.плате или с сайта производителя этой мат.платы.

На сим, пожалуй, всё.

Послесловие

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

Как и всегда, если какие-то вопросы, дополнения, мысли и всё такое прочее, то добро пожаловать в комментарии к этой записи.

RAID 100

Ещё один уровень (правильнее сказать уровень-мутант) RAID из самых базовых и самых популярных RAID 0 и RAID 1. Иерархия уровней идет как и всегда: первая цифра — самый низший уровень, последняя — самый высокий. Вот и получается, что мы имеем страйп из страйпов из зеркал. Как стандартный уровень массива в обычных контроллерах вы не увидите. Скорее это попытка увеличить производительность всего массива, если она уже давно уперлась в производительность контроллеров. Простыми словами — это софтовое объединение нескольких аппаратных страйпов из зеркал (то есть массивов RAID 10) :

Минусы — сложность конфигурации, нужно контролировать фактически несколько разных массивов, ничего друг о друге не знающих;

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

Минимальное количество дисков — 8, максимум из строя может выйти половина дисков (см. RAID 10).

Создание массива средствами материнской платы

Как создать RAID-массив на основе встроенного контроллера материнской платы:

предварительно скачать драйвера РЕЙД-контроллера для конкретного чипсета (с сайта производителя материнской платы);

в момент запуска ПК зайти в БИОС;

  • отыскать раздел, отвечающий за параметры для SATA-контроллера;
  • перевести положение контроллера в режим «RAID»;

Boot Mode Selection перевести в UEFI

  • сохранить изменения и перезагрузить компьютер;
  • в момент запуска ПК с помощью специфической комбинации кнопок зайти в БИОС в «Main Menu» или «Advanced»;

отыскать меню «Intel Rapid Storage Technology»;

  • выбрать накопители, не участвующие ни в одном массиве;
  • создать РЕЙД-массив («Create RAID Volume»);
  • в процессе откроется меню для создания массива;
  • указать накопитель, на котором будет создаваться массив;
  • задать тип РЕЙДа;
  • после выполнения этого действия появится подсказка, на какие кнопки нажать для продолжения процедуры;
  • на завершающем этапе выбрать размер под создаваемый РЕЙД-массив (можно занять весь накопитель);
  • выйти из меню и перезагрузить ПК;
  • воспользоваться возможностями Виндовса;
  • зайти в «Управление дисками» (через «Панель управления»);
  • выполнить «Инициализацию дисков» (для нового накопителя);
  • провести распределение места (через опцию «Создать простой том»).

Как создать RAID-массив

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

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

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

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

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

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

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

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

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

RAID 5

Основным недостатком уровней RAID от 2-го до 4-го является невозможность производить параллельные операции записи, так как для хранения информации о чётности используется отдельный контрольный диск. RAID 5 не имеет этого недостатка. Блоки данных и контрольные суммы циклически записываются на все диски массива, нет асимметричности конфигурации дисков. Под контрольными суммами подразумевается результат операции XOR (исключающее или). Xor обладает особенностью, которая даёт возможность заменить любой операнд результатом, и, применив алгоритм xor, получить в результате недостающий операнд. Например: a xor b = c (где a, b, c — три диска рейд-массива), в случае если a откажет, мы можем получить его, поставив на его место c и проведя xor между c и b: c xor b = a. Это применимо вне зависимости от количества операндов: a xor b xor c xor d = e. Если отказывает c тогда e встаёт на его место и проведя xor в результате получаем c: a xor b xor e xor d = c. Этот метод по сути обеспечивает отказоустойчивость 5 версии. Для хранения результата xor требуется всего 1 диск, размер которого равен размеру любого другого диска в raid.

Достоинства

RAID5 получил широкое распространение, в первую очередь, благодаря своей экономичности. Объём дискового массива RAID5 рассчитывается по формуле (n-1)*hddsize, где n — число дисков в массиве, а hddsize — размер наименьшего диска. Например, для массива из четырех дисков по 80 гигабайт общий объём будет (4 — 1) * 80 = 240 гигабайт. На запись информации на том RAID 5 тратятся дополнительные ресурсы и падает производительность, так как требуются дополнительные вычисления и операции записи, зато при чтении (по сравнению с отдельным винчестером) имеется выигрыш, потому что потоки данных с нескольких дисков массива могут обрабатываться параллельно.

Недостатки

Производительность RAID 5 заметно ниже, в особенности на операциях типа Random Write (записи в произвольном порядке), при которых производительность падает на 10-25% от производительности RAID 0 (или RAID 10), так как требует большего количества операций с дисками (каждая операция записи, за исключением так называемых full-stripe write-ов, сервера заменяется на контроллере RAID на четыре — две операции чтения и две операции записи). Недостатки RAID 5 проявляются при выходе из строя одного из дисков — весь том переходит в критический режим (degrade), все операции записи и чтения сопровождаются дополнительными манипуляциями, резко падает производительность. При этом уровень надежности снижается до надежности RAID-0 с соответствующим количеством дисков (то есть в n раз ниже надежности одиночного диска). Если до полного восстановления массива произойдет выход из строя, или возникнет невосстановимая ошибка чтения хотя бы на еще одном диске, то массив разрушается, и данные на нем восстановлению обычными методами не подлежат

Следует также принять во внимание, что процесс RAID Reconstruction (восстановления данных RAID за счет избыточности) после выхода из строя диска вызывает интенсивную нагрузку чтения с дисков на протяжении многих часов непрерывно, что может спровоцировать выход какого-либо из оставшихся дисков из строя в этот наименее защищенный период работы RAID, а также выявить ранее не обнаруженные сбои чтения в массивах cold data (данных, к которым не обращаются при обычной работе массива, архивные и малоактивные данные), что повышает риск сбоя при восстановлении данных

Минимальное количество используемых дисков равно трём.

RAID 5

Why shouldn’t I use RAID 5?

Although RAID 5 is popular, it has some important disadvantages which often make other RAID types more appropriate:

  • RAID 5 (and other parity RAID types) suffer from very poor “random write performance”, needing to write to every single drive for every request. This is a problem for many server use cases, especially for databases, which are very “random write heavy”.
  • RAID 5 is not supported (or performs very poorly) with most inexpensive “fakeraid” or “onboard” RAID controllers, which work best with raid 0 or 1.
  • With very large arrays, rebuilding an array after a drive failure can take a very long time (sometimes several days). During the rebuild process, there is a good chance that a second drive will fail, or that part of a drive cannot be read. In either case, the array cannot be rebuilt and all data may be lost. RAID 6 is becoming more popular for this reason, as it can tolerate 2 drive failures. RAID 1 and RAID 10 meanwhile, can rebuild from a failure much more quickly.
  • For decades, hard drives have gotten bigger and bigger, but their speed has increased much more modestly. Therefore, the advantages of RAID 5 (extra disk space) have become less important than their disadvantages (slow speeds). This makes RAID 10 a better option in most cases.
  • To overcome some performance limitations of RAID 5, hardware RAID controllers sometimes include dedicated “XOR Processors”, large write caches, or both. Although this often improves RAID 5 performance, these types of RAID controllers are very expensive. Similar performance can be obtained from cheaper raid cards or software RAID when using RAID 10 instead.

As you can see, RAID 5 has advantages for large data that rarely changes or SSD based disk arrays. That said, RAID 6 is better for highly reliable large arrays, and RAID 10 is better for high performance arrays. What you ultimately choose should depend upon your specific needs.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector