RAID и RAID-контроллеры

Как выбрать RAID-контроллер: совместимость, кэш, SAS, SSD и NVMe

Подбор RAID-контроллера начинают с проверки всей цепочки: сервер, слот, корзина, кабели, накопители и ОС. Затем оценивают топологию и необходимость защищённого кэша записи.

11 минут
RAID-контроллер рядом с серверной дисковой корзиной и накопителями SAS, SATA и NVMe
Выбирайте RAID-контроллер не по числу портов или объёму кэша, а по полной схеме подключения: модель сервера и PCIe-слот, корзина, кабели, экспандер, типы накопителей, прошивки и ОС. Защищённый Write-Back полезен прежде всего при интенсивной мелкой записи и RAID с чётностью; для преимущественно читающей или нетребовательной к задержке нагрузки может хватить модели без собственного кэша. NVMe, SAS/SATA и tri-mode требуют отдельных проверок транспорта по всей цепочке.

Порядок выбора RAID-контроллера

Собирайте данные до покупки. Проверка только совпадения PCIe-разъёма не подтверждает работоспособность или официальную поддержку конфигурации.

  1. 1
    Зафиксируйте платформу сервера и слот
    Запишите производителя, точную модель и поколение сервера, версию BIOS/UEFI, процессоры, свободный слот PCIe, его физический размер и электрическую ширину линий, например x8 или x16. Уточните, является ли слот низкопрофильным, требует ли контроллер специальный riser, модульный разъём или конкретную карту расширения. Проверьте доступные мощность и обдув: некоторые адаптеры рассчитаны на серверный воздушный поток и могут перегреваться вне штатного шасси.
  2. 2
    Опишите корзину и кабельную топологию
    Укажите модель дисковой корзины, число и тип отсеков, наличие SAS-экспандера, число его uplink-подключений к контроллеру и тип каждого разъёма на корзине и контроллере. Нужны номера кабелей, их длина, тип и назначение: внутренний, внешний, SAS/SATA или PCIe/NVMe. Нельзя считать совместимыми кабели только по внешнему сходству коннектора.
  3. 3
    Составьте перечень накопителей
    Для каждого диска зафиксируйте интерфейс — SAS, SATA или NVMe, форм-фактор, модель, прошивку, секторный формат, включая возможный 4Kn, и планируемый RAID-уровень. Для SSD дополнительно нужны ресурс записи, наличие защиты от потери питания и требования приложения к задержке записи.
  4. 4
    Сверьте официальную матрицу и руководства
    Для выбранного поколения сервера найдите у производителя серверную матрицу совместимости, руководство по установке и release notes контроллера. Сверяйте именно комбинацию «сервер — контроллер — корзина/бэкплейн — кабель — диск», а не отдельные списки. Зафиксируйте редакцию или дату документа, версии firmware, драйвера и утилиты управления для нужной версии Windows Server, Linux или VMware ESXi. Физически запускаемая комбинация без записи в матрице не становится официально квалифицированной.
  5. 5
    Оцените топологию и пропускную способность
    Посчитайте не только разъёмы на контроллере, но и число линий к корзине, число путей через экспандер и план расширения. Убедитесь, что лимиты контроллера и экспандера по физическим и логическим дискам не будут превышены.
  6. 6
    Выберите политику кэша и средства управления
    Сопоставьте профиль записи с возможностями контроллера: собственный кэш, режим Write-Back кэша, защита кэша и поведение при её неисправности. Отдельно убедитесь, что в вашей ОС доступны драйвер, мониторинг состояния массива, обновление прошивки и уведомления о сбое защиты кэша.

Что именно проверять в документации производителя

Для серверов с фирменными контроллерами особенно важна привязка к поколению платформы. Модели Dell PERC, HPE Smart Array, MegaRAID или Adaptec SmartRAID нельзя считать взаимозаменяемыми по одному названию семейства: поддержка корзин, модулей, дисков, кэша и NVMe меняется между поколениями. Источником для поддерживаемой схемы служат матрица совместимости и руководство именно для данного сервера и редакции контроллера.

Разъём не равен совместимости

Одинаковый форм-фактор PCIe не доказывает поддержку контроллера сервером. Одинаковый внешний вид или обозначение разъёма также не подтверждает назначение кабельной сборки, её разводку, направление подключения и возможность передавать PCIe/NVMe. Не подключайте неизвестный кабель к корзине или контроллеру без проверки артикулов и схемы из руководства для конкретной платформы.

Разъёмы, SAS PHY и число дисков: как оценить топологию

