Найти тему
Заметки ОВК

Что такое RAID? Стоит ли его использовать?

Здравствуйте.

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

Давайте разберемся.

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

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

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

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

Допустим, у вас есть некий диск D на базе массива из двух накопителей. Вы копируете на этот диск какой-то файл размером 1ГБ. Файл на лету разбивается на блоки, одна половина улетает на один диск, вторая - на второй. Теоретически эта операция должна происходить в два раза быстрее, чем при копировании на один диск. Если в массиве три диска - в три раза быстрее. Но на практике прирост производительности составляет 30-50%. Ровно тоже самое с чтением.

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

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

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

Во-вторых, при выходе из строя одного диска в массиве вы с гарантией теряете все данные и работоспособность массива.

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

Полезный объем составляет сумму объемов всех дисков.

-2

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

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

После замены вышедшего из строя диска, массив будет автоматически перестроен, все данные из рабочего диска будут в фоне скопированы на новый диск.

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

Так что подчеркну - сохранность данных тут частичная, только при сбоях.

Полезный объем - объем одно диска в массиве.

-3

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

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

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

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

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

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

Плата расширения для организации аппаратного RAID
Плата расширения для организации аппаратного RAID

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

Софтовый RAID делается дисковым менеджером на уровне операционной системы. Реализаций много - от встроенного в Windows до наворочанных типа Veritas Storage Foundation, Nexenta Storage и т.п. Такой массив не может быть загрузочным. Из плюсов, наверное, только бесплатность (и то - не всегда) и переносимость при единстве программного обеспечения, на базе которого построен массив. Минусы: полная зависимость от стабильности операционной системы, отсутствие аппаратного кэша, нагрузка на центральный процессор.

Полусофтовый RAID интегрирован практически во все современные материнские платы. Вы ведь наверно видели 100500 раз такие названия, как Intel Rapid Storage. Все операции по обслуживанию массива делает драйвер контроллера, код которого исполняется на CPU. Плюсы: бесплатность, переносимость (легко можно взять диски массива, подцепить их практически к любой другой современной материнской плате, и она увидит их как RAID), такие массивы могут быть загрузочными. Минусы - нагрузка на CPU, отсутствие аппаратного кэша.

В серверных решениях обычным является использование технологии "Hot Spare" (горячий резерв, не путать с горячей заменой). Это когда в RAID 1, например, из двух дисков присутствует третий диск, который является резервным и не принимает участия в работе. В случае выхода из строя одного из двух дисков в массиве, контроллер автоматически исключит из массива неисправный диск и подключит резервный.

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