Заявка на консультацию
Оставьте ваши данные и наши менеджеры свяжуться с вами в ближайшее время
Блог

NVMe RAID 10 под базы данных: когда оправдан и сколько стоит

NVMe RAID 10 для базы данных даёт максимум IOPS и минимум задержку, но стоит в 2–3 раза дороже RAID 5/6. Оправдан только для активной OLTP-нагрузки с короткими транзакциями и критичными требованиями к
Поставщик предлагает 8 NVMe в RAID 10 под базу 1С - смета втрое выше альтернативы на SATA-SSD в пятом уровне, а сисадмин не уверен, что это нужно. Вопрос «нужен ли NVMe RAID 10 под базы данных» решается профилем нагрузки и тем, какие IOPS реально нужны под транзакции.
Ниже разберём, что NVMe RAID 10 даёт базе данных, чем отличается от пятого и шестого уровней, в каких сценариях оправдан и из чего складывается цена.

Что даёт NVMe RAID 10 для баз данных

Разница в IOPS между NVMe, SATA-SSD и HDD - десятки раз. Enterprise-NVMe даёт 500K–1M+ IOPS на чтение и 200K–500K на запись, SATA-SSD - 60–80K, HDD 7200 rpm - 100–200. Задержка: 50–200 мкс, 200–500 мкс и 5–15 мс соответственно. Для БД с короткими транзакциями каждая микросекунда складывается в секунды на отчёте.
RAID 10 для БД выбирают за зеркалирование (защита от отказа диска) и страйп (распределение нагрузки). Под случайную запись, которая преобладает у OLTP, это быстрейший уровень из массивов. Минус - полезная ёмкость 50% (8 дисков по 1,92 ТБ дают 7,68 ТБ). Пятый и шестой уровни экономят место, но платят просадкой по записи. На архивных системах, аналитических БД с длинными чтениями и файловых серверах этот массив избыточен, там хватает HDD или SATA-SSD.
Открытый отсек серверного шкафа с установленными U.2 NVMe дисками, видны электронные компоненты и медные радиаторы охлаждения на фоне чёрного корпуса

RAID 10 vs RAID 5 vs RAID 6: что выбрать под БД

RAID 10: производительность и зеркало

В сравнении RAID 10 vs RAID 5 первый - комбинация зеркалирования (RAID 1) и страйпа (RAID 0): диски бьются на пары-зеркала, поверх пар идёт страйпинг. Минимум 4 диска. Чтение растёт линейно с числом пар: на восьми NVMe ускорение в 4–8 раз. Запись ускоряется в 2–4 раза, на флеш-носителях это сотни тысяч IOPS, хватает большинству транзакционных нагрузок.
Массив выживает отказ одного диска в каждой паре. Rebuild на флеш-дисках идёт часы и почти без просадки производительности - данные просто копируются с парного диска. На пятом и шестом уровне rebuild на NVMe тоже занимает часы, но природа другая: контроллеру нужно перечитать данные со всех оставшихся дисков и пересчитать чётность, поэтому массив работает в деградированном режиме с многократной нагрузкой и высоким риском второго отказа в этот период. Для RAID 10 это редко проблема, для 5/6 - основной аргумент против на больших дисках 3,84 ТБ+. Минус один - 50% полезной ёмкости и самый дорогой уровень по соотношению цена/объём, но для нагруженной БД ёмкость вторична относительно производительности.

RAID 5/6: ловушки на NVMe и для БД

RAID 5 хранит данные на N дисках плюс один диск чётности, полезная ёмкость (N-1)/N. Шестой уровень использует два диска чётности - (N-2)/N. На 8 дисках пятый даёт 87,5%, заметно больше десятого. Главная проблема - write penalty: на каждую запись пятый уровень выполняет 4 операции (чтение блока, чтение чётности, расчёт новой, запись), шестой - 6 операций. Для случайной записи мелкими блоками это просадка в 4–6 раз.
На флеш-дисках write penalty менее заметен - носители быстрые, и проседание скорости проявляется иначе, чем у HDD. У SSD при росте занятого объёма повышается write amplification: контроллер вынужден чаще выполнять garbage collection и переносить блоки внутри NAND, чтобы освободить место под новую запись. Для RAID 5/6 это усугубляется тем, что write penalty в 4–6 операций умножается на расходы внутри самого SSD, и реальная скорость записи на массиве проседает ощутимо. На активно заполненном массиве с интенсивной записью эффект виден отчётливо даже на enterprise-NVMe. На больших флеш-дисках (3,84 ТБ+) rebuild RAID 5/6 идёт часы, всё это время массив работает в деградированном режиме с многократной нагрузкой и риском второго отказа. Пятый и шестой уровни под БД уместны в архивных сценариях и аналитических хранилищах с последовательным чтением, не для транзакционных нагрузок.
Сравнение уровней RAID