Разъём на плате — это физическая точка подключения кабеля. SAS PHY — отдельная линия SAS внутри контроллера или экспандера. Один многолинейный кабель может нести несколько PHY, но число линий зависит от конкретного порта и его реализации; его нельзя выводить только из обозначения SFF-8643, SFF-8654 или другого стандарта. Точное число линий, допустимые кабели и скорость каждого пути берите из спецификации выбранной модели.

  • Пассивная корзина: при прямой разводке каждый отсек связан с портом контроллера через бэкплейн и кабели. Предельное число непосредственно подключаемых дисков определяется числом доступных PHY, схемой корзины и кабелей.
  • Корзина с экспандером: экспандер позволяет адресовать больше накопителей, чем имеется прямых линий у контроллера. Но диски за ним делят пропускную способность uplink-путей между экспандером и контроллером.
  • Несколько uplink: некоторые экспандерные корзины допускают несколько соединений с контроллером. Их число и ширина должны соответствовать документации обоих устройств; лишний разъём не всегда означает дополнительную доступную полосу.
  • Расширение: заранее оставьте запас не только по отсекам, но и по лимитам контроллера и экспандера на физические устройства, логические диски и домены подключения.

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

Для SAS HDD вопрос обычно сводится к поддержке поколения SAS, корзины, экспандера и нужного числа путей. SATA-диск часто может работать за SAS-контроллером в совместимой SAS-корзине, но это нужно подтверждать для конкретной платформы; двухпортовая SAS-схема для обычного SATA-накопителя неприменима. Ограничения по смешиванию типов и скоростей дисков также задаёт конкретный контроллер и его firmware.

RAID-контроллер с кэшем: когда нужен защищённый Write-Back

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

Выбор контроллера по характеру нагрузки

СценарийЧто предпочтительноЧто проверить
База данных или виртуальные машины с мелкой случайной записьюКонтроллер с защищённым Write-Back, если тестирование подтверждает эффектСостояние защиты кэша, поведение при отказе, задержки под реальной нагрузкой
RAID с чётностью и активная записьЗащищённый Write-Back часто оправданПроизводительность полного и неполного stripe, лимиты массива и ресурс SSD
Преимущественно чтение, архив, умеренная записьМожет быть достаточно модели без собственного кэша или режима кэша со сквозной записьюФактические IOPS и задержка, требования приложения к подтверждению записи
Стек, которому нужны отдельные диски и телеметрияАппаратный RAID может быть стоп-критериемТребования к HBA, passthrough и программному RAID

Безопасный Write-Back требует исправной защиты энергозависимого кэша: BBU либо flash-backed cache, сохраняющего данные во флеш-память с помощью суперконденсатора, например реализации типа CacheVault. BBU поддерживает питание кэша, а flash-backed схема переносит его содержимое во флеш-память; это разные реализации с разным обслуживанием и диагностикой.

Незащищённый Write-Back создаёт риск потери подтверждённых записей

Если контроллер подтвердил запись, а данные остались только в энергозависимом кэше, внезапная потеря питания или сбой контроллера может привести к потере этих данных. Проверьте в документации, что конкретная модель делает при отсутствующей, разряженной или неисправной защите: переходит ли в Write-Through, отключает ли Write-Back, создаёт ли предупреждение и допускает ли принудительный небезопасный режим.

Контроллер без собственного кэша не означает, что кэши накопителей безопасны при отключении питания. Защита кэша контроллера и защита от потери питания внутри SSD — независимые свойства. Для SSD с критичными данными оценивайте оба уровня.

Критерии для SAS HDD, SATA SSD и NVMe SSD

Тип накопителейГлавные критерии выбораОсобые проверки
SAS HDDПоддержка поколения SAS, корзины, экспандера, числа PHY и нужного числа дисковКвалификация модели, firmware, секторный формат, ограничения корзины и контроллера
SATA SSDСовместимость SATA через выбранный SAS/SATA-путь, ресурс записи, PLPСквозная поддержка TRIM, firmware, политика работы с SSD и мониторинг
SAS SSDПоддержка SAS SSD, ресурс записи, PLP, производительность под очередьюПоддержка SCSI UNMAP по всей цепочке и квалификация конкретной модели
NVMe SSDПоддержка PCIe/NVMe контроллером или платформой, NVMe-бэкплейн и PCIe-коммутацияКабели, линии PCIe, режим RAID, ограничения платформы и совместимость конкретных SSD

Для SATA SSD команда освобождения блоков обычно называется TRIM, для SCSI/SAS-пути — UNMAP. Наличие такой функции в паспорте SSD или ОС не доказывает её прохождение через аппаратный RAID: поддержку нужно подтвердить для цепочки «накопитель — контроллер — firmware — драйвер — ОС». То же относится к телеметрии, SMART-атрибутам, обновлению firmware и сообщениям о прогнозируемом отказе.

