Всё, что вы хотели узнать о RAID-контроллерах, но лень было искать

7c4ed203491948b5a650e2c4fd331916.jpg

Дисковый массив с нотками ретро.

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

Что такое RAID-контроллер?


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

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

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

RAID-контроллеры делятся на:

  • Программные. Вся нагрузка по управлению массивом ложится на центральный процессор. Наименее производительное и отказоустойчивое решение.
  • Интегрированные. Встроены в материнскую плату. Отдельный чип выполняет часть задач по управлению, но всё же тоже задействует центральный процессор. Интегрированные контроллеры могут иметь собственную кэш-память. По сравнению с программными, поддерживают больше видов массивов, работают куда быстрее и надёжнее.
  • Аппаратные. Выполнены в виде плат расширения или отдельных устройств, размещаемых вне сервера (внешние, или мостовые контроллеры). Оснащены собственным процессором, выполняющим все необходимые вычисления, и, как правило, кэш-памятью. Модульные контроллеры могут иметь внешние и внутренние порты:
    • Внутренние — предназначены для подключения накопителей, установленных в сам сервер.
    • Внешние — используются для подключения внешних дисковых хранилищ.

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

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

Чтобы при сбое питания не потерять данные, находящиеся в кэше, используется два разных подхода:

  • контроллер оснащается собственной батарейкой (BBU — Battery Backup Unit), позволяющей хранить данные в памяти до 3 суток,
  • либо дополнительной флэш-памятью, питаемой от ёмкого конденсатора. При сбое питания в неё выгружает содержимое кэша. А поскольку флэш-память потребляет очень мало энергии, то и данные в ней сохраняются месяцами. Обратите внимание, что флэш-память используется только при сбое питания.

И как только сервер заработает, контроллер первым делом скидывает содержимое кэша на диск. При наличии батарейки можно активировать режим WriteBack: при записи на диск контроллер сообщит об успешном выполнении операции уже в тот момент, когда данные попадут в кэш, а затем в «фоновом» режиме скинет их на диски. Поэтому другие процессы проведут меньше времени в ожидании подтверждения.

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

RAID-контроллеры в серверах «большой тройки»


Чтобы не превращать статью в археологическое исследование, ограничимся только теми контроллерами, что используются в поколениях серверов начиная с 2009–2010:

HP: Gen7, Gen8, Gen9
Dell: Gen11, Gen12, Gen13
IBM: M3, M4, M5

Дальше идут громоздкие и скучные таблицы.

HP

c556953051814179a2cad588b3c59846.png
ec6716d75f914998a0959c19c4704927.png

Dell

41610ce3c9a342aea7555b066cad2abf.png
e2b0ed2819b34cb0b582fecb3e007292.png

IBM

f74ee894c12b41009fa02c17361a9d25.png
181d5fd43a024839b5034defc9b31a7c.png

Большинство RAID-контроллеров HP и Dell изначально поддерживают все основные виды массивов. У IBM таких моделей — по пальцам пересчитать, почти в каждом случае придётся устанавливать на контроллер 1–2 дополнительных модуля апгрейда, что не слишком удобно.

Другая интересная особенность RAID-контроллеров IBM — большинство из них применяются в серверах нескольких поколений. У HP и Dell другая склонность — с выпуском нового поколения серверов они обычно выпускают и новое поколение контроллеров.

Как выбрать подходящий контроллер?


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

Вам нужна хорошая производительность, но не волнует сохранность данных? Или хочется с небольшими усилиями повысить отказоустойчивость, поступившись скоростью? Понадобился простенький веб-сервер для нужд разработки? Достаточно выбрать недорогой контроллер и создать RAID 0 или 1. Можно даже без кэш-памяти.

При желании сэкономить на накопителях или выжать всю возможную ёмкость из имеющихся, рассмотрите вариант с RAID 5 или 50. Это вполне годное решение для создания архивов. Для таких задач достаточно взять контроллер с поддержкой нужного вида RAID и кэш-памятью среднего объёма.

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

Комментарии (2)

  • 6 июля 2016 в 15:02

    0

    А для простых офисных решений есть смысл покупать контроллер или можно обойтись программным решением?
    • 6 июля 2016 в 15:08

      0

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

© Habrahabr.ru