Тестирование серверных SCSI RAID-контроллеров. Типы RAID-контроллеров

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

1. Контроллеры дисковода с функциями RAID

Это обыкновенный дисковый контроллер, который благодаря специальной прошивке BIOS позволяет объединять дисководы в RAID-массив (обычно уровня не выше 1).

2. RAID-контоллеры, работающие в паре с уже имеющимся дисковым контроллером

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

3. Полнофункциональные RAID-контоллеры

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

4. Внешние RAID-контроллеры

Внешние RAID-контроллеры размещаются в отдельном корпусе (обычно вместе с самим RAID-массивом), имеющем свой независимый блок питания и управляются через внешний канал SCSI-контроллера, подключенного к системной плате. Внешние RAID-контроллеры обеспечивают самый высокий уровень производительности и надежности из всех типов RAID-контроллеров и их рекомендуют для серверов среднего и верхнего уровней. Наличие же каналов Fibre Channel позволяет разнести сервер и RAID-массив на значительное расстояние для защиты данных. Единственный недостаток - относительно высокая цена, однако, в ряде случаев, применение внешнего RAID-контроллера может дать экономию средств. Например, если в системе должны работать два сервера с RAID-массивами, то применение одного внешнего RAID-контроллера с общим дисковым массивом, подключенного к SCSI контроллерам каждого из серверов, позволит сэкономить стоимость внутреннего RAID-контроллера, рационально использовать дисковое пространство, упростить настройку и обслуживание.

Теперь посмотрим какие есть виды и чем они отличаются.

Калифорнийский университет в Беркли представилследующие уровни спецификации RAID, которые были приняты как стандарт де-факто:

  • RAID 0 - дисковый массив повышенной производительности с чередованием, без отказоустойчивости;
  • - зеркальный дисковый массив;
  • RAID 2 зарезервирован для массивов, которые применяют код Хемминга;
  • RAID 3 и 4 - дисковые массивы с чередованием и выделенным диском чётности;
  • - дисковый массив с чередованием и «невыделенным диском чётности»;
  • - дисковый массив с чередованием, использующий две контрольные суммы, вычисляемые двумя независимыми способами;
  • - массив RAID 0, построенный из массивов RAID 1;
  • - массив RAID 0, построенный из массивов RAID 5;
  • - массив RAID 0, построенный из массивов RAID 6.

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

RAID 0 (striping - «чередование» )

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

(mirroring - «зеркалирование» )

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

Обеспечивает приемлемую скорость записи и выигрыш по скорости чтения при распараллеливании запросов.

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

Похожий на RAID10 вариант распределения данных по дискам, допускающий использование нечётного числа дисков (минимальное количество - 3)

RAID 2, 3, 4

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

Основным недостатком уровней 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 6 - похож на RAID 5, но имеет более высокую степень надёжности - под контрольные суммы выделяется ёмкость 2-х дисков, рассчитываются 2 суммы по разным алгоритмам. Требует более мощный RAID-контроллер. Обеспечивает работоспособность после одновременного выхода из строя двух дисков - защита от кратного отказа. Для организации массива требуется минимум 4 диска. Обычно использование RAID-6 вызывает примерно 10-15% падение производительности дисковой группы, относительно RAID 5, что вызвано большим объёмом обработки для контроллера (необходимость рассчитывать вторую контрольную сумму, а также читать и перезаписывать больше дисковых блоков при записи каждого блока).

RAID 0+1

Под RAID 0+1 может подразумеваться в основном два варианта:

  • два RAID 0 объединяются в RAID 1;
  • в массив объединяются три и более диска, и каждый блок данных записывается на два диска данного массива; таким образом, при таком подходе, как и в «чистом» RAID 1, полезный объём массива составляет половину от суммарного объёма всех дисков (если это диски одинаковой ёмкости).

RAID 10 (1+0)

RAID 10 - зеркалированный массив, данные в котором записываются последовательно на несколько дисков, как вRAID 0. Эта архитектура представляет собой массив типа RAID 0, сегментами которого вместо отдельных дисков являются массивы RAID 1. Соответственно, массив этого уровня должен содержать как минимум 4 диска (и всегда чётное количество). RAID 10 объединяет в себе высокую отказоустойчивость и производительность.

Утверждение, что RAID 10 является самым надёжным вариантом для хранения данных вполне обосновано тем, что массив будет выведен из строя после выхода из строя всех накопителей в одном и том же массиве. При одном вышедшем из строя накопителе, шанс выхода из строя второго в одном и том же массиве равен 1/3*100=33%. RAID 0+1 выйдет из строя при двух накопителях, вышедших из строя в разных массивах. Шанс выхода из строя накопителя в соседнем массиве равен 2/3*100=66%, однако так как накопитель в массиве с уже вышедшим из строя накопителем уже не используется, то шанс того, что следующий накопитель выведет из строя массив целиком равен 2/2*100=100%

массив, аналогичный RAID5, однако кроме распределенного хранения кодов четности используется распределение резервных областей - фактически задействуется жесткий диск, который можно добавить в массив RAID5 в качестве запасного (такие массивы называют 5+ или 5+spare). В RAID 5 массиве резервный диск простаивает до тех пор, пока не выйдет из строя один из основных жестких дисков, в то время как в RAID 5EE массиве этот диск используется совместно с остальными HDD все время, что положительно сказывается на производительность массива. К примеру, массив RAID5EE из 5 HDD сможет выполнить на 25% больше операций ввода/вывода за секунду, чем RAID5 массив из 4 основных и одного резервного HDD. Минимальное количество дисков для такого массива - 4.

объединение двух(или более, но это крайне редко применяется) массивов RAID5 в страйп, т.е. комбинация RAID5 и RAID0, частично исправляющая главный недостаток RAID5 - низкую скорость записи данных за счёт параллельного использования нескольких таких массивов. Общая ёмкость массива уменьшается на ёмкость двух дисков, но, в отличие от RAID6, без потери данных такой массив переносит отказ лишь одного диска, а минимально необходимое число дисков для создания массива RAID50 равно 6. Наряду с RAID10, это наиболее рекомендуемый уровень RAID для использования в приложениях, где требуется высокая производительность в сочетании приемлемой надёжностью.

