RAID-массивы
Основные проблемы для масштабных систем хранения данных:
- низкая скорость чтения/записи;
- выход накопителей из строя.
Основные понятия RAID
- Массив — объединение нескольких физических или виртуальных дисков в
мегазордаодин большой накопитель с возможностью применения единых настроек управления и форматирования. - Зеркалирование — один из вариантов повышения надежности при сохранности данных. Информация на одном из исходных дисков «отзеркаливается» на второй, входящий в массив.
- Дуплекс — один из типов зеркалирования, в котором задействовано вдвое больше накопителей, чем в первом варианте.
- Чередование — увеличение быстродействия и производительности за счет блочной записи информации на диски (50% на один и 50% на второй, например).
- Четность — технология, объединяющая зеркалирование и чередование.
Назначение RAID-массива
RAID превращает несколько дисков в единый накопитель, помогает при резервном копировании и повышает отказоустойчивость системы. Среди основных преимуществ отметим:
- Увеличение объема — создание кластера большей емкости. Из пары HDD по 6 ТБ можно получить один на 12 ТБ соответственно;
- Повышение быстродействия — пропускная способность дисков увеличивается пропорционально количество накопителей;
- Отказоустойчивость — в качестве резервного накопителя выделяется одно или несколько устройств. Данные записываются на 2/4/6/8 дисков одновременно, поэтому при выходе одного из строя информация сохранится на оставшихся.
Но есть у такого подхода и недостатки. Во-первых, вы усложняете систему дополнительными контроллерами. Во-вторых, для RAID необходимо не менее 2 идентичных по объему и характеристикам диска, что также влечет за собой дополнительные расходы.
Типы RAID-массивов
-
Программные (Software) — самые простые и распространенные решения для домашнего использования. Реже — в малом бизнесе. Массив создается средствами встроенных возможностей операционной системы, а за обработку данных отвечает ЦП. Вариант медленный и слабый, поскольку пользователь полностью зависит от особенностей ОС. Также снижается общая производительность и общий уровень безопасности хранения.
-
Аппаратные (Hardware) — создаются на основе отдельного контроллера. Последний располагает собственным процессором и кэш-памятью, а потому полностью разгружает CPU и позволяет использовать большое количество HDD/SSD для создания полноценного RAID. Метод затратный, но крайне эффективный на длительной дистанции.
-
Интегрированный (RAID-on-chip, fake-RAID) — комбинация программных и аппаратных методов зеркалирования. Для реализации системы используют дополнительный чип, впаянный в материнскую плату и контактирующий с процессором напрямую. Компромиссный вариант для тех, кому мало возможностей софтверного решения, но платить за хардверное пока не готовы.
Аппаратные решения самые надежные. Вы не зависите ни от ОС, ни от скачков напряжения на материнской плате. Информация всегда будет надежно защищена, что критически важно для работы.
Уровень основан на разделении информации по блокам с одновременной записью разных блоков по разным дискам. Технология значительно повышает скорость чтения и записи, при этом пользователь может использовать суммарный объем всех накопителей. Недостаток один — отказоустойчивость стремится к нулю, т.е. восстановить поврежденный HDD/SSD будет уже невозможно.
Уровень RAID 0 также известен как чередующийся том. Минимальное количество дисков, необходимых для построения этой матрицы, равно двум. Данные разбиваются на так называемые «полосы» и поочередно распределяются по всем дискам матрицы.
Размер полосы в теории может быть всего 1Б, но в большинстве решений он кратен размеру одного сектора диска, который для классических HDD равен 512Б, поэтому профессиональные решения позволяют установить "полосу" из 1 КБ вверх. Размер полосы является одним из ключевых аспектов производительности RAID 0. Данные меньше размера полосы записываются в одну полосу на одном диске в массиве, а данные большего размера разбиваются на куски размера полосы и записываются поочередно на все диски в массиве. массив. В одной полосе может быть только один файл, что связано со значительной тратой места, если мы выберем слишком большую полосу для типа наших данных. Время доступа в RAID 0 зависит от того, в какой форме мы обращаемся к данным. При чтении/записи больших (больше одной полосы) данных все диски перемещаются в одно и то же место, следовательно, время доступа такое же, как и для одного диска. С другой стороны, в случае файлов меньшего размера (например, базы данных) каждый диск может осуществлять поиск независимо, что при равномерном распределении данных может сократить время доступа даже вдвое (для двухдискового массива).
Выбор правильного размера полосы для нашего приложения — одна из самых больших проблем при настройке массива RAID 0. Общий рекомендуемый метод — проанализировать размер файлов, например нашего системного раздела, и оценить средний размер большинства из них, а потом подбирать такую полосу, чтобы на один файл требовалось две (при двухдисковой матрице) или больше полос, благодаря которым мы выиграем чтение. В действительности, однако, это не имеет большого значения, так как если вы читаете сразу много маленьких файлов, их можно читать с нескольких дисков. Однако важно не переусердствовать как вверх, так и вниз.
А потому для строительства RAID 0 рекомендуют брать только надежные диски корпоративного сегмента.
Плюсы:
- Ощутимый прирост скорости, который напрямую зависит от общего количества носителей в системе. Например, если один диск работает на скорости 150 МБ/с, то пара обеспечит 300 МБ/с и т.д.
- Использование всего объема без резервирования. 4 диска по 4 ТБ обеспечат 16 ТБ пространства.
Минусы:
- Периодические проблемы с отказоустойчивостью, из-за чего в некоторых операциях возможна отмена при чтении/записи данных;
- При поломке диска восстановить данные уже не получится, как бы вы не пытались.
RAID 0 популярен в приложениях для скоростного обмена информацией, а также для хранения временных файлах с быстрым к ним доступом. Желательно, чтобы важность данных была не критичной.
Этот метод основан уже на полном дублировании данных на несколько носителей.
Принцип крутой и железобетонный в плане надежности, но при использовании двух дисков емкостью в 2 ТБ вы получаете лишь один рабочий. Второй становится невидим для системы — только для RAID-контроллера. Никаких преимуществ в скорости процесс также не предоставляет, зато отказоустойчивость повышается в несколько раз. Если один из HDD/SSD приказал долго жить, полный его слепок находится на втором носителе.
Процессы записи, удаления и копирования происходят параллельно. Из этого проистекает один нюанс: информация, стертая с одного HDD, автоматически исчезает и на втором.
Зеркальный том, как называется первый уровень, создает копии данных на двух или более дисках. Однако большинство решений ограничивают это число двумя. Это ограничение можно обойти, создав вложенный массив (например, RAID 1 из двух RAID 1 или RAID 11), подробнее об этом в описании RAID 10.
Емкость RAID 1 — это размер самого маленького компонентного носителя, что можно считать самым большим недостатком. Преимуществом является практически геометрическое увеличение надежности с каждым последующим диском в матрице и очень простая реализация. Данные практически сохраняются без изменений и один диск из такого массива может работать независимо.
Указанное геометрическое увеличение надежности массива RAID 1 можно аппроксимировать формулой rn, где r — надежность одного диска, а n — количество дисков в массиве. Как несложно подсчитать, если, например, наши диски имеют 5% шанс отказа, то матрица первого из двух таких дисков в идеальных статистически независимых условиях будет равна 0,25%. Однако на самом деле он не такой красочный. В матрицах чаще всего используются двухдисковые модели, купленные и, вероятно, изготовленные в одно и то же время. Кроме того, диски работают в схожих условиях, а значит, вероятность их повреждения одновременно сильно возрастает. И, наконец, более близкая к реальной надежность RAID 1 сводится к шансу повредить последний работоспособный диск в матрице за время, необходимое нам для обнаружения отказа,
RAID не следует путать с резервным копированием. Массивы с избыточностью, то есть практически все с уровнем, определяемым цифрой от единицы и выше, защищают нас от потери данных в случае физического повреждения дисков. Однако они не защищают нас от повреждения данных, например, вирусом, случайной перезаписью/удалением/изменением или даже от наиболее распространенных ошибок записи. Если мы хотим полностью защитить наши данные, RAID обеспечит нам непрерывный доступ к ним, потому что сбой не блокирует доступ, но для полной уверенности резервное копирование все же необходимо.
Одним из преимуществ RAID 1 является простота реализации. Это позволяет легко не только дублировать/размножать количество копируемых дисков, но и контроллеров. Ничто не мешает построить матрицу первого уровня в Windows из двух дисков, подключенных к двум независимым контроллерам, например, встроенному в чипсет и дополнительному. Такая процедура называется разбиением или дуплексированием (в случае двухдисковых массивов) или мультиплексированием (в случае более одного диска). Это решение защищает нас от аппаратных ошибок записи. Если один из контроллеров записывает данные с ошибками, у нас все равно есть второй диск, подключенный к другому функциональному контроллеру. К сожалению, вирусы и ошибки пользователей по-прежнему остаются проблемой. Простота реализации также предлагает преимущества с точки зрения администрирования RAID 1. Так как в большинстве случаев поврежденный массив, т.е. работающий только на одном диске, сохранит полную емкость одного диска, ничто не мешает удалить один из дисков, чтобы сделать резервную копию. Также можно просто спрятать такой диск и подключить на его место новый. Конечно, в зависимости от того, как мы это делаем, может потребоваться синхронизация, т.е. перестроение матрицы.
Плюсы:
- первоклассная надежность хранения;
- простота реализации уровня;
- высокая производительность на чтение;
- для организации RAID необходимо всего 2 идентичных диска.
Минусы:
- относительно низкая производительность в целом;
- емкость делится пополам, при этом второй накопитель фактически простаивает;
- для замены неисправного устройства требуется отключить ПК/сервер.
RAID 1 отлично зарекомендовал себя в системах, где требуется высокая надежность хранения, будь то архивы, бекапы, отчеты.
Эта технология считается одной из наиболее распространенной и безопасной, поскольку работает на принципах четности и чередования. Для создания пятого Рейда необходимо иметь не менее 3 дисков. Максимальный объем — 16 накопителей соответственно.
Во время записи данные разделяются по блокам, при этом действует особое условие: на один из дисков, именуемый блоком четности (Parity Drive/PD) пишется информация под дальнейшее восстановления. На случай, если что-то пошло не так по вине пользователя, или морального устаревания накопителей в целом.
Удобство RAID 5 в том, что его можно реализовать как аппаратно, так и программно, используя соответствующие утилиты, поставляемые вместе с ОС. Однако любой толковый специалист скажет, что хардверный вариант куда безопаснее.
Плюсы:
- Увеличение скорости линейного чтения, поскольку данные берутся сразу с нескольких потоков массива;
- Информация не потеряется, если из строя вышел один, и даже несколько дисков;
- При замене одного из накопителей, данные восстановятся автоматически из-за особенностей алгоритма работы RAID.
Минусы:
- Изредка случаются отказы дисков;
- Процесс восстановления данных крайне нетороплив. Слепок с HDD на 4 ТБ, к примеру, будет переписываться около суток. Но лучше так, чем вообще без резерва;
- Требуется не менее 3 накопителей, чтобы завести массив.
RAID 5 объединяет в себе преимущества уровней 1 и 0, поскольку при работе увеличивается скорость и надежность процессе сохранения данных. Крайне часто разработку внедряют при создании файловых серверов.
Во многом эта технология дублирует особенности RAID 5, однако данные для восстановления копируются сразу на два резервных носителя.
Второй диск четности является, по сути, дублирующим звеном, чтобы наверняка. Принцип его работы основан на коде Рида-Соломона, а потому второй накопитель маркируют как Q или RS.
Благодаря такому принципу владелец сервера может безболезненно перенести безвременную кончину сразу пары HDD/SSD. Вот только для реализации RAID 6 потребуется уже 4 диска.
Плюсы:
- Достойная скорость считывания и линейной записи данных;
- В экстренных случаях система может пережить выход двух накопителей одновременно.
Минусы:
- Общая скорость работы на 20% ниже, чему RAID 5;
- Присутствует вероятность отказа одного из дисков, пусть и минимальная;
- Восстановление информации занимает неприлично много времени, при этом сервер простаивает;
- Требуется не менее 4 дисков для реализации блока.
Сфера использования RAID 6 — те же файловые серверы и крупные базы данных. Другое дело, что из-за более высокой надежности этому способу хранения можно доверить более важную информацию в больших объемах.
Комбинированные уровни RAID
- RAID 10 (1+0);
- RAID 50 (5+0);
- RAID 60 (6+0).
RAID 10
Эта технология сочетает в себе преимущества RAID 1 и RAID 0 в режиме виртуализации, что обеспечивает высокую скорость восстановления, отличную надежность и быстродействие.
Однако подход чреват высокой стоимостью реализацией, да и под «зеркало» придется отдать половину накопителей.
RAID 50/60
Эта конфигурация берет все плюсы RAID 5 (четность) и RAID 0 (чередование), чтобы повысить производительность без снижения показателей защиты. Но только в том случае, если у вас есть 6 дисков и более.
Организация RAID позволяет пережить поломку до 4 дисков, если они висят в отдельном массиве RAID 5.
Недостаток — требования к контроллеру.
В RAID 60 принцип тот же, только надежность еще выше за счет дублирования «страхующих» дисков.