Sata raid контроллер что это
Всё, что вы хотели узнать о RAID-контроллерах, но лень было искать
Дисковый массив с нотками ретро.
На плечах RAID-контроллеров лежит ответственная задача — управление дисковой подсистемой, то есть всей информацией, хранимой на сервере. Именно они отвечают за работу дисковых массивов, позволяя повысить производительность сервера или надёжность хранения данных. Поэтому давайте поговорим о RAID-контроллерах, установленных в серверы вендоров «большой тройки», об их возможностях и особенностях.
Что такое RAID-контроллер?
Чаще всего задачи, выполняемые серверами, требуют высокой скорости чтения/записи данных и/или необходимость сохранить данные при выходе из строя самих накопителей. Поэтому установка в сервер единственного диска редко имеет смысл. Этот вариант можно рассматривать, если нагрузка будет совсем небольшой, а сохранность данных не волнует вовсе. Да и объёмы информации, которыми оперируют серверы, часто требуют куда больше пространства для хранения, чем может дать один диск. А чем больше накопителей, тем выше вероятность выхода из строя, особенно при высокой нагрузке.
Проблемы производительности и отказоустойчивости дисковой подсистемы решаются с помощью создания массивов: логических структур, в которые с помощью RAID-контроллера объединяется несколько накопителей — жёстких дисков и SSD. При этом массив выглядит для системы единым пространством для хранения данных.
Существует много видов массивов, отличающихся производительностью, надёжностью хранения данных и минимально необходимым количеством дисков. Выбор конкретного вида зависит от ваших задач и потребностей, а также от возможностей самого RAID-контроллера.
RAID-контроллеры делятся на:
Если на борту RAID-контроллера есть кэш-память, то она может использоваться для промежуточного хранения записываемых или считываемых данных. Это позволяет эффективнее управлять операциями ввода/вывода.
Чтобы при сбое питания не потерять данные, находящиеся в кэше, используется два разных подхода:
Некоторые RAID-контроллеры позволяют увеличить объём кэш-памяти и установить батарейку, если они её не имеют. Чем больше размер кэша контроллера, тем выше производительность RAID-массивов.
RAID-контроллеры в серверах «большой тройки»
Чтобы не превращать статью в археологическое исследование, ограничимся только теми контроллерами, что используются в поколениях серверов начиная с 2009-2010:
HP: Gen7, Gen8, Gen9
Dell: Gen11, Gen12, Gen13
IBM: M3, M4, M5
Дальше идут громоздкие и скучные таблицы.
Большинство RAID-контроллеров HP и Dell изначально поддерживают все основные виды массивов. У IBM таких моделей — по пальцам пересчитать, почти в каждом случае придётся устанавливать на контроллер 1-2 дополнительных модуля апгрейда, что не слишком удобно.
Другая интересная особенность RAID-контроллеров IBM — большинство из них применяются в серверах нескольких поколений. У HP и Dell другая склонность — с выпуском нового поколения серверов они обычно выпускают и новое поколение контроллеров.
Как выбрать подходящий контроллер?
Если вы решили апгрейдить сервер и озаботились выбором RAID-контроллера, то в первую очередь исходите из ваших потребностей.
Вам нужна хорошая производительность, но не волнует сохранность данных? Или хочется с небольшими усилиями повысить отказоустойчивость, поступившись скоростью? Понадобился простенький веб-сервер для нужд разработки? Достаточно выбрать недорогой контроллер и создать RAID 0 или 1. Можно даже без кэш-памяти.
При желании сэкономить на накопителях или выжать всю возможную ёмкость из имеющихся, рассмотрите вариант с RAID 5 или 50. Это вполне годное решение для создания архивов. Для таких задач достаточно взять контроллер с поддержкой нужного вида RAID и кэш-памятью среднего объёма.
При создании высокоскоростных и надёжных массивов под базы данных, или больших хранилищ под файловые серверы, нужны производительные контроллеры с большим объёмом кэш-памяти и высокой пропускной способностью. Это тот случай, когда экономия на одном устройстве может свести на нет все ваши усилия.
SATA RAID-контроллеры: теория и практика
Цель этой статьи — познакомить читателя с SATA RAID-контроллерами разной направленности и производительности, дать «срез» рынка — от самых простых устройств до мощных автономных систем хранения со встроенными мультипроцессорами.
ATA-диски и ATA-интерфейс прошли длительную эволюцию и все успешнее конкурируют со SCSI-устройствам на рынке серверов и рабочих станций. Современный интерфейс SATA (в сущности, простое соединение «точка-точка» между диском и контроллером) быстро проникает в серверы — во многом благодаря таким особенностям SATA-дисков, как высокая емкость и низкая стоимость мегабайта дискового пространства. Работа менее надежных по сравнению со SCSI SATA-дисков в ответственных приложениях становится возможной благодаря технологиям RAID, и сегодня десятки фирм предлагают широчайший спектр SATA RAID-контроллеров. В подобном разнообразии довольно трудно сориентироваться, и цель этой статьи — познакомить читателя с SATA RAID-контроллерами разной направленности и производительности, дать «срез» рынка — от самых простых устройств до мощных автономных систем хранения со встроенными мультипроцессорами. Но сначала кратко ознакомимся (кто-то просто освежит в памяти) с собственно технологией RAID без привязки к конкретному дисковому интерфейсу.
Немного теории: уровни RAID
За двенадцать лет существования RAID было написано множество превосходных статей и книг, посвященных этой технологии, поэтому мы не будем глубоко анализировать влияние размера страйп-блока на скорость произвольного доступа или пристально разглядывать распределение данных по дискам. Кратко рассмотрим основные RAID-уровни — RAID 0, 1, 5, 50 — и обсудим их практическое применение. Еще один «уровень» RAID — JBOD (Just a Bundle Of Disks) — просто набор дисков без организации RAID.
• RAID0 объединяет все N дисков в массив, емкость которого равна N*(емкость наименьшего диска). При этом данные расщепляются (striped) блоками по всем дискам массива. Если поступает запрос на чтение/запись логически последовательных блоков, то происходит параллельное обращение, и скорость операций ввода-вывода увеличивается. Практически это означает две вещи: 1) cбой приводит к потере данных; 2) скорость потокового чтения/записи при некотором оптимальном размере страйп-блока увеличивается почти пропорционально числу дисков в массиве (!). Конечно, пропускная способность шины RAID-контроллера и сбалансированность его внутренней архитектуры имеют огромное значение. В общем, это неприемлемое для серверов решение может использоваться для работы с большими файлами на рабочей станции — при обработке видео, некоторых научных вычислениях, для собственного удовольствия и т. д. Если вы все-таки соблазнились высокой скоростью RAID0, обязательно продумайте маломальскую систему резервного копирования (backup).
• RAID1 — отказоустойчивый массив из пары дисков. При записи данные с первого диска дублируются на втором (так называемое зеркалирование). Это эффективное и сравнительно простое в реализации решение обладает существенным недостатком — объем дискового пространства массива равен емкости наименьшего диска (например, если объединить в RAID1 диски на 30 и 40 Гбайт, то доступно будет только 30 Гбайт). У RAID1 есть приятные особенности — можно уменьшить время доступа к массиву по сравнению с одиночным диском благодаря оптимизации запросов на чтение. Кроме того, скорость чтения тоже может значительно повыситься из-за параллельного считывания с двух дисков. В серверных приложениях RAID1 может показывать гораздо большую производительность, чем одиночный диск или даже RAID0, но это верно не для всех приложений и, к сожалению, не для всех контроллеров. Так что будьте внимательны при покупке.
• RAID5 использует независимый доступ к дискам, так что запросы к разным дискам могут выполняться параллельно. Избыточность достигается путем размещения блоков четности циклически по всем дискам массива. При сбое какого-либо диска информацию можно восстановить, используя данные на оставшихся дисках. Емкость такого массива равна (N–1)*(емкость наименьшего диска). Минимальное число дисков для реализации массива равно трем. Причем для вычисления четности (а это нужно при каждой операции записи) необходимо вычислить функцию XOR для записываемых битов. Большинство контроллеров используют для этого специализированные процессоры, но некоторые выполняют операцию программно, силами центрального процессора.
Итак, независимый доступ дает возможность массивам RAID5 достигать высокой производительности в серверных приложениях с высокой частотой транзакций, при этом достаточно экономно расходуя дисковое пространство для обеспечения избыточности. RAID5 — очень распространенное и разумное решение для самых разных серверов.
• RAID10 — массив RAID0, элементами которого являются массивы RAID1. Цель — объединить высокую производительность RAID0 с отказоустойчивостью RAID1. В последнее время часто встречается в недорогих контроллерах.
• Идея RAID50 в том, чтобы объединить отказоустойчивость и высокую скорость обработки транзакций RAID5 с высокой скоростью потокового чтения/записи RAID0. RAID50 представляет собой RAID0-массив, элементами которого являются массивы RAID5. Это хорошее серверное решение, но для его реализации требуется как минимум шесть дисков. Читать дальше >>>
Ground Zero — два порта
Самые простые контроллеры поддерживают два порта SATA (максимум два винчестера). В такой конфигурации доступны всего два уровня RAID — 0 и 1. Исключение — контроллер Promise TX2plus с каналом ATA-133, благодаря чему можно подключить еще два диска. Такие типичные для «серьезных» контроллеров функции, как горячая замена дисков или резервное питание батареи, обычно не поддерживаются, поэтому в случае сбоя придется изрядно потрудиться, восстанавливая массив (см. табл. 1).
Promise FastTrak S150 TX2plus.
Adaptec SATA RAID 1210SA.
Таблица 1. Характеристики двухпортовых контроллеров
RAID-контроллер
RAID контроллер — это плата или чип, расположенный между операционной системой и накопителями, обычно жесткими дисками, управляющая массивом RAID.
Массив RAID — это группа дисков, которые вместе действуют как единая система хранения.
RAID — это метод повышения производительности и надежности, позволяющий хранить одни и те же данные в разных местах на нескольких жестких дисках. Контроллеры RAID содержат в себе инструкции или протоколы для выполнения этой задачи и управляют ими.
Существует множество классификаций уровней массивов RAID. Обычно используемые типы RAID включают RAID 0 (чередование данных), RAID 1 (зеркальное отображение диска) и контроллер RAID 5 (чередование с распределенной четностью). Все уровни и типы RAID конфигураций вы можете найти тут.
Контроллеры RAID классифицируются по нескольким характеристикам, включая типы дисков, такие как SATA или SAS, количество портов и количество дисков, которые они могут поддерживать, конкретные уровни RAID, архитектуру интерфейса и объем памяти, существующий в собственном кэше. Например, это означает, что контроллер, изготовленный для среды SATA, не будет работать с массивом SAS, и что контроллер RAID 1 не может быть преобразован в RAID 10.
Контроллеры RAID не являются контроллерами хранилища. Контроллеры хранения представляют собой активные диски для ОС, а контроллер RAID действует как кэш ОЗУ и обеспечивает функциональность RAID. Количество и тип RAID-дисков зависит от конфигурации RAID-контроллера.
Конфигурации RAID-контроллеров
Контроллеры RAID доступны в двух основных конфигурациях: в виде шин или плат контроллера и внешних периферийных устройств. Аппаратный RAID на основе шины или платы контроллера — это обычный тип аппаратного RAID, который чаще всего используется для систем начального уровня. Эта специализированная карта RAID-контроллера (компьютерная плата) устанавливается в ПК или сервер, и к ней подключаются диски массива. По сути, он заменяет хост-адаптер SCSI или контроллер IDE / ATA, который обычно используется для взаимодействия между системой и жесткими дисками; он взаимодействует с дисками, используя SCSI или IDE / ATA, и отправляет данные остальной части ПК по системной шине (обычно PCI). Эти устройства часто называют контроллерами SCSI Raid, контроллерами RAID хоста SCSI или контроллерами PCI RAID. Некоторые материнские платы, особенно предназначенные для серверных систем, поставляются с некоторым вариантом встроенного драйвера контроллера RAID. Они встроены в материнскую плату, но работают точно так же, как дополнительная плата на базе шины. Единственное отличие состоит в том, что встроенные контроллеры могут снизить общую стоимость.
Внешние RAID-контроллеры
Внешние RAID-контроллеры представляют собой автономные устройства блочного типа для использования с системами проектирования более высокого уровня. В этом случае RAID контроллер полностью выносится из системы в отдельный ящик. В отличие от плат контроллера RAID, они не монтируются в корпусе для плат или на материнской плате. Внутри коробки RAID-контроллер управляет дисками в массиве, обычно используя SCSI, а затем представляет логические диски массива через стандартный интерфейс (опять же, как правило, вариант SCSI) серверу, использующему массив. Сервер видит массив или массивы как один или несколько очень быстрых жестких дисков; RAID полностью скрыт от машины. По сути, одно из этих устройств действительно представляет собой целый компьютер с выделенным процессором, который управляет массивом RAID и действует как канал между сервером и массивом.
RAID может быть аппаратным или программным
Аппаратный RAID находится на плате контроллера PCI-X или PCIe или на интегрированной материнской плате. RAID-on-Chip (ROC).
Программный RAID полностью работает на центральном процессоре системы главного компьютера.
Преимущества RAID-контроллеров
Архитектура контроллера аппаратного дороже, чем программный RAID-массив, но увеличивает производительность системы и не подвержена ошибкам загрузки.
Что такое RAID-массив и зачем он нужен
Содержание
Содержание
В системах хранения данных критически важны сохранность и время восстановления в случае сбоя. Свою ценность, а в некоторых задачах и более высокую, имеет скорость работы накопителей. Использование RAID-массивов в различных конфигурациях — это поиск компромисса между перечисленными параметрами.
RAID — это технология объединения двух и более накопителей в единый логический элемент с целью повышения производительности и (или) отказоустойчивости отдельно взятого элемента массива.
RAID-массивы классифицируются по следующим параметрам:
RAID-контроллеры: аппаратные и не очень
По исполнению контроллеры делятся на программные и аппаратные. Программные реализуются непосредственно средствами операционной системы или на уровне материнской платы. Последние также известны как интегрированные, а также Fake-RAID. Они работают быстрее чисто софтверных решений за счет специального чипа для управления массивом. Недавно публиковался текст о развертывании таких технологий. Дополнительной железки при этом никакой нет и в любом случае будут использоваться ресурсы вычислительной машины.
Аппаратные RAID-контроллеры выполняются в форм-факторе платы PCIe либо в составе внешнего автономного устройства — дискового массива.
Они имеют на борту собственные процессор, память, BIOS и специальный интерфейс для конфигурации. Платы PCIe также комплектуются дополнительными модулями, сохраняющими данные, если произойдет сбой в электропитании: BBU с Li-Ion аккумулятором и ZMCP на базе суперконденсатора.
Оба модуля позволяют сделать сэйв содержимого кэша. После восстановления работы эти данные будут немедленно записаны на диск. Дисковый массив, будучи автономным, располагает собственными блоком питания и системой охлаждения.
Накопители подключаются к плате либо кабелями напрямую, либо через платы расширения. Автономные дисковые массивы содержат все накопители внутри себя, а наружу смотрит все тот же интерфейс PCIe (есть и другие варианты, например, USB 3.2 и Thunderbolt 3). Кстати, известный вид дисковых массивов — сетевое хранилище данных (NAS).
Что можно подключать к RAID-контроллеру
Следующий важный параметр, по которому различаются RAID-массивы, это поддержка интерфейсов накопителей. Не будем тревожить склеп с IDE-дисками, а констатируем, что по большому счету применяются три типа: SATA, SAS и NVMe. SAS — удел серверов, а вот остальные применяются повсеместно.
Есть программные и аппаратные RAID-контроллеры, которые умеют управлять массивом дисков с одним из интерфейсов. В формате PCIe есть и такие платы, которые реализуют режим Tri-Mode, позволяющий работать со смешанным составом накопителей.
Уровни RAID
Разобравшись с основными конструктивными особенностями RAID-контроллеров, перейдем к главной характеристике — поддержке уровней RAID. В подавляющим большинстве контроллеры работают с уровнями 0, 1, 1E, 10, 5, 5EE, 50, 6, 60. Другие занесены в красную книгу и на практике встречаются редко. Простейшие программные контроллеры позволяют создать RAID 0 и 1. Более продвинутые добавляют RAID 10 и 5. В аппаратных, как правило, такой перечень минимален, и многие платы поддерживают весь спектр уровней. Рассмотрим подробнее каждый из них.
Несколько важных нюансов для понимания эффективных объема и быстродействия, получаемых в результате объединения в массив:
RAID 0
Единственный массив, который не совсем оправдывает название, поскольку не обладает избыточностью. При этом скорость и эффективный объем максимальны. Данные разбиваются на одинаковые блоки, равномерно записываемые на все диски по очереди. Эти блоки называются страйпами, отсюда и сам RAID 0 часто именуют страйпом. Считывание данных также происходит параллельно. Здесь конечно же есть свое но.
Дело в том, что прирост производительности не прямо пропорционален количеству дисков (как хотелось бы). В силу специфики накопителей, особенно механических, выигрыш в конфигурации RAID 0 хорошо заметен только на операциях последовательного чтения. Другими словами, при работе с большими файлами. Типичная область применения — игры, видеомонтаж и рендеринг. При условии, что регулярно производится резервирование на сторонние накопители. Наряду с этим при случайном доступе к файлам разница с отдельно взятым диском уже не так ощутима. Более позитивная картина наблюдается в случае твердотельных накопителей, но они и так удовлетворяют большинству запросов по быстродействию.
В общем, в современных реалиях RAID 0 далеко не всегда оправдает свое применение, а основная задача RAID-массива все же в повышении надежности хранения данных.
Обратная сторона медали за скорость как раз в отсутствии избыточности, что означает нулевую отказоустойчивость. В случае сбоя хотя бы одного из элементов массива, восстановление всего содержимого практически невозможно.
RAID 1
RAID 1, известный как «зеркало», представляет собой другую крайность. Он максимально избыточен — в нем производится 100 % дублирование данных. Этот процесс «съедает» ровно половину объема массива. Число дисков в нем, соответственно, четное. Позволяет увеличить скорость чтения, но синхронная скорость записи в некоторых случаях падает. При отказе одного из дисков работа автоматически продолжается с дублером. Если доступна функция горячей замены дисков, то восстановление штатного режима происходит без остановки. RAID 1 идеален для чувствительных данных.
RAID 5
Состоит минимум из трех накопителей, при этом доступный объем уменьшается на один. Данные записываются в страйпы на все диски кроме одного, на котором размещается контрольная сумма этой части данных. Запись этого блока также чередуется между всеми накопителями, распределяя равномерную нагрузку. Если их больше четырех, то скорость чтения будет выше чем в RAID 1, но запись будет осуществляться медленнее. Контрольные суммы позволяют достать информацию в случае выхода из строя одного из элементов. Сама операция восстановления вызывает повышенную нагрузку на оставшиеся диски. Значительно падает производительность и риск утери всех данных в случае отказа еще одного диска. Желательно иметь опцию горячей замены для оперативного возвращения в нормальный режим работы.
Со всеми плюсами и минусами эти три уровня наиболее распространены и просты в развертывании.
RAID 6
Развитие RAID 5 по части надежности, позволяющее пережить потерю двух дисков. В данной конфигурации в каждом проходе пишется две независимые контрольные суммы на два накопителя. Требуется минимум четыре диска, из которых два уйдет на описанный алгоритм повышения отказоустойчивости. При этом скорость записи будет еще ниже, чем у RAID 5.
Следующие уровни — производные и комбинации перечисленных.
RAID 10
Неплохо было бы объединить достоинства RAID 0 (производительность) и RAID 1 (отказоустойчивость)? Встречайте RAID 10: страйп и зеркало, два в одном. Но и недостатки не забудьте — по-прежнему половина объема уходит на резерв. А что делать, за надежность приходится платить. В этом плане менее экономичен, чем RAID 5 И RAID 6, но более прост в восстановлении после сбоя.
RAID 50
По похожей схеме получаем RAID 50. Здесь уже страйпы не зеркалируются, а распределяются по двум и более массивам RAID 5. Требуется от шести дисков, скорость чтения значительно увеличивается. Кроме того, нивелируется и слабое место RAID 5 и RAID 6 — низкая скорость записи. Отрицательная сторона опять лежит в плоскости экономики. Из эффективного объема выпадают два диска, как и RAID 6, при этом массив выдержит потерю только одного.
RAID 60
Данный гибрид RAID 0 и RAID 6 призван решить проблему производительности последнего. Отказоустойчивость остается на том же уровне, как и часть объема накопителей, отводимая на реализацию алгоритмов контроля целостности данных. Дисков для такого удовольствия понадобится как минимум восемь.
RAID 1E
Еще одна вариация совмещения алгоритмов зеркалирования и чередования данных. Записанные на одной итерации страйпы повторно записываются на следующей, но в обратном порядке. Таким образом в RAID 1E можно использовать три диска. Массив останется тем же зеркалом с эффективным объемом, равным половине от исходного.
RAID 5EE
Один из вариантов использования RAID 5 с резервным диском. Отличается тем, что этот диск не простаивает до выхода из строя одного из элементов массива, а используется наряду с другими. На каждой итерации помимо страйпов данными и контрольной суммой записывается резервный блок. Сделано это для ускорения процесса сборки массива в случае нештатной ситуации. Платой за такую опцию становится второй диск, исключаемый из эффективного объема RAID 5EE.
В таблице ниже приведены сравнительные характеристики рассмотренных уровней RAID.
Не забудем и про массив с незатейливым названием JBOD (дословно переводится как «просто связка дисков»). Строго говоря, он не является RAID-массивом. Это объединенные в один несколько дисков без дополнительной функциональности. Позволяет развернуть логический диск с объемом, который недоступен в рамках одного накопителя. Такой диск полезен для перемещения файлов больших размеров в несколько терабайт.
Вместо заключения напомним самое главное правило для всех, кто хранит данные в RAID-массиве: RAID-массив ≠ бэкап! Регулярно делайте резервные копии данных на независимые носители и да пребудет с вами сила.