объединение двух массивов RAID6 в страйп. Скорость записи повышается примерно в два раза, относительно скорости записи в RAID6. Минимальное количество дисков для создания такого массива - 8. Информация не теряется при отказе двух дисков из каждого RAID 6 массива

Особенно для предприятия, наверняка знаком с термином «RAID». Организовать массив RAID можно двумя способами: аппаратным или программным. Аппаратный массив RAID традиционно применяется на предприятиях и в организациях, где отказоустойчивость и высокая производительность жестких дисков — обязательное условие, а не роскошь. Для большинства предприятий СМБ часто бывает достаточно уровней RAID 0, 1, 5, 6 и иногда 10, обеспечивающих хорошую отказоустойчивость и быстродействие. Для многих домашних пользователей уровень RAID 5 избыточен.

Каждый, кому приходилось покупать устройство хранения данных , подключаемое к сети (NAS), или сервер , особенно для предприятия, наверняка знаком с термином «RAID».

RAID — сокращение от Redundant Array of Inexpensive (или более подходящее для маркетинга — Independent) Disks (избыточный массив недорогих [независимых] дисков).

В общем случае в массиве RAID объединены два или несколько жестких дисков с целью увеличения производительности или обеспечения определенного уровня отказоустойчивости системы (обычно устройства NAS или сервера). «Отказоустойчивость» предусматривает просто наличие «страховочной сетки» на случай отказов аппаратных средств, обычно жесткого диска, и позволяет сохранить работоспособность компьютера после аварии. Благодаря отказоустойчивости уменьшаются простои в работе и вероятность потери данных.

Аппаратный массив RAID

Организовать массив RAID можно двумя способами: аппаратным или программным.

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

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

Программный массив RAID

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

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

В Windows 7 (Pro и Ultimate) есть встроенные функции для организации массивов RAID; можно использовать единственный диск с двумя разделами и зеркалировать эти разделы (RAID 1) или выполнять запись с расщеплением данных для повышения быстродействия (RAID 0). Функция построения такого типа RAID имеется и в других операционных системах, например Apple Snow Leopard Server 10.6, Linux, а также Windows Server 2003 и 2008. Поскольку массив RAID реализован в операционной системе, в отношении цены ему нет равных. Программные массивы можно составлять из виртуальных решений RAID от таких поставщиков, как Dot Hill, которые предлагают мощные виртуальные адаптеры RAID, размещаемые на серверах. Такое решение более подходит для сетей предприятий.

Выбираем оптимальный вариант RAID

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

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

Различные контроллеры обеспечивают разные уровни RAID и определяют типы дисков, которые можно использовать в массиве: SAS, SATA или SSD. Дадим краткое описание каждого уровня RAID:

  • RAID 0 используется для повышения быстродействия сервера. Метод известен также как «расщепление данных». В массиве RAID 0 данные распределяются по нескольким дискам. Обращения к данным обслуживаются несколькими дисками, а не одним, и производительность возрастает благодаря увеличению пропускной способности при считывании и записи данных несколькими дисками. Требуется как минимум два диска, но в массиве RAID 0 может быть до четырех дисков. RAID 0 можно реализовать как программно, так и аппаратно, в том числе с применением большинства типов контроллеров. Недостаток заключается в том, что не повышается отказоустойчивость. Отказ одного диска влияет на работу массива в целом, и увеличивается риск порчи или потери данных.
  • RAID 1 — отказоустойчивая конфигурация, известная как «зеркалирование диска». В массиве RAID 1 данные незаметно для пользователя и незамедлительно копируются с одного диска на другой, формируя дублирующий диск или зеркало. В случае отказа одного диска другой продолжает функционировать. Это самый простой и относительно недорогой способ повышения отказоустойчивости. Недостаток RAID 1 — небольшое снижение производительности. Массив RAID 1 можно организовать как программным, так и аппаратным способом. Для аппаратной реализации RAID 1 требуется не менее двух дисков. При программной реализации RAID 1 данные зеркалируются не между двумя физическими дисками, а между томами на одном диске. Кроме того, помните, что при использовании RAID 1 общая емкость дисковой памяти уменьшается вдвое: если сервер оснащен двумя 1-Тбайт дисками в конфигурации RAID 1, то общий размер хранилища данных составляет не 2, а 1 Тбайт.
  • RAID 5 применяется в серверах и устройствах NAS для сферы бизнеса гораздо шире, чем другие конфигурации RAID. Как производительность, так и отказоустойчивость этого уровня RAID выше, чем при зеркалировании. В массивах RAID 5 данные и информация о четности (используемая при восстановлении данных) расщепляются между тремя или несколькими дисками. На дисках обычно отказывают секторы; полный отказ всего диска случается реже. В массиве RAID 5 в случае частичной неисправности диска данные восстанавливаются на основании оставшихся данных и информации о четности, автоматически и незаметно для пользователя.

Благодаря такому качеству диски во многих серверах и устройствах NAS можно заменять на новые, не выключая электропитание и не прерывая работы пользователей, которые могут по-прежнему обращаться к серверу или хранилищу данных. Это отличный способ обеспечить избыточность данных, так как по мере отказа дисков (что рано или поздно происходит) данные можно восстанавливать на новых дисках, устанавливаемых вместо отказавших. RAID 5 может быть аппаратным или программным решением. Быстродействие аппаратных массивов выше, поскольку все действия выполняются контроллером без участия ЦП. Недостаток программного RAID 5 — снижение производительности серверов, которым приходится выполнять много операций записи. Например, если в массиве RAID 5 содержится база данных, к которой многие сотрудники обращаются в течение рабочего дня, то работа сервера может заметно замедлиться.
* RAID 10 — комбинация RAID 1 и RAID 0, часто обозначаемая как RAID 1+0. В этой конфигурации зеркалирование RAID 1 сочетается с расщеплением данных RAID 0. Производительность этого уровня RAID — самая высокая, но и цена тоже самая высокая: требуется вдвое больше дисков, чем для других уровней RAID (не меньше четырех). Этот уровень RAID предпочтителен для серверов интенсивно используемых баз данных и любых других серверов, выполняющих много операций записи. Массив RAID 10 можно организовать программно или аппаратно, но бесспорно, что преимущества в быстродействии теряются при программной реализации RAID 10. Для RAID 10 требуется не менее четырех дисков.