Почему SAS/SATA-контроллер не становится NVMe RAID-контроллером

NVMe-накопитель обычно использует PCIe, а не SAS/SATA-транспорт. Поэтому наличие NVMe-дисков в сервере не добавляет их поддержку обычному SAS/SATA RAID-контроллеру. Для NVMe нужно отдельно подтвердить поддержку PCIe/NVMe у контроллера или платформенного решения, тип NVMe-корзины и бэкплейна, корректную кабельную схему, доступные PCIe-линии и их коммутацию на платформе.

Трёхрежимный RAID-контроллер обычно поддерживает SAS, SATA и PCIe/NVMe, но tri-mode описывает возможности самого контроллера, а не всей серверной системы. NVMe не заработает через бэкплейн, разводящий только SAS/SATA, неподходящий кабель или подключение без требуемых PCIe-линий. Для комбинированного или tri-mode бэкплейна нужно проверить конкретные порты, кабели и поддерживаемый режим. Также следует выяснить, допускает ли выбранный контроллер смешение транспортов, какие RAID-функции доступны для NVMe и какие ограничения действуют для установленной прошивки.

Альтернативой отдельному адаптеру иногда выступает Intel VROC. Его нельзя предполагать по одному наличию процессора Intel или NVMe-слотов: требуются поддерживаемые платформа, процессор, Intel VMD, версия VROC, а в отдельных конфигурациях — ключ или лицензия и совместимые типы накопителей. Эти условия сверяют по документации конкретной серверной платформы.

PCIe-коммутация важна для NVMe

При прямом подключении нескольких NVMe SSD к процессорным PCIe-линиям платформа может использовать PCIe Bifurcation. Возможность и схема деления линий зависят от BIOS/UEFI, процессора, платы, riser и бэкплейна. Если SSD подключены через tri-mode контроллер или отдельный PCIe-коммутатор, bifurcation слота может не требоваться: нужную топологию и коммутацию следует подтвердить по документации всех компонентов.

Стоп-критерий: когда не следует выбирать аппаратный RAID

Если хранилищу нужен прямой доступ к каждому диску, его собственная телеметрия и управление отказами на уровне ОС или файловой системы, аппаратный RAID может скрыть нужные свойства за логическим томом. Тогда рассматривают HBA, passthrough или программный RAID. Архитектурные различия и ограничения этих подходов разобраны в материале «Программный или аппаратный RAID: что выбрать для Linux-сервера».

Термины в статье

