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

Как рассчитать ёмкость RAID и количество дисков

Формулы RAID 0, 1, 5, 6 и 10 для расчёта рабочих дисков, полезной и сырой ёмкости. Учёт TiB, запаса места, Hot Spare и накладных расходов.

9 минут
абстрактная иллюстрация расчёта ёмкости RAID-массива
Для расчёта RAID задайте требуемую планировочную ёмкость логического диска V и эффективную ёмкость одного рабочего диска S в одних единицах. Для RAID 0 нужно ceil(V/S) рабочих дисков с проверкой минимума реализации, для RAID 5 — max(3, ceil(V/S)+1), для RAID 6 — max(4, ceil(V/S)+2), для базового RAID 10 — max(4, 2×ceil(V/S)). Обычный RAID 1 состоит из двух дисков и даёт полезный объём S, поэтому при V>S нужны более ёмкие диски или другая схема. При N рабочих дисках сырая ёмкость равна N×S, а планировочная полезная — N×S для RAID 0, (N−1)×S для RAID 5, (N−2)×S для RAID 6 и (N/2)×S для базового RAID 10. На зеркало уходит половина сырой ёмкости RAID 1 и RAID 10, на чётность — эквивалент одного диска в RAID 5 и двух в RAID 6. Запас свободного места, технические накладные расходы и Hot Spare учитывают отдельно; Hot Spare не увеличивает ёмкость массива.

Обозначения для RAID-калькулятора

N — число рабочих дисков в массиве. S — эффективная ёмкость одного рабочего диска: для одинаковых накопителей это доступная для RAID ёмкость каждого из них в выбранных единицах. V — требуемая планировочная полезная ёмкость logical drive до создания разделов и файловой системы. Сырая ёмкость рабочих дисков равна N×S.

ceil(x) означает округление вверх до целого. Например, ceil(2,1)=3: нельзя купить 2,1 диска. Диск Hot Spare не входит ни в N, ни в сырую ёмкость N×S: это отдельный резерв для отказоустойчивого массива.

Планировочные формулы для одинаковых рабочих дисков. RAID 10 здесь — только базовая схема из зеркальных пар с чётным числом дисков.

RAID-уровеньПланировочная полезная ёмкостьМинимум рабочих дисковРасчёт N по VИзбыточность из сырой ёмкости
RAID 0N×SОбычно 2; отдельные реализации допускают 1ceil(V/S) с проверкой минимума реализации0
RAID 1, обычная параS22, только если V≤SS — один из двух дисков
RAID 5(N−1)×S3max(3, ceil(V/S)+1)S — эквивалент одного диска под чётность
RAID 6(N−2)×S4max(4, ceil(V/S)+2)2×S — эквивалент двух дисков под чётность
RAID 10, базовый(N/2)×S4max(4, 2×ceil(V/S))(N/2)×S — половина сырой ёмкости под зеркалирование

Избыточность — это разница между сырой и полезной планировочной ёмкостью рабочих дисков. В RAID 0 её нет. В RAID 1 половина сырой ёмкости занята второй копией; в базовом RAID 10 — тоже половина. RAID 5 расходует ёмкость одного диска на чётность, RAID 6 — двух. Это расчёт ёмкости, а не правило выбора уровня по нагрузке и допустимым отказам: сравнение сценариев приведено в статье «Как выбрать RAID 0, 1, 5, 6 или 10: ёмкость и отказоустойчивость».

Как рассчитать, сколько дисков нужно для RAID

Расчёт от данных до количества накопителей