Другие уровни RAID

Существуют другие уровни RAID: 2, 3, 4, 6, 7, 0+1 и т. д., но на самом деле это варианты уже упомянутых основных конфигураций RAID, которые используются в конкретных случаях. Приводим краткие описания каждого варианта.

  • RAID 2 аналогичен уровню RAID 5, но вместо расщепления данных с контролем по четности используется расщепление на уровне битов. RAID 2 применяется редко из-за, как правило, очень высокой цены (в типичной конфигурации требуется 10 дисков) и низкой производительности на некоторых операциях ввода-вывода.
  • RAID 3 также похож на RAID 5, но для этого решения необходим выделенный диск контроля по четности. RAID 3 используется редко, лишь в специальных базах данных и вычислительных средах, где такая конфигурация эффективна.
  • RAID 4 похож на RAID 3, но расщепление дисков выполняется на уровне байтов, а не битов, как в RAID 3.
  • RAID 6 — это расширение RAID 5, в котором используется не один, а два дополнительных диска. Такое решение, хотя оно и увеличивает избыточность, позволяет сохранить работоспособность массива даже при одновременном отказе двух дисков.
  • RAID 7 — фирменный уровень RAID, принадлежащий компании Storage Computer Corporation, которая ныне прекратила существование.
  • RAID 0+1 часто считают аналогом RAID 10 (RAID 1+0), но в действительности между этими уровнями есть различия. RAID 0+1 — зеркалированный массив с сегментами, представляющими собой массивы RAID 0, который применяется в специализированных инфраструктурах с высокими требованиями к быстродействию, но не масштабированию.

Для большинства предприятий СМБ часто бывает достаточно уровней RAID 0, 1, 5, 6 и иногда 10, обеспечивающих хорошую отказоустойчивость и быстродействие.

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

Еще более удачное решение — аппаратное зеркалирование с двумя физическими дисками (если вы готовы на такие затраты).

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

Основные причины неисправностей RAID массивов и методы восстановления данных:

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

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

После перехода SCSI на последовательные "рельсы" профессиональные и полупрофессиональные RAID-контроллеры заметно изменились. Параллельный интерфейс SCSI обеспечивает пропускную способность до 320 Мбайт/с, которая разделяется между всеми устройствами, подключёнными к шине с помощью дорогого и капризного кабеля. Интерфейс Serial Attached SCSI (SAS), напротив, поддерживает скорость 300 Мбайт/с на порт, многоканальные или одноканальные кабели, избыточные каналы, внешние и внутренние устройства. Контроллеры совместимы и с интерфейсом SATA, то есть вы можете использовать как ёмкие накопители SATA, так и высокопроизводительные винчестеры SAS. Наконец, переход с PCI-X на PCI Express идёт полным ходом. Как мы считаем, настало время рассмотреть четыре RAID-контроллера для серверов начального уровня.

Многие пользователи до сих пор интересуются, стоит ли покупать раздельный RAID-контроллер, учитывая наличие таких мощных интегрированных SATA-решений, как Intel ICH9R, которые можно обнаружить во многих топовых материнских платах, например, Asus P5K-WS (чипсет P35 с интерфейсом PCI-X) или P5K64-WS (четыре слота PCI Express). Поскольку производители оснащают свои топовые модели высококачественными стабилизаторами напряжения и лучшими компонентами, то разница в качестве между high-end настольной материнской платой и low-end серверным продуктом заключается только в наборе функций. При наличии шести портов SATA/300 на такой материнской плате, расширенных функций управления RAID и дву- или четырёхядерного процессора, который займётся и расчётом информации избыточности RAID 5, зачем покупать внешний дорогой RAID-контроллер?

Подобные интегрированные решения, вероятно, хорошо подойдут для небольшого сервера для рабочих групп, когда от массива требуется хранить данные проекта, пользовательскую информацию и приложения, но при росте нагрузки ограничения проявятся весьма быстро. Если вам требуются более сложные уровни RAID, такие, как RAID 50 или 60, то встроенные решения будут мало полезны. Или, скажем, если вам вдруг потребуется подключить больше шести винчестеров, придётся переходить на другой контроллер. А если вам нужно запустить массив во внешней оснастке, либо вы хотите получить весь набор функций управления жёсткими дисками, тогда SAS, устаревшие решения SCSI или другие собственные технологии производителей остаются единственно возможным выбором.

Мы определённо не рекомендуем собственные технологии производителей, которые ограничивают в выборе контроллера и оснастки. Вся необходимая информация о Serial Attached SCSI приведена в статье Тесты жёстких дисков и контроллеров SAS: дни SCSI сочтены , включая детали интерфейса, кабели, возможности расширения, оснастки, жёсткие диски, host-адаптеры и т.д. Винчестеры SAS последнего поколения обеспечат намного более высокую производительность, чем модели SATA, однако совместимость с SATA и гибкость использования является неплохой причиной, чтобы использовать унифицированный RAID-контроллер в вашей системе.


Сможете различить? Верхний разъём - SATA, а нижний принадлежит накопителю Seagate Savvio SAS.

Соединения SAS и SATA являются полнодуплексными коммутируемыми типа "точка-точка", то есть здесь уже нет необходимости присваивать каждому устройству свой ID или терминировать шину. Данные по соединению могут передаваться и приниматься одновременно. SAS и SATA поддерживают "горячее подключение". Для ускорения таких параллельных протоколов, как Ultra320 SCSI, требовалось либо расширить шину, что приводило к большему числу проводов, либо увеличить тактовые частоты, но при этом возникали проблемы с задержками сигнала. А последовательные соединения "точка-точка" могут просто использоваться совместно. Собственно, у SAS данный принцип как раз и используется, когда несколько соединений SAS комбинируются вместе для подключения внешних оснасток.

