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

RAID на SSD, M.2 и NVMe: особенности, ограничения и выбор схемы

Какие SSD можно объединять в RAID, чем SATA M.2 отличается от NVMe M.2 и что проверить в сервере перед созданием массива.

13 минут
Средний
абстрактная иллюстрация потоков данных между SSD
Разъём M.2 сам по себе не подтверждает ни совместимость накопителя с сервером, ни возможность NVMe RAID.
RAID можно создать отдельно из SATA SSD, SAS SSD, SATA M.2 и PCIe/NVMe SSD, если накопители, способ подключения и выбранный RAID-стек совместимы. SSD — тип носителя, а M.2 — форм-фактор модуля; SATA, SAS и NVMe описывают разные интерфейсы и протоколы. Для SATA и SAS обычно используют порты платформы, HBA или RAID-контроллер, а NVMe требует подходящей PCIe-топологии и программной, платформенной либо совместимой аппаратной реализации RAID.

SSD, M.2, SATA, SAS и NVMe: что именно определяет совместимость

Надпись «SSD» говорит о типе накопителя на флеш-памяти, но не о способе его подключения. Модуль M.2 может быть SATA SSD или PCIe SSD с протоколом NVMe. Внешне похожие M.2-накопители могут использовать разные контакты, линии и драйверы, поэтому слот M.2 на плате нужно проверять по документации: какие ключи, интерфейсы и длины модулей он поддерживает.

Тип накопителя не заменяет проверку топологии подключения

ВариантИнтерфейс и протоколТипичное подключениеВарианты RAID
SATA SSD, включая SATA M.2SATAПорт SATA, SATA/SAS HBA или совместимый RAID-контроллерПрограммный, платформенный или аппаратный RAID при поддержке
SAS SSDSASSAS HBA или SAS RAID-контроллер; корзина с SAS-экспандером может быть промежуточной частью трактаПрограммный или аппаратный RAID при поддержке
NVMe M.2PCIe + NVMeM.2-слот с PCIe, райзер, адаптер или PCIe-коммутаторПрограммный, платформенный или аппаратный NVMe RAID
U.2, U.3 или EDSFF NVMe SSDPCIe + NVMeNVMe-бэкплейн, кабели, PCIe-порты или tri-mode-цепочкаПрограммный, платформенный или аппаратный NVMe RAID

Следовательно, SATA M.2 и NVMe M.2 отличаются не только скоростью. SATA M.2 работает в SATA-стеке и обычно виден системе как обычный SATA-накопитель. NVMe M.2 использует PCIe-линии и NVMe-драйвер; для него важны распределение линий PCIe, возможности слота, райзера и прошивки платформы. Наличие физического разъёма M.2 не означает, что он поддерживает оба варианта.

Можно ли создать RAID из разных типов SSD

Отдельный массив из SATA SSD, отдельный массив из SAS SSD и отдельный массив из NVMe SSD — обычные схемы, если их поддерживают контроллер или программный стек. SATA M.2 можно объединять так же, как другие SATA SSD, но только если слот или адаптер действительно выводит SATA и накопитель обнаружен платформой. Для NVMe RAID не обязательно покупать отдельный аппаратный контроллер: возможны программный RAID, RAID-функция платформы и аппаратный NVMe RAID.

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

Не смешивайте накопители без подтверждения поддержки

Разные модели SSD могут отличаться доступной ёмкостью, форматом секторов 512e или 4Kn, прошивкой, обработкой ошибок, устойчивой скоростью записи, ресурсом и наличием защиты от потери питания. Смешанная группа требует проверки документации контроллера или RAID-стека и теста в условиях, близких к рабочим. Это относится и к комбинации SATA с SAS, и к комбинации SATA/SAS с NVMe.

Как подключают SATA, SAS и NVMe SSD к RAID

SATA SSD подключают к SATA-портам платы, HBA или RAID-контроллеру. Для SAS SSD нужен полный SAS-совместимый путь до хоста: SAS HBA или SAS RAID-контроллер, а при наличии корзины — также совместимые кабели, бэкплейн и экспандер. HBA обычно передаёт отдельные накопители операционной системе и не формирует аппаратный RAID сам по себе; массив в такой схеме создаёт ОС или иной программный слой.