4Kn — формат накопителя с логическим и физическим сектором 4096 байт, без эмуляции 512-байтных секторов. Требует поддержки со стороны всего тракта ввода-вывода.
Реализация RAID, в которой специализированный контроллер формирует логические диски и выполняет операции массива. Наличие и защита кэша зависят от модели.
Дисковая корзина — узел шасси с отсеками для установки нескольких накопителей и организации их подключения к питанию и контроллеру либо HBA.
Защита от потери питания — функция SSD, сохраняющая данные и метаданные из энергозависимого кэша при внезапном отключении питания за счёт накопленной энергии.
Кэш со сквозной записью — режим, в котором кэш не подтверждает запись раньше нижележащего хранилища и не оставляет подтверждённые данные только в своей энергозависимой памяти.
Логический диск — блочное устройство, которое RAID-контроллер или программная RAID-подсистема предоставляет хосту как отдельный накопитель.
RAID, реализованный ОС или другим программным стеком хоста без отдельного аппаратного RAID-контроллера. Использует вычислительные ресурсы сервера.
Накопитель энергии высокой мощности, применяемый для кратковременного питания кэша RAID-контроллера. При сбое питания он сохраняет данные до записи во флеш-память.
Аппаратный RAID-контроллер, интерфейсы которого поддерживают SAS-, SATA- и PCIe/NVMe-накопители; схема подключения зависит от контроллера и платформы.
Избыточные контрольные данные, вычисляемые из блоков одной полосы RAID. Один блок чётности защищает от отказа одного диска, два независимых блока RAID 6 — от отказа двух.
Аккумуляторный модуль, поддерживающий питание энергозависимого кэша RAID-контроллера при сбое питания до восстановления питания и записи данных на диски.
CacheVault — технология защиты кэша записи RAID-контроллера, сохраняющая во флеш-память подтверждённые хосту, но ещё не записанные на диски данные при потере питания.
HBA — адаптер ввода-вывода, соединяющий сервер с накопителями или SAN и не формирующий аппаратные RAID-массивы.
Intel VROC — платформенная реализация RAID для NVMe SSD, подключённых к PCIe-линиям поддерживаемых процессоров Intel; использует Intel VMD и драйвер вместо отдельного RAID-контроллера.
Семейство аппаратных RAID-контроллеров Broadcom, которые объединяют накопители в массивы и предоставляют ОС логические диски, обрабатывая RAID на самом контроллере.
NVMe — протокол обмена командами с энергонезависимыми накопителями, оптимизированный для параллельного ввода-вывода; локальные NVMe-SSD обычно подключаются по PCIe.
Passthrough — режим контроллера, в котором отдельный накопитель предоставляется ОС как самостоятельное блочное устройство без включения в аппаратный RAID-массив.
PCIe Bifurcation — деление линий одного слота PCI Express на несколько логических портов, например x16 на два x8 или четыре x4, для прямого подключения нескольких устройств.
Predictive Failure — диагностический статус накопителя, указывающий на признаки вероятного отказа по SMART или данным контроллера до фактической недоступности диска.
Технология объединения нескольких накопителей в логические блочные устройства для повышения производительности и/или отказоустойчивости в зависимости от RAID-уровня.
Устройство или модуль, который формирует RAID-массивы из накопителей и предоставляет ОС логические диски, управляя размещением данных, отказами и восстановлением избыточности.
Буфер быстрой памяти между хостом и накопителями RAID, используемый для кэширования чтения и записи. Может снижать задержку и повышать производительность ввода-вывода.
RAID-уровень — схема размещения данных и избыточности по накопителям массива, определяющая полезную ёмкость, отказоустойчивость и характеристики ввода-вывода.
SAS — последовательный интерфейс и набор протоколов SCSI для подключения накопителей, поддерживающий адресацию устройств, экспандеры и обычно двухпортовое подключение дисков.
Устройство коммутации SAS, расширяющее число подключаемых накопителей относительно числа портов контроллера. Передаёт SAS-трафик между инициаторами и целевыми устройствами.
SATA — последовательный интерфейс подключения HDD, SSD и оптических приводов; в обычной прямой схеме один порт контроллера соединён с одним накопителем.
TRIM — операция ATA, которой ОС сообщает SATA SSD, что указанные логические блоки больше не используются; немедленное стирание данных при этом не гарантируется.
VMware ESXi — гипервизор типа 1, устанавливаемый непосредственно на совместимый физический сервер для запуска и управления виртуальными машинами.
Политика кэша RAID-контроллера: запись подтверждается после помещения данных в кэш, а на накопители переносится позже. Кэш требует защиты от потери питания.

Вопросы по теме

Все вопросы и ответы

Что будет, если RAID-батарея неисправна?

Зависит от модели, но безопасный Write-Back при неисправной защите использовать нельзя. При отсутствующей, разряженной или неисправной BBU контроллер может перейти в Write-Through, отключить Write-Back или выдать предупреждение. Некоторые модели допускают принудительный небезопасный режим. Если подтверждённые записи остаются только в энергозависимом кэше, сбой питания или контроллера может привести к их потере.

Подойдёт ли RAID-контроллер без кэша для сервера?

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

Можно ли подключить NVMe SSD к SAS/SATA RAID-контроллеру?

Нет, обычный SAS/SATA RAID-контроллер не получает поддержку NVMe только потому, что NVMe-диски установлены в сервере. NVMe использует PCIe-транспорт, поэтому нужны контроллер или платформенное решение с поддержкой PCIe/NVMe, совместимые бэкплейн и кабели, а также доступные и правильно скоммутированные PCIe-линии. Tri-mode-контроллер также требует проверки всей цепочки подключения.

Можно ли поставить SATA SSD за SAS-контроллером?

Зависит от конкретной платформы. SATA-диск часто может работать за SAS-контроллером через совместимую SAS-корзину, но это нужно подтвердить по матрице совместимости сервера, контроллера, бэкплейна и прошивок. Для SSD также проверяют ресурс записи, защиту от потери питания, политику работы контроллера с SSD и доступность мониторинга.

Будет ли TRIM работать через аппаратный RAID?

Не обязательно. Наличие TRIM у SATA SSD или поддержка команды операционной системой не доказывают её прохождение через аппаратный RAID. Для SAS/SCSI-пути аналогичная команда называется UNMAP. Поддержку нужно подтверждать для всей цепочки: накопитель, контроллер, его firmware, драйвер и ОС. То же правило действует для SMART, телеметрии и обновления прошивки дисков.

Когда аппаратный RAID мешает работе хранилища?

Аппаратный RAID не стоит выбирать, если хранилищу нужен прямой доступ к каждому диску, собственная телеметрия накопителей и управление отказами на уровне ОС или файловой системы. Контроллер может скрыть эти свойства за логическим томом. В такой архитектуре рассматривают HBA, passthrough или программный RAID, если они соответствуют требованиям стека.