Существует только одно механическое различие между SAS и SATA: оба интерфейса используют одинаковую раскладку для данных и питания, но у SATA два разъёма физически разделены. У SAS оба разъёма соединены, то есть вы сможете подключать SATA-винчестер к SAS-контроллеру, но у вас не получится подключить SAS-накопитель к SATA-контроллеру через разъём SATA (SFF 8482). Работа винчестеров SATA на SAS-контроллере возможна по той причине, что протокол Serial ATA менее сложный и попросту туннелируется в SAS при передаче. Благодаря широким унифицированным разъёмам SAS физическое подключение выполняется весьма надёжно, разъёмы не могут случайно выпасть. Основная причина небольшой разницы в двух разъёмах заключается в расширенном наборе функций SAS, который вы не обнаружите у SATA-контроллеров: SAS поддерживает двухпортовые соединения, обеспечивая избыточное подключение жёсткого диска (необходимая опция для high-end хранилищ) и поддерживает так называемые экспандеры (расширители) для расширения устройств хранения, подобно тому, как сетевой коммутатор работает с несколькими клиентами.

Что касается производительности, то между двумя интерфейсами разница невелика. Serial ATA 2.5 обеспечивает максимальную пропускную способность 3 Гбит/с на порт с кодированием 8/10 бит, что даёт 2,4 Гбит/с или 300 Мбайт/с на порт для передачи данных. То же самое относится и к SAS, хотя в планах значится появление интерфейсов на 6 и 12 Гбит/с, что даст пропускную способность 600 и 1 200 Мбайт/с на порт.


SAS слева, SATA справа.


Для группировки портов SAS (обычно по четыре) используется разъём Mini SAS 4i (SFF-8087).

Тенденции винчестеров: наступление 2,5" моделей

Основная причина, почему 3,5" винчестеры продолжают доминировать в профессиональной сфере, заключается в физических габаритах, которые прекрасно соответствуют широким шлейфам SCSI. Однако меньший 2,5" форм-фактор намного более привлекателен, поскольку он сочетает высокие скорости вращения шпинделя с меньшей нагрузкой на компоненты из-за меньшего диаметра вращающихся пластин. Но сложные интерфейсы SCSI так и не смогли проникнуть в 2,5" мир. Интерфейс SAS изменил ситуацию: разъём SFF 8484 позволяет подключать 2,5" или 3,5" накопители, по протоколам SAS или SATA. 2,5" форм-фактор привлекательнее для производительных хранилищ, поскольку можно увеличить плотность расположения приводов, повышая пропускную способность и число операций ввода/вывода в секунду. В то же время, 2,5" винчестеры потребляют ощутимо меньше энергии, чем 3,5" модели. Энергопотребление становится серьёзной проблемой для профессиональных сфер и центров обработки данных, где используются десятки, сотни или даже тысячи жёстких дисков, и их требуется не только питать, но и охлаждать, что тоже требует немало энергии. Отсюда вполне понятно, что движущей силой 2,5" форм-фактора является цена.

Линейка Savvio от Seagate стала первой коммерчески успешной в секторе 2,5" винчестеров корпоративного уровня. Накопители Savvio 10K.2 сменили первые модели 10K.1, а винчестеры Savvio 15K.1 являются одними из самых производительных SAS-моделей на рынке. Мы не смогли получить восемь жёстких дисков Savvio 15K.1 вовремя, поэтому решили остановиться на восьми моделях Savvio 10K.2. Сегодня доступны варианты с ёмкостью 73 и 146 Гбайт. Мы выбрали меньший размер, чтобы наши тесты проводились за разумный промежуток времени. Винчестеры оснащены 16 Мбайт кэша, используют одну 2,5" пластину и интерфейс SAS на 3 Гбит/с. Как и другие накопители корпоративного уровня, они поставляются с пятилетней гарантией.

Как насчёт 3,5" моделей?

Они не умрут, но 3,5" винчестеры SAS будут постепенно вытесняться из корпоративного высокопроизводительного сектора, уступая место моделям с 2,5" форм-фактором. Если рассматривать высокую ёмкость, то SATA-модели на 7 200 об/мин остаются лучшим компромиссом между производительностью и ёмкостью, они уже достигли ёмкости в 1 Тбайт на жёсткий диск, а модели SAS и SCSI на 10 000 об/мин пока держатся на уровне 300 Гбайт. Чтобы удовлетворить потребности корпоративных хранилищ, все крупные производители жёстких дисков предлагают винчестеры SATA, валидированные для работы в режиме 24/7 с пятилетней гарантией. Хорошими примерами можно считать Seagate Barracuda ES , Hitachi UltraStar A7K1000 или E7K500, а также Western Digital RAID Edition (RE).

Прошивка: 5.2.0 Build 12415.

Первый RAID-контроллер в нашем тестировании - Adaptec RAID 3805. Эта компания дифференцирует продукты начального уровня и производительные решения, но нумерация данной модели требует некоторых пояснений. Каждый продукт, который начинается с цифры "3", как в данном случае, является унифицированной моделью SAS/SATA с пропускной способностью 3 Гбит/с на порт. Вторая цифра обозначает доступное число портов, то есть четыре для RAID 3405, восемь для RAID 3805 или 16 для RAID 31605. Если перед числом приводов стоит "0", то контроллер поддерживает внешние оснастки. Последняя цифра может быть "0" или "5", где "0" означает host-поддержку RAID, а "5" - аппаратное ускорение RAID 5 и RAID 6. Все унифицированные контроллеры используют интерфейс PCI Express, так что модели PCI-X остались в прошлом. Кстати, не следует путать RAID 3805 и RAID 3085, где последний является внешней картой с более скоростным процессором IOP.