Все значения в формуле должны быть в одних единицах: например, только TB или только TiB.

  1. 1
    Определите объём данных и резерв свободного места
    Если на файловой системе должно храниться D данных, а свободной должна оставаться доля r от её доступной пользовательской ёмкости, рассчитайте минимум после форматирования: C≥D/(1−r). Например, для D=16 TiB и r=0,20 требуется C≥16/(1−0,20)=20 TiB. Нельзя просто прибавить к 16 TiB 20%: это дало бы 19,2 TiB, а свободными были бы только 16,7%.
  2. 2
    Выберите V с учётом слоёв хранения
    Выберите V так, чтобы после RAID-метаданных, служебных областей, разметки и файловой системы доступная пользовательская ёмкость была не меньше C. Универсальной точной поправки нет: она зависит от RAID-реализации, контроллера, размера logical drive, схемы разделов и файловой системы. Свободный запас r — требование к заполненности файловой системы, а не потеря на RAID.
  3. 3
    Приведите V и S к одним единицам
    Используйте одну систему единиц для V и S. Если нужен том в TiB, сначала переведите паспортную ёмкость диска из TB в TiB, затем подставляйте её как S.
  4. 4
    Подставьте V и S в формулу нужного RAID-уровня
    Для RAID 0 используйте ceil(V/S) и проверьте минимальное число участников реализации. Для RAID 5 — max(3, ceil(V/S)+1), для RAID 6 — max(4, ceil(V/S)+2), для базового RAID 10 — max(4, 2×ceil(V/S)).
  5. 5
    Проверьте RAID 1 отдельно
    Обычный RAID 1 — это два диска с полезной ёмкостью S. Если V>S, добавить третий или четвёртый диск к той же зеркальной паре недостаточно: калькулятор обычного RAID 1 не получает из этого больший единый том. Нужны диски большей ёмкости либо другая схема. Многократные зеркала и реализации, называющие двухдисковое зеркало RAID 10, имеют собственные правила и в этот расчёт не входят.
  6. 6
    Добавьте Hot Spare к закупочному количеству
    Сначала зафиксируйте N рабочих дисков, затем отдельно добавьте нужное число резервных. Например, один Hot Spare означает: количество к закупке = N+1. В некоторых реализациях один global spare может обслуживать несколько подходящих массивов, поэтому число закупаемых дисков считают по всей конфигурации, а не автоматически по одному spare на массив.

Пример: целевая полезная ёмкость 20 TB на дисках по 8 TB

Ниже V=20 TB, S=8 TB; для отказоустойчивых массивов в примере добавлен один совместимый Hot Spare. Это планировочная ёмкость RAID до разметки и файловой системы, а не обещанный размер тома, который покажет ОС.

Расчёт в десятичных TB: все диски одинаковые, по 8 TB. Обычная пара RAID 1 приведена только для сравнения и не обеспечивает целевые 20 TB.

RAIDРабочие диски, шт.Hot Spare, шт.К закупке, шт.Сырая ёмкость рабочих дисков, TBПланировочная полезная ёмкость RAID, TBИзбыточность, TB
RAID 030 — не применяется324240
RAID 1, обычная пара2 — цель не достигается13 — цель не достигается1688
RAID 541532248
RAID 6516402416
RAID 10, базовый617482424

Для цели 20 TB RAID 5 требует четыре рабочих диска: ceil(20/8)+1=4. RAID 6 требует пять: ceil(20/8)+2=5. Для RAID 10 нужно три зеркальные пары, то есть шесть дисков: 2×ceil(20/8)=6. RAID 1 из двух 8 TB дисков даёт только 8 TB и цель не выполняет, хотя строка полезна для сравнения сырой ёмкости и зеркалирования. О выборе между RAID 5, RAID 6 и RAID 10 по сценарию читайте в сравнении RAID-уровней.

Почему 4, 8 и 12 TB в ОС выглядят меньше

Производители накопителей обычно указывают десятичные TB: 1 TB = 10¹² байт. Двоичный TiB равен 2⁴⁰ байт, поэтому 1 TB ≈ 0,9095 TiB. До любых потерь на RAID диск 4 TB содержит примерно 3,638 TiB, 8 TB — 7,276 TiB, 12 TB — 10,914 TiB. Некоторые ОС и утилиты показывают двоичное значение, но могут подписывать его как «TB» или «GB», поэтому нужно проверять, какие единицы использует конкретный интерфейс.

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

Диски разной ёмкости и Hot Spare

Для консервативного расчёта массива из дисков разного размера примите S равным ёмкости наименьшего рабочего участника. Например, в группе 8, 8 и 12 TB для расчёта RAID 5 используйте S=8 TB: планировочная полезная ёмкость будет (3−1)×8=16 TB. Использование остатка на более крупном диске, создание дополнительной области или отдельного массива зависит от контроллера, RAID-реализации и разметки; считать это пространство доступным заранее нельзя.

Hot Spare не добавляет ни полезную ёмкость, ни сырую ёмкость рабочих дисков. Резервный накопитель должен быть совместим с массивом: обычно проверяют достаточную доступную ёмкость, поддерживаемые интерфейс и тип носителя, секторный формат, а также ограничения конкретной модели и версии контроллера либо программной реализации. Порядок назначения global и dedicated spare разобран в статье «Hot Spare в RAID: global, dedicated и Copyback».

Не делите объём данных только на ёмкость диска

Расчёт D/S показывает лишь условное число дисков без RAID-избыточности. Он не учитывает зеркало или чётность, минимумы RAID-уровня, перевод TB в TiB, метаданные и файловую систему, требуемый свободный запас, а также Hot Spare. В результате купленных накопителей может не хватить для нужного доступного объёма.

RAID не является резервной копией

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

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