Уровень RAID

Полезная ёмкость

Производительность записи

Отказоустойчивость

RAID 10

50%

максимальная

потеря по 1 диску в каждой паре

RAID 5

(N-1)/N (87,5% на 8 дисках)

просадка в 4 раза

потеря 1 диска

RAID 6

(N-2)/N (75% на 8 дисках)

просадка в 6 раз

потеря 2 дисков

Когда NVMe RAID 10 оправдан

NVMe для БД оправдан там, где IOPS критичны и задержка отражается на пользователях. Несколько типовых сценариев.
  1. Транзакционные базы с многими короткими операциями - бухгалтерские системы, торговые платформы, биллинг, e-commerce. IOPS критичны, задержка влияет на пользователей.
  2. Высоконагруженная 1С. PostgreSQL для 1С под 100+ пользователей с активной работой - журналы транзакций, временные таблицы, индексы. Связка NVMe и десятого уровня - стандарт коммерческого продакшена.
  3. MS SQL Server с tempdb и логами на быстром массиве. Tempdb живёт на самых быстрых дисках, под неё NVMe RAID 10 или хотя бы зеркало - рабочая схема.
  4. Большие БД с активным набором (working set). Когда «горячая» часть данных не помещается в RAM, такая связка даёт стабильную производительность даже при выходе за пределы кэша.
  5. ERP и CRM-системы среднего и крупного бизнеса. Множество одновременных пользователей, постоянное обновление записей, индексные операции - типичная транзакционная нагрузка с прицелом на флеш-массив.
  6. Когда не нужен. Архивная БД с редкими запросами раз в месяц, аналитическое хранилище с батчевыми запросами и последовательной выборкой, тестовые контуры, файловые серверы.

Стоимость NVMe RAID 10: из чего складывается

Диски, контроллер, корпус, обслуживание

Стоимость NVMe RAID 10 раскладывается на несколько компонентов.
Сами диски. Enterprise-класс с DWPD от 1 или TBW от 1,75 PB на 1,92 ТБ. Mixed-Use (DWPD 3+) - самый дорогой класс для активной записи, Read-Intensive для БД с перевесом чтения. Потребительские диски не подходят, выгорают за месяцы.
Аппаратный RAID-контроллер. Модели типа Broadcom 9560-16i или Microchip SmartRAID 3258p работают с PCIe Gen4, поддерживают до 16 NVMe в tri-mode, стоят сопоставимо с парой дисков и дают аппаратный массив с кэшем под суперконденсатором.
Шасси и материнская плата. Нужна поддержка U.2/U.3 слотов и запас PCIe-линий до CPU. Платформы с 8 NVMe-слотами дороже SAS-аналогов на 15–25%. CPU. Массив нагружает PCIe-шину и контроллер памяти, лучше Xeon Scalable Gen 3+ или AMD EPYC с запасом по линиям и ядрам. RAM. Под высоконагруженную БД минимум 128 ГБ, для крупной транзакционной - 256–512 ГБ. Флеш-массив не отменяет потребности в большом ОС-кэше. Обслуживание на горизонте 5 лет - резерв 1–2 запасных дисков на полке (15–20% от парка), мониторинг износа, плановая замена при достижении 80% TBW, это около 20–30% дополнительных расходов сверх первичной закупки.
Разложенные в аккуратный ряд серверные компоненты - процессор в сокете, планка оперативной памяти, плата расширения RAID контроллер и три NVMe диска на чёрном фоне
Когда конфигурация требует 8 NVMe в RAID 10, корпоративный контроллер и CPU с запасом PCIe-линий, удобнее отталкиваться от типовых сборок - серверы баз данных уже сбалансированы по числу дисковых слотов, поддержке аппаратного RAID и резервированию питания. Итог: NVMe RAID 10 на 8 дисках с контроллером, шасси и тюнингом обычно в 2–3 раза дороже эквивалента на SATA-SSD в пятом уровне. Плата за IOPS, а не за ёмкость.

Софтверный vs аппаратный RAID для NVMe

Аппаратный контроллер прозрачен для ОС: виден один виртуальный диск, кэш с защитой от потери питания. На рынке сегодня два основных производителя: Broadcom (бывший LSI/Avago) с серией MegaRAID 9560 и Microchip Technology (бывший Microsemi/Adaptec) с серией SmartRAID 3200. Это разные компании с разной микроархитектурой контроллеров и собственным управляющим софтом - storcli у Broadcom, arcconf у Microchip. Под Windows Server и baremetal без виртуализации подходят оба, выбор обычно опирается на привычки команды и совместимость с серверной платформой.
Софтверный RAID на mdadm (Linux) даёт производительность близкую к аппаратному, иногда выше: современные CPU справляются с расчётом чётности и параллельным IO. Полный контроль через ОС, гибкая настройка. На Windows Server неприменим.
ZFS - не классический RAID, а файловая система с пулами (RAIDZ1/2/3, mirror, stripe). Сильна функционально: снапшоты, чексуммы, дедупликация. Под высоконагруженную PostgreSQL - рабочий вариант с тонкой настройкой ARC и записей, ZIL на отдельном флеш-диске обязателен для синхронных записей.
Выбор: Windows Server и MS SQL - аппаратный контроллер. Linux и PostgreSQL - mdadm (проще) или ZFS (функциональнее). Виртуализация (Proxmox, vSphere) - встроенный софтверный массив гипервизора. Аппаратный массив с write-back кэшем требует батарейного модуля или суперконденсатора, иначе риск потери данных, без write-back производительность записи заметно падает.

Эксплуатация и риски

  1. TBW и износ. Каждый enterprise-NVMe имеет ресурс TBW. Под транзакционной БД диск проходит ресурс за 2–4 года, под индексы за 3–5 лет. Замена идёт по графику, не по факту отказа.
  2. Замена при отказе одного диска. На десятом уровне rebuild идёт часы. На пятом и шестом - заметно дольше, с риском второго отказа в это время.
  3. Мониторинг SMART. Регулярная проверка ресурса, температуры, числа ошибок через nvme-cli (Linux) или встроенный мониторинг контроллера.
  4. Питание. 8 дисков в нагрузке тянут 50–80 Вт на массив, RAID-контроллер класса Broadcom 9560 или Microchip SmartRAID добавляет 18–30 Вт под пиковой загрузкой в зависимости от модели и числа активных линий PCIe. ИБП с запасом по мощности.
  5. Резерв запчастей. Минимум 1 запасной диск той же модели на полке. Сроки поставки в условиях параллельного импорта 2–6 недель, ждать неприемлемо для боевого массива.
Техник в жилете и перчатках в центре ряда стоек серверов, смотрит на настольный монитор с графиками мониторинга, за его спиной видны мигающие индикаторы серверов

Альтернативы NVMe RAID 10

  1. All-Flash СХД корпоративного класса (NetApp, Dell EMC, российские аналоги). Управляемая отдельная подсистема, подключение к нескольким хостам по FC или iSCSI. Дороже одиночного сервера, но масштабируемее.
  2. Распределённое хранение (Ceph). Подходит для облачных архитектур с десятками узлов; для одиночного сервера БД избыточно.
  3. Пятый или шестой уровни на флеш-носителях для архивных и аналитических БД, где скорость случайной записи не приоритет, а важна ёмкость.
  4. Облачные блочные тома с гарантированным IOPS для малых и средних БД, особенно если инфраструктура и так в облаке.

Заключение

NVMe RAID 10 под БД - это про скорость случайной записи и предсказуемую задержку, не про ёмкость. Оправдан для активной OLTP-нагрузки, не оправдан для архивов и аналитики. Стоимость в 2–3 раза выше эквивалента на SATA-SSD в пятом уровне - плата за производительность. Если бизнесу не нужны микросекундные задержки и сотни тысяч IOPS, разница уходит в смету, а не в скорость работы пользователей. Когда профиль нагрузки и архитектура понятны, дальше это вопрос подбора железа: дисковые системы для серверной инфраструктуры выбираются под суммарную нагрузку, требуемые IOPS и горизонт планирования.