NVMe SSD подключаются по PCIe; в зависимости от схемы тракт ведёт к корневому комплексу процессора или чипсета, PCIe-коммутатору либо совместимому RAID-контроллеру. Накопители можно передать ОС напрямую для программного массива, подключить к платформенной RAID-функции либо к RAID-контроллеру, который явно поддерживает NVMe. Совместимыми должны быть все присутствующие в выбранном тракте компоненты: PCIe-линии от установленного процессора, слот или райзер, а при их использовании — кабель, бэкплейн, контроллер и его прошивка.

Три варианта NVMe RAID

  • Программный RAID. ОС работает с отдельными NVMe-устройствами и формирует массив собственными средствами. В Linux распространён mdadm; порядок настройки вынесен в статью «Как создать и настроить программный RAID в Linux с mdadm».
  • Платформенный RAID. Логика RAID использует возможности платформы, BIOS/UEFI и драйвер. Пример такого подхода — Intel VROC, но его доступность, уровни RAID, требования к накопителям и лицензированию нужно сверять для конкретного поколения платформы, процессора, BIOS/UEFI и драйвера.
  • Аппаратный NVMe или tri-mode RAID. Контроллер создаёт логический диск и может поддерживать SAS, SATA и PCIe/NVMe. Это не отменяет проверки физической топологии и совместимости.

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

Контроллер и бэкплейн — единая цепочка

Если NVMe SSD установлен в корзину, важно проверить не только модель контроллера. Бэкплейн, рассчитанный исключительно на SAS/SATA, не получает поддержку NVMe от замены кабеля. Поддержка U.2, U.3 или EDSFF зависит от конкретного исполнения корзины, разводки PCIe и схемы подключения; универсальные и tri-mode-бэкплейны также нужно сверять с документацией платформы. Подробнее о границе между HBA, аппаратным RAID и передачей отдельных дисков — в статье «HBA или RAID-контроллер: что выбрать для сервера, ZFS, Ceph и обычных дисковых массивов».

Когда для нескольких NVMe нужна PCIe Bifurcation

PCIe Bifurcation делит линии одного PCIe-слота на несколько логических PCIe-портов: например, слот x16 — на четыре соединения x4. Это нужно, когда несколько NVMe на пассивном адаптере должны быть напрямую видны платформе. Bifurcation не создаёт RAID, не заменяет RAID-контроллер и не добавляет линий PCIe.

Bifurcation нужна не во всех схемах. Деление линий может не требоваться, если каждый NVMe подключён к отдельному PCIe-порту платформы либо используется активный адаптер или бэкплейн с PCIe-коммутатором. Само наличие специализированного NVMe-бэкплейна ничего не гарантирует: пассивный бэкплейн может зависеть от деления линий вышестоящего PCIe-порта. Для пассивной карты или бэкплейна необходимо сверить поддержку bifurcation именно у выбранного слота или порта при установленной конфигурации процессоров и райзеров: доступные схемы x8/x8, x4/x4/x4/x4 и другие варианты различаются между платформами.

Создание NVMe RAID и загрузка ОС — разные проверки

Массив может успешно создаваться и быть доступен работающей ОС, но не появляться как загрузочное устройство. Загрузка с NVMe RAID зависит от реализации RAID, режима BIOS/UEFI, версии прошивки, загрузочного драйвера, поддержки ОС и разметки загрузочного тома. Для платформенного RAID особенно важно проверить, видит ли установщик нужный драйвер и может ли прошивка передать загрузку с созданного массива.

Перед развёртыванием ОС нужно отдельно подтвердить три результата: контроллер или платформа видит все физические SSD; RAID-стек создаёт и показывает логический диск; этот логический диск доступен установщику и присутствует среди загрузочных целей. Общий порядок создания аппаратного массива через интерфейс прошивки описан в статье «Как создать RAID-массив на сервере через BIOS/UEFI».

Почему RAID на SSD не складывает паспортную скорость

Высокие паспортные IOPS и последовательная скорость SSD не дают заранее известной скорости массива. IOPS, пропускная способность и задержки зависят от профиля нагрузки: размера блока, доли чтения и записи, случайности доступа, глубины очереди и параллелизма. Для NVMe дополнительно важны поколение и число линий PCIe, возможное узкое место в райзере, бэкплейне или PCIe-коммутаторе.

  • RAID-контроллер, его процессор, очередь команд и политика кэша могут ограничивать производительность быстрее, чем сами SSD.
  • Устойчивую запись SSD снижают заполненность, сборка мусора, внутренний SLC-кэш и фоновая работа накопителя; кратковременный benchmark не всегда показывает рабочий результат.
  • Массивы с чётностью тратят ресурсы на вычисление чётности и обработку частичных записей. Размер Stripe Size и политика кэша влияют на результат, но не имеют универсального значения для всех нагрузок.
  • При соединении быстрых и медленных SSD производительность и задержки часто определяются более медленным участником или его поведением при длительной записи.

Настройка Write-Back, Stripe Size и оценка RAID скорости записи требуют отдельного анализа нагрузки и защиты кэша; это разобрано в статье «Кэш RAID-контроллера, Write Back и Stripe Size: выбор без лишнего риска». Измерять массив следует с профилем, похожим на реальное приложение, включая длительную запись и задержки, а не только пиковую последовательную скорость: «Как тестировать производительность RAID: IOPS, задержки, fio и правила корректного benchmark».

RAID 1, RAID 10 и чётность на SSD и NVMe

Особенности SSD не отменяют различий между уровнями RAID. RAID 1 и RAID 10 обычно проще оценивать при интенсивной записи: запись идёт в копии данных, без расчёта распределённой чётности. Это не гарантирует одинаковую производительность на любой реализации — многое зависит от контроллера, очередей, задержек SSD и профиля I/O.

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

Во время Rebuild массива с чётностью оставшиеся участники читаются, а отсутствующие данные пересчитываются и записываются на замену. SSD способны сократить продолжительность такой операции по сравнению с HDD, однако rebuild всё равно конкурирует с рабочей нагрузкой, повышает задержки и нагружает оставшиеся диски. Пока массив находится в деградированном режиме, часть избыточности уже потеряна; оставлять его в этом состоянии надолго рискованно.

Формулы ёмкости, допустимые отказы и общий выбор уровней приведены отдельно: «Как выбрать RAID 0, 1, 5, 6 или 10: ёмкость и отказоустойчивость».

Ресурс SSD, защита питания и мониторинг

Для серверного RAID важны не только интерфейс и ёмкость SSD. Следует оценить заявленный производителем ресурс записи — обычно TBW или DWPD, — устойчивую производительность после заполнения, допустимый профиль нагрузки, температуру, версию прошивки и доступность совместимой замены. RAID с чётностью, rebuild, фоновые проверки и служебная активность могут увеличить фактический объём записей на накопители.

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

RAID не заменяет резервные копии

Зеркало, чётность и быстрый rebuild не защищают от удаления данных, ошибки приложения, шифровальщика, повреждения файловой системы или общего отказа сервера. Для нужных данных требуется независимая проверяемая резервная копия. Подробнее — в статье «Почему RAID — не резервное копирование: защита данных сервера».

Мониторинг должен охватывать логический массив, каждый физический SSD, контроллер, его кэш и средства защиты кэша. Доступность S.M.A.R.T., диагностических данных, TRIM для SATA SSD и аналогичных команд управления зависит от модели диска, ОС, драйвера, контроллера и режима представления накопителя; считать такую передачу данных универсальной нельзя. Практический порядок мониторинга описан в статье «Мониторинг и профилактика RAID: S.M.A.R.T., Patrol Read, Consistency Check и оповещения».

Что проверить до создания RAID на SSD или NVMe

Проверка совместимости RAID-стека

Эта последовательность помогает отделить поддержку накопителя от поддержки массива и загрузки с него.

  1. 1
    Определить интерфейс каждого SSD
    Зафиксируйте для каждого накопителя форм-фактор, SATA/SAS/NVMe, доступную ёмкость, секторный формат, модель и прошивку. Не делайте вывод об интерфейсе только по форм-фактору M.2.
  2. 2
    Проверить физический путь подключения
    Для SATA и SAS проверьте порты, HBA или контроллер, кабели и дисковую корзину. Для NVMe — PCIe-линии от установленного процессора, слот, райзер, бэкплейн, кабель и необходимость bifurcation либо PCIe-коммутатора.
  3. 3
    Выбрать RAID-реализацию
    Уточните, будет ли использоваться программный RAID, функция платформы или аппаратный NVMe/tri-mode RAID. Сверьте поддерживаемые типы SSD, RAID-уровни, ограничения числа устройств, версии BIOS/UEFI, драйвера и прошивки.
  4. 4
    Отдельно проверить загрузку
    Убедитесь в документации платформы и выбранной ОС, что созданный RAID-том поддерживается как загрузочный. Проверьте режим UEFI или Legacy, драйвер установщика и видимость массива среди загрузочных устройств.
  5. 5
    Оценить рабочий режим и отказ
    Сопоставьте ресурс записи SSD, PLP, устойчивую производительность, мониторинг, доступность запасного накопителя и поведение массива во время rebuild. Рассчитывайте производительность с запасом на деградированный режим и фоновые операции.

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

Реализация RAID, в которой специализированный контроллер формирует логические диски и выполняет операции массива. Наличие и защита кэша зависят от модели.
Состояние отказоустойчивого RAID-массива, потерявшего часть избыточности, но сохраняющего доступ, пока сочетание отказов допустимо для его уровня и раскладки.
Дисковая корзина — узел шасси с отсеками для установки нескольких накопителей и организации их подключения к питанию и контроллеру либо HBA.
Защита от потери питания — функция SSD, сохраняющая данные и метаданные из энергозависимого кэша при внезапном отключении питания за счёт накопленной энергии.
Логический диск — блочное устройство, которое RAID-контроллер или программная RAID-подсистема предоставляет хосту как отдельный накопитель.
RAID, реализованный ОС или другим программным стеком хоста без отдельного аппаратного RAID-контроллера. Использует вычислительные ресурсы сервера.
Аппаратный RAID-контроллер, интерфейсы которого поддерживают SAS-, SATA- и PCIe/NVMe-накопители; схема подключения зависит от контроллера и платформы.
Избыточные контрольные данные, вычисляемые из блоков одной полосы RAID. Один блок чётности защищает от отказа одного диска, два независимых блока RAID 6 — от отказа двух.
HBA — адаптер ввода-вывода, соединяющий сервер с накопителями или SAN и не формирующий аппаратные RAID-массивы.
Intel VROC — платформенная реализация RAID для NVMe SSD, подключённых к PCIe-линиям поддерживаемых процессоров Intel; использует Intel VMD и драйвер вместо отдельного RAID-контроллера.
IOPS — число завершённых операций ввода-вывода в секунду, которое накопитель, RAID-массив или СХД обеспечивает при заданном профиле нагрузки.
M.2 — спецификация компактного разъёма и модулей расширения, определяющая размеры и ключи; накопители M.2 могут использовать интерфейс SATA или PCIe.
Утилита командной строки Linux для создания, сборки, мониторинга и изменения программных RAID-массивов подсистемы MD.
NVMe — протокол обмена командами с энергонезависимыми накопителями, оптимизированный для параллельного ввода-вывода; локальные NVMe-SSD обычно подключаются по PCIe.
PCIe Bifurcation — деление линий одного слота PCI Express на несколько логических портов, например x16 на два x8 или четыре x4, для прямого подключения нескольких устройств.
Технология объединения нескольких накопителей в логические блочные устройства для повышения производительности и/или отказоустойчивости в зависимости от RAID-уровня.
RAID 1 — уровень RAID с зеркалированием данных на двух или более дисках. Полезная ёмкость равна ёмкости наименьшего участника, а доступ сохраняется, пока исправна хотя бы одна копия.
Комбинированный уровень: чередование (RAID 0) поверх зеркальных пар (RAID 1). Сочетает высокую скорость и отказоустойчивость, отдавая под избыточность половину ёмкости.
RAID 5 — уровень RAID с чередованием данных и распределённой чётностью, выдерживающий отказ одного диска. Требует минимум трёх дисков.
Уровень RAID с чередованием данных и двойной распределённой чётностью. Выдерживает отказ любых двух дисков; минимум четыре диска.
Устройство или модуль, который формирует RAID-массивы из накопителей и предоставляет ОС логические диски, управляя размещением данных, отказами и восстановлением избыточности.
Буфер быстрой памяти между хостом и накопителями RAID, используемый для кэширования чтения и записи. Может снижать задержку и повышать производительность ввода-вывода.
Процесс восстановления избыточности массива после замены отказавшего диска: контроллер вычисляет и записывает на новый диск недостающие данные из остальных дисков.
S.M.A.R.T. — технология самодиагностики накопителей, собирающая показатели состояния и ошибок. Она помогает выявлять признаки деградации диска до отказа.
SAS — последовательный интерфейс и набор протоколов SCSI для подключения накопителей, поддерживающий адресацию устройств, экспандеры и обычно двухпортовое подключение дисков.
SATA — последовательный интерфейс подключения HDD, SSD и оптических приводов; в обычной прямой схеме один порт контроллера соединён с одним накопителем.
TRIM — операция ATA, которой ОС сообщает SATA SSD, что указанные логические блоки больше не используются; немедленное стирание данных при этом не гарантируется.
Политика кэша RAID-контроллера: запись подтверждается после помещения данных в кэш, а на накопители переносится позже. Кэш требует защиты от потери питания.

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

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

Подойдёт ли обычный SATA/SAS RAID-контроллер для NVMe?

Обычный RAID-контроллер для SATA или SAS работает с соответствующим трактом хранения и не заменяет PCIe-подключение, необходимое NVMe SSD. Поэтому подключить NVMe-накопители к такому контроллеру и ожидать, что они будут видны как SATA-диски, нельзя.

Для NVMe RAID возможны три подхода: программный массив средствами ОС, RAID-функция платформы через BIOS/UEFI и драйвер либо аппаратный NVMe/tri-mode RAID-контроллер. Даже при выборе tri-mode-контроллера одной его маркировки недостаточно. В конкретной конфигурации могут потребоваться NVMe-порты контроллера, правильные кабели, совместимый бэкплейн, поддерживаемая прошивка и в отдельных случаях лицензия.

Если NVMe SSD устанавливаются в корзину, нужно проверять всю цепочку подключения. SAS/SATA-бэкплейн не получит поддержку NVMe простой заменой кабеля: для U.2, U.3 и EDSFF важны разводка PCIe и конкретная схема подключения.

Можно ли загрузить ОС с массива NVMe RAID?

Создание NVMe RAID и загрузка с него — разные проверки. Контроллер или платформа могут успешно обнаружить физические SSD и создать логический диск, который будет доступен уже запущенной операционной системе. Это ещё не означает, что прошивка сервера или установщик ОС смогут использовать его для загрузки.

Перед развёртыванием ОС следует проверить три результата: все физические SSD видны контроллеру или платформе; выбранный RAID-стек создаёт и показывает логический диск; этот диск виден установщику и присутствует среди загрузочных целей. Для платформенного RAID особенно важны версия BIOS/UEFI, режим загрузки UEFI или Legacy, загрузочный драйвер и поддержка конкретной ОС.

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

Можно ли собрать RAID из SSD с секторами 512e и 4Kn?

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

Нужна ли защита PLP для SSD в серверном RAID?

Зависит от критичности записей и схемы кэширования. PLP помогает SSD сохранить данные и внутренние метаданные при внезапном отключении питания, когда используется энергозависимый кэш. Она не обязательна во всех сценариях, но её отсутствие следует учитывать вместе с поведением кэша накопителя, контроллера и ИБП.

Заменяет ли RAID на SSD резервное копирование?

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