RAID 3805 - современная модель с восемью портами SAS и аппаратным ускорением RAID для интерфейса PCI Express. Продукт позиционируется на начальный/средний уровень и может использоваться под большим числом ОС, включая все версии Windows, начиная с Windows 2000, а также Red Hat и SuSe Linux, Novell Netware, SCO Open Server, Sun Solaris, FreeBSD, UnixWare и VMware ESX Server. Контроллер для расчёта XOR-операций использует процессор Intel 80333 на частоте 500 МГц и оснащён 128 Мбайт памяти DDR2 с ECC. Благодаря низкопрофильному форм-фактору и двум разъёмам SFF 8487, каждый из которых обеспечивает четыре порта по одному физическому соединению, RAID 3805 можно устанавливать в компактные серверы 1U, которые имеют слот x4 PCI Express.

Adaptec поддерживает режимы RAID 0, 1, 1E (аналогичен RAID 10), 5, 5EE (с запасным жёстким диском/hot spare), 6, 10, 50, 60 и JBOD, что даёт администраторам определённую гибкость. Что касается функций, то список длинный, включая все привычные функции RAID - онлайновое расширение ёмкости, миграция уровней RAID, быстрая/фоновая инициализация, поддержка "родной" очереди команд (NCQ), разные режимы указания запасных/spare дисков (global/dedicated/pooled), работа с оснастками через SCSI-accessed Fault-Tolerant Enclosure (SAFTE), отложенное время раскрутки шпинделя и т.д. Среди любопытных функций отметим так называемую "copyback hot spare", которая после замены вышедшего из строя винчестера превращает новый жёсткий диск как бы в прежний. Так что метки дисков в оснастке менять не придётся. В таблице ниже мы сравнили функции трёх контроллеров.

В комплект поставки входят контроллер, низкопрофильная заглушка для слота, краткая инструкция по установке на нескольких языках, CD с программным обеспечением, а также два четырёхпортовых кабеля Mini SAS на SATA/SAS стандартов SFF 8487 и SFF 8484. Есть опциональный модуль аккумулятора, который позволяет сохранять в оперативной памяти кэшированные данные после потери питания. Компания решила отказаться от продажи пакета Advanced Data Protection (поддержка RAID 6 и дополнительных функций) в виде опционального обновления. Но резервирование через снимки (snapshot backup) будет доступно только после покупки регистрационного ключа. На RAID-контроллер даётся трёхлетняя гарантия.

На момент публикации Adaptec RAID 3805 стоил $600.


Нажмите на картинку для увеличения.

Atto выпускает два контроллера RAID 5 SAS/SATA с интерфейсом PCI Express: R380, с двумя внешними портами, по четыре накопителя каждый, и R348, с одним портом для четырёх внешних накопителей (SFF 8088) и двумя портами для поддержки до восьми внутренних винчестеров (SFF 8087). Впрочем, вы можете использовать, максимум, восемь портов, считая внутренние и внешние. По информации на сайте Atto, данная функция является уникальной. Мы решили протестировать R348, поскольку данная модель более гибкая, чем R380.

Сначала о недостатках: этот контроллер не поддерживает RAID 6, и он не имеет столь широкой поддержки ОС, как модели Adaptec. Кроме того, на него даётся двухлетняя гарантия, хотя Adaptec, ICP и Ciprico/Raidcore дают три года. Нам сообщили также и о том, что настройки контроллера по умолчанию могут не давать оптимальную производительность, но, к сожалению, уже после того, как мы завершили тесты. Функция под названием "RGSSpeedRead" позволяет выполнять упреждающее чтение с массивов RAID, но её требуется включать через командный интерфейс. Мы обнаружили краткое описание этой функции на последних страницах инструкции. У нас не было времени на повторение всех тестов, но после включения "RGSSpeedRead" скорость чтения действительно возрастает. Обидно, что Atto не включила эту функцию на заводе. Или не посвятила отдельную главу в инструкции оптимизации производительности. R348 имеет интерфейс на Java, который прост в использовании, но не даёт большого числа опций. Мы также не понимаем, почему пользователи должны обязательно зарегистрироваться в Atto перед тем, как что-либо скачивать.

Как и другие контроллеры, Express SAS R348 - низкопрофильная карта PCI Express, использующая восемь линий PCIe. Но в отличие от карт Adaptec и ICP, она оснащена 256 Мбайт памяти DDR2 с поддержкой ECC. Кроме того, используется более мощный процессор XScale IOP 348 на частоте 800 МГц. Он обеспечил хорошие, хотя и не великолепные результаты в тестах ввода/вывода.

Что касается функций, то RAID-контроллер Atto поддерживает все основные режимы RAID: 0, 1, 10, 5, 50. Он может работать в режиме JBOD и даже в RAID 4, который хранит всю информацию избыточности на одном жёстком диске. Но, в отличие от RAID 3, массив RAID 4 создаёт stripe-блоки большего размера, а не однобайтовые блоки, как у RAID 3, что даёт RAID 4 прирост производительности по сравнению с RAID 3. Уровни RAID 6 и 60 пока не поддерживаются, но Atto обещает, что вскоре они будут добавлены. То же самое касается и опционального аккумулятора, который пока не доступен. Поддерживаются ОС Windows Server 2003, Windows 2000, Windows XP и Windows Vista, Max OS X 10.4, а также три разных дистрибутива Linux, но из списка исключены Solaris, FreeBSD и Netware.


Нажмите на картинку для увеличения.
Нажмите на картинку для увеличения.

Версия прошивки: 5.2.0 Build 12415.

Данный продукт технически идентичен Adaptec RAID 3805, в основном по той причине, что ICP Vortex входит в группу компаний Adaptec. Полученный нами образец не поддерживал RAID 6 и функцию "copyback", что было связано с устаревшей прошивкой. Обновление добавило поддержку RAID 6 и "copyback spare". Впрочем, между Adaptec RAID 3805 и ICP 5085BL есть серьёзное отличие: ICP используется более скоростной процессор IOP333 на 800 МГц, а у Adaptec RAID 3805 он работает на частоте 500 МГц. ICP использует 256 Мбайт кэш-памяти DDR2 с поддержкой ECC, а у Adaptec её объём ограничен 128 Мбайт. В результате мы получаем в тестах более высокую производительность в RAID 5. Набор функций, ПО и содержимое комплекта поставки идентичны контроллеру Adaptec.


Нажмите на картинку для увеличения.


Нажмите на картинку для увеличения.

Версия прошивки: 3.0.0.

Наше первое знакомство с контроллерами Raidcore состоялось ещё в 2003 году и оказалось весьма впечатляющим: host-контроллер использует архитектуру под названием Fulcrum, которая позволяет создавать мощные RAID-контроллеры, независимые от аппаратного уровня. В результате Raidcore оказалась одной из первых компаний, кто предложил решения с поддержкой распределения RAID-массивов по нескольким контроллерам . Это стало возможно благодаря специальной логике, которая работает на host-машине. Но есть и недостаток - все расчёты информации избыточности должны выполняться центральным процессорам host-системы, хотя сегодня, с появлением дву- и четырёхядерных процессоров, это уже не такая острая проблема.

Современные решения Raidcore продвигает компания под названием Ciprico. В линейке RC5000 есть четыре разные модели: две низкопрофильные карты с четырьмя и восемью портами, а также две карты с полной высотой на 12 и 16 портов. Цифра "8" как раз и обозначает наличие восьми портов, модели 5100 используют интерфейс PCI-X, а 5200 - PCI Express x1 или x4. Ciprico является единственным производителем, обеспечивающим распределение массива по нескольким контроллерам (controller spanning), в результате чего можно создавать большие RAID-массивы на нескольких (и даже разных) контроллерах Raidcore. Список функций более полный, чем у Adaptec/ICP или Atto, включая роуминг дисков (перевод винчестеров на любой порт любого контроллера), гибкое расположение дисков для замены/spare (dedicated/global/distributed), разделение зеркал (mirror splitting), скрытие массива (array hiding) и т.д.

Raidcore пока не поддерживает массивы с двойной избыточностью RAID 6 или RAID 60, но есть поддержка RAID 0, 1, 10, JBOD, 5, 50, 1n и 10n. Драйверы доступны под все распространённые версии Windows, Red Hat, Suse и Fedora Linux. Novell Netware, Sun Solaris и другие ОС не поддерживаются. Ciprico даёт трёхлетнюю гарантию, да и программное обеспечение управления весьма логичное и мощное. Производительность RC5252-8 оказалось хорошей, хотя она во многом зависит от host-системы. В нашем случае один двуядерный процессор Xeon (ядро Nocona) на частоте 3,6 ГГц оказался хорошим выбором. Впрочем, любой двуядерный Xeon 5200 (Woodcrest или Clovertown) даст ещё более высокую производительность.


Нажмите на картинку для увеличения.


Производитель Adaptec Atto ICP Raidcore
Модель RAID 3805 ExpressSAS R348 RC5252-8
Внутренние разъёмы 2x SFF 8087 2x SFF 8087 2x SFF 8087 2x SFF 8087
Внешние разъёмы Н/Д 1x SFF 8088 Н/Д Н/Д
Общее число портов SAS 8 8 8 8
Кэш-память 128 Мбайт DDR2 ECC 256 Мбайт DDR2 ECC 256 Мбайт DDR2 ECC Нет
Интерфейс PCI Express x4 PCI Express x8 PCI Express x4 PCI Express x4
XOR-движок Intel 80333 500 МГц IOP 348 800 МГц Intel 80333 800 МГц Программный
Миграция уровней RAID Да Да Да
Онлайновое расширение ёмкости Да Да Да Да
Несколько массивов RAID Да Да Да Да
Отложенная раскрутка шпинделя Да Да Да
Гибкая поддержка запасного/ spare винчестера Да Да Да Да
Автоматическое преодоление сбоя (Automatic Failover) Да Да
Аккумулятор для резервного питания Опционально Опционально Опционально Не нужен, кэша нет
Вентилятор Нет Нет Нет Нет
Поддержка ОС

Novell NetWare 6.5
SCO OpenServer
UnixWare
Sun Solaris 10 x86
FreeBSD
Windows Vista, Server 2003, XP, 2000
Mac OS X (10.4.x)
Linux (Fedora, Red Hat and SuSE)
Windows 2000, XP, Server 2003, Vista
Red Hat Enterprise Linux (RHEL)
SUSE Linux Enterprise Server (SLES)
Novell NetWare 6.5
SCO OpenServerUnixWare
Sun Solaris 10 x86
FreeBSD
Windows 2000, XP, Server 2003, Vista
Red Hat Enterprise Linux (RHEL) 4,5
SuSE 9.3, 10.1, 10.2
SUSE Linux Enterprise Server (SLES)
Fedora Core 5,6
Прочее Copyback DVRAID Copyback Controller Spanning
Гарантия 3 года 2 года 3 года 3 года
Рекомендованная розничная цена $575 $1 095 $650

Системное аппаратное обеспечение
Процессоры 2x Intel Xeon (ядро Nocona), 3,6 ГГц, FSB800, 1 Мбайт кэша L2
Платформа Asus NCL-DS (Socket 604), чипсет Intel E7520, BIOS 1005
Память Corsair CM72DD512AR-400 (DDR2-400 ECC, reg.), 2x 512 Мбайт, задержки CL3-3-3-10
Системный жёсткий диск Western Digital Caviar WD1200JB, 120 Гбайт, 7 200 об/мин, кэш 8 Мбайт, UltraATA/100
Контроллеры накопителей Intel 82801EB UltraATA/100 (ICH5)
Promise SATA 300TX4
Promise FastTrak TX4310
Драйвер 2.06.1.310
Сеть Broadcom BCM5721 встроенная 1 Гбит/с
Видеокарта Встроенная ATI RageXL, 8 Мбайт
Тесты
Тесты производительности Atto Diskmark
Производительность ввода/вывода IOMeter 2003.05.10
Fileserver Benchmark
Webserver Benchmark
Database Benchmark
Workstation Benchmark
Системное ПО и драйверы
ОС Microsoft Windows Server 2003 Enterprise Edition,Service Pack 1
Драйвер платформы Intel Chipset Installation Utility 7.0.0.1025
Графический драйвер Графический драйвер Windows по умолчанию

Результаты тестов

Время инициализации RAID

Мы использовали восемь винчестеров Seagate Savvio 10K.2 и определяли время, которое требовалось контроллерам на создание массивов RAID 5 или RAID 6.

Контроллер RAID 5 RAID 6
1 час 12 минут 1 час 2 минуты
Atto 23 минуты Н/Д
57 минут 57 минут
2 часа 42 минуты

Вполне понятно, что контроллеры с самыми быстрыми XOR-процессорами оказались самыми быстрыми. Впрочем, все контроллеры поддерживают фоновую инициализацию, которая снижает производительность, но позволяет сразу же пользоваться массивом.

Пропускная способность пониженного RAID 6

Все четыре контроллера весьма мощные и обеспечивают высокую производительность хранилища и большой набор функций, позволяющих создавать гибкие и высокопроизводительные массивы для серверов среднего и начального уровней. Все контроллеры имеют восемь портов SAS, но к ним можно подключать и винчестеры SATA, включая смешанные варианты SAS/SATA. С помощью расширителей SAS (expander) вы можете подключать большее количество винчестеров. Как мы считаем, четыре рассмотренных контроллера подходят для подключения вплоть до 12 жёстких дисков, поскольку большинство моделей нацелены на внутренние жёсткие диски. Если вы хотите подключать внешние оснастки, то обратите внимание на модели с внешними портами Mini-SAS.

Контроллер ICP 5085BL очень близок к Adaptec RAID 3805, но обеспечивает более высокую производительность благодаря более быстрому XOR-процессору и в два раза большему объёму кэш-памяти. Впрочем, и цена несколько выше: рекомендованная $650 вместо $575 у Adaptec RAID 3805. Обе карты дают впечатляющий набор функций и поставляются с полным набором ПО, который за последние годы немало улучшился. Не будем забывать, что Adaptec - один из самых именитых игроков на рынке профессиональных систем хранения. Atto запрашивает за свой контроллер $1 095, причём за такую цену вы получите меньшее число функций RAID (за исключением поддержки RAID 4), да и вам потребуется выполнить дополнительную настройку контроллера, чтобы он работал быстрее. Ничего страшного, но при настройках по умолчанию выключена функция, ускоряющая производительность чтения. Контроллер даёт хорошие результаты с пониженным массивом RAID 5, поскольку производительность записи не падает, в отличие от других продуктов.

Raidcore поставляет наиболее функциональное программное обеспечение, что является результатом другой архитектуры: она привязана к host-машине и зависит от её производительности. К сожалению, Raidcore пока не поддерживает RAID 6 (собственно, как и Atto), но вы можете распределять массивы RAID по нескольким контроллерам Raidcore, при этом уровень производительности в тестах ввода/вывода на нашем двухпроцессорном сервере Xeon оказался великолепным. Скорости передачи данных были тоже высоки, но другие контроллеры обычно обходят Raidcore в данной дисциплине.

Если вы не против того, чтобы контроллер нагружал host-сервер расчётами XOR и список поддерживаемых ОС вас устраивает, то модель Ciprico/Raidcore обеспечит великолепное соотношение цена/качество. Впрочем, Adaptec даёт более высокую производительность во многих областях, да и цена $575 тоже вполне разумная.

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

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

Что такое RAID?

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

Когда используется RAID?

Обычно RAID используется для повышения производительности и избыточности.

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

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

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

Недостатками RAID являются:

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

Аппаратный и программный RAID

RAID можно реализовать с помощью разных технологий.

Аппаратный RAID

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

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

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

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

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

Программный RAID

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

Преимущества программного RAID:

  • Гибкость: управление RAID происходит с помощью операционной системы, потому такой массив можно настроить из работающей системы без перенастройки оборудования. Особенной гибкостью отличается программный RAID Linux, который предлагает много различных типов конфигурации RAID.
  • Открытый код: реализация программного RAID для систем с открытым исходным кодом (например Linux и FreeBSD) тоже является открытой. Вы можете легко прочитать и внедрить код в другие системы. К примеру, RAID-массив, созданный в Ubuntu, можно легко переместить на сервер CentOS. При этом почти нет риска потерять доступ к данным из-за программных различий.
  • Никаких дополнительных расходов: программный RAID не требует специального аппаратного обеспечения.

Недостатки программного RAID:

  • Зависимость от реализации: программный RAID не привязан к конкретному оборудованию, однако он обычно зависит от конкретной реализации. Linux использует mdadm, FreeBSD – RAID на основе механизма GEOM, Windows – собственную версию RAID. Реализации RAID с открытым исходным кодом можно читать и перемещать, только если формат совпадает. Разные реализации программного RAID обычно несовместимы.
  • Ресурсные затраты: В течение всего срока существования программный RAID критикуют за повышенное ресурсопотребление. Управление массивом занимает циклы процессора и память, которые можно использовать для других целей. Такие программные реализации как mdadm почти устраняют эту проблему на современном оборудовании; теперь расход ресурсов процессора сведён к минимуму и в большинстве случаев незначителен.

Полуаппаратный RAID (Fake RAID)

Третий тип RAID-массивов называется полуаппаратным (также он известен как Fake RAID). Его особенность заключается в разделении обработки данных: управление RAID-массивом выполняет контроллер (как правило, для этого достаточно недорогого контроллера), а обработку данных берёт на себя операционная система.

Преимущества полуаппаратного RAID:

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

Недостатки полуаппаратного RAID:

  • Ограниченная поддержка: обычно полуаппаратный RAID поддерживает только RAID 0 или RAID 1.
  • Необходимо специальное оборудование: как и аппаратный RAID, полуаппаратный RAID привязан к устройствам, с помощью которых был создан массив. Особенно сложно, если эта проблема затрагивает материнскую плату: в случае замены RAID-контроллера придётся поменять и плату, чтобы получить доступ к данным.
  • Ресурсные затраты: как и программный RAID, полуаппаратный RAID забирает ресурсы системы для обработки данных.

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

Терминология RAID

Ниже приведены общие термины RAID, которые нужно знать.

  • Уровень RAID характеризует отношения между компонентами устройства хранения данных. Устройства могут быть по-разному сконфигурированы, что приводит к различиям в эксплуатационных характеристиках и избыточности данных. Больше об уровнях RAID можно узнать в специальном разделе этого руководства.
  • Чередование – это процесс разделения операций записи между компонентами массива; при этом данные делятся на куски, каждый из которых записывается, по меньшей мере, на один из базовых дисков. Эта стратегия используется многими уровнями RAID.
  • Размер куска – это объём данных, которые будут находиться в каждом куске. Настраивая размер куска, нужно учитывать характеристики потоков ввода и вывода – так можно оптимизировать производительность массива.
  • Четность – это механизм целостности данных, реализованный посредством вычисления информации из блоков данных, записанных в массив. Информация о четности может быть использована для восстановления данных в случае сбоя диска. Расчет четности помещается на отдельное устройство, которое вычисляет данные и (в большинстве случаев) распределяет их по доступным дискам. Это позволяет повысить повышения производительность и избыточность.
  • Деградированный массив: массивы с избыточностью данных могут страдать от разного рода сбоев, и если в результате сбоя один из дисков прекращает работу, массив переходит в «деградированный режим». Деградированные массивы можно восстановить до обычного состояния путём замены неисправного оборудования. В деградированных массивах наблюдается снижение производительности.
  • Синхронизация (или перенос актуальных данных) – это восстановление деградированного массива. В зависимости от конфигурации и ошибки в массиве RAID, синхронизация выполняется путём копирования данных из существующих файлов, либо путём вычисления данных по чётности.
  • Вложенные массивы – это группы RAID-массивов, которые можно объединять в более объемные массивы. Часто массивы с избыточностью (как RAID 1 и RAID 5) используются для построения массива RAID 0.
  • Span – это: 1) два или больше дисков, объединённые в одно логическое устройство без изменения производительности и избыточности. Такой режим также называется линейным RAID (примером является mdadm); 2) нижние уровни массивов, которые объединяются для формирования вложенного RAID-массива (RAID 10, например).
  • Проверка массива – это процесс чтения каждого блока в массиве с целью обнаружить ошибки целостности данных. Это позволяет вовремя выявить и восполнить недостающие куски данных.

Уровни RAID

Характеристики RAID-массива определяются его уровнем. Рассмотрим самые распространённые уровни.

RAID 0

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

Недостатки такого массива:

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

RAID 1

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

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

  • Как и в RAID 0, теоретическую скорость чтения можно рассчитать, умножив скорость чтения отдельного диска на количество дисков в массиве. Однако при этом максимальная теоретическая производительность – это производительность самого медленного устройства в массиве (это потому, что все данные записываются на каждое устройство массива).
  • Кроме того, общая емкость массива – это, опять же, емкость самого маленького диска. Таким образом, массив RAID 1 из двух устройств одинакового размера будет иметь полезную емкость одного диска. Дополнительные диски могут увеличить количество избыточных копий данных, но это не приведет к увеличению объема доступной мощности.

RAID 5

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

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

  • Как и другие массивы с чередованием, RAID 5 увеличивает производительность операций чтения (так как данные можно прочитать с любого диска).
  • Блоки четности позволяют полностью восстановить данные, если случится сбой.
  • Поскольку блоки четности распределены (некоторые менее распространенные уровни RAID используют выделенный диск четности), каждый диск имеет сбалансированное количество информации о четности.
  • В отличие от массива RAID 1, чья ёмкость ограничена размером одного диска, RAID 5 может обеспечить уровень избыточности за счет пространства всего одного диска. Таким образом, четыре диска по 100G в массиве RAID 5 дают 300G полезного пространства (один диск будет занят информацией четности).

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

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

RAID 6

RAID 6 – аналог массива RAID 5, дисковый массив с чередованием и двумя дисками контроля чётности. Такой массив может выдержать сбой двух дисков. Это является существенным преимуществом в связи с увеличением вероятности дополнительного сбоя диска во время интенсивного восстановления после сбоя. Как и другие уровни RAID с чередованием данных, скорость операций чтения, как правило, достаточно высока. Кроме того, RAID 6 имеет все преимущества массива RAID 5.

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

  • Двойная чётность массива уменьшает его емкость. Это означает, что общая емкость массива представляет собой объединённое пространство всех дисков минус два диска.
  • Расчет данных о четности в RAID 6 сложнее, чем в RAID 5, что может привести к ухудшению производительности операций записи.
  • RAID 6 имеет те же проблемы с деградацией массива, что и RAID 5 (однако дополнительный избыточный диск уменьшает вероятность дополнительных отказов во время восстановления).

Вложенный RAID 1+0

Традиционно массив RAID 10 считается вложенным массивом; по сути, это массив RAID 0, состоящий из двух и больше массивов RAID 1. Сегодня RAID 10 также называют RAID 1+0. В целом такая архитектура требует минимум 4 диска: RAID 0 чередуется по двум массивам RAID1, в каждом из которых минимум два устройства.

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

RAID 10 в mdadm

Массивы Linux (mdadm) предлагают собственную версию RAID 10, который имеет преимущества RAID 1+0, но при этом обладает гибкостью и некоторыми дополнительными функциями.

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

Такой массив имеет ряд преимуществ.

  • Он не зависит от массивов, используемых для его сборки, что позволяет использовать нечётное количество дисков.
  • Минимальное количество дисков уменьшается до 3.
  • Также можно настроить количество копий данных.

Управление массивом становится проще.

Tags:
Понравилась статья? Поделитесь с друзьями!