Зеркалирование — поддержание одинаковых копий данных на двух и более накопителях или узлах хранения. В RAID оно обеспечивает избыточность и лежит в основе RAID 1 и RAID 10.
Избыточность данных — хранение дополнительных копий или контрольной информации, позволяющее восстановить данные при отказе носителя, блока или другого компонента.
Логический диск — блочное устройство, которое RAID-контроллер или программная RAID-подсистема предоставляет хосту как отдельный накопитель.
Физический диск — отдельный HDD, SSD или иной накопитель, распознанный RAID-контроллером как член массива либо как независимое устройство.
Избыточные контрольные данные, вычисляемые из блоков одной полосы RAID. Один блок чётности защищает от отказа одного диска, два независимых блока RAID 6 — от отказа двух.
Dedicated Hot Spare — резервный диск RAID-контроллера, закреплённый за конкретным массивом или группой массивов и используемый для rebuild только при отказе их дисков.
Global Hot Spare — резервный диск RAID-контроллера, не закреплённый за одним массивом и доступный для автоматической замены отказавшего диска в любом совместимом массиве.
Заранее подключённый резервный накопитель RAID-системы, автоматически задействуемый для rebuild отказоустойчивого массива при отказе совместимого рабочего диска.
Технология объединения нескольких накопителей в логические блочные устройства для повышения производительности и/или отказоустойчивости в зависимости от RAID-уровня.
RAID 0 — массив минимум из двух дисков с чередованием данных без избыточности. Отказ любого участника делает весь логический том недоступным.
RAID 1 — уровень RAID с зеркалированием данных на двух или более дисках. Полезная ёмкость равна ёмкости наименьшего участника, а доступ сохраняется, пока исправна хотя бы одна копия.
Комбинированный уровень: чередование (RAID 0) поверх зеркальных пар (RAID 1). Сочетает высокую скорость и отказоустойчивость, отдавая под избыточность половину ёмкости.
RAID 5 — уровень RAID с чередованием данных и распределённой чётностью, выдерживающий отказ одного диска. Требует минимум трёх дисков.
Уровень RAID с чередованием данных и двойной распределённой чётностью. Выдерживает отказ любых двух дисков; минимум четыре диска.
RAID-уровень — схема размещения данных и избыточности по накопителям массива, определяющая полезную ёмкость, отказоустойчивость и характеристики ввода-вывода.

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

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

Сколько минимум дисков нужно для RAID 5?

Минимум три рабочих диска. В RAID 5 полезная планировочная ёмкость равна (N−1)×S, поскольку ёмкость одного диска эквивалентна чётности. Для целевой ёмкости V число рабочих дисков рассчитывают как max(3, ceil(V/S)+1). Hot Spare в это количество не входит.

Сколько минимум дисков нужно для RAID 6?

Минимум четыре рабочих диска. RAID 6 расходует эквивалент ёмкости двух дисков на чётность, поэтому его полезная планировочная ёмкость составляет (N−2)×S. Для требуемой ёмкости V используйте формулу max(4, ceil(V/S)+2). Отдельный Hot Spare добавляют к закупочному количеству после расчёта рабочих дисков.

Сколько минимум дисков нужно для RAID 10?

Минимум четыре рабочих диска, то есть две зеркальные пары. В базовом RAID 10 половина сырой ёмкости уходит на зеркалирование, а полезная ёмкость равна (N/2)×S. Для цели V количество рабочих дисков считают по формуле max(4, 2×ceil(V/S)); оно всегда получается чётным.

Увеличивает ли Hot Spare ёмкость RAID-массива?

Нет, Hot Spare не увеличивает ни полезную, ни сырую ёмкость рабочих дисков массива. Он не входит в число рабочих дисков N и в расчёт N×S: это отдельный резервный накопитель для отказоустойчивого массива. Сначала определяют N, затем добавляют нужное число Hot Spare к количеству дисков для закупки.

Почему диск 8 TB в ОС выглядит как 7,276 TiB?

Это нормально: производители обычно указывают ёмкость в десятичных TB, а TiB — двоичная единица. Один TB примерно равен 0,9095 TiB, поэтому диск 8 TB содержит около 7,276 TiB ещё до RAID. Некоторые ОС показывают двоичное значение, но могут подписывать его как TB или GB.

Как считать RAID из дисков разной ёмкости?

Для консервативного расчёта берите S по наименьшему рабочему диску. Например, в RAID 5 из дисков 8, 8 и 12 TB расчёт ведут с S=8 TB, поэтому планировочная полезная ёмкость составит (3−1)×8=16 TB. Остаток на более крупном диске нельзя заранее считать доступным: это зависит от контроллера и реализации RAID.