Открыть сервис

RAID 10

RAID 10 (также RAID 1+0) — это уровень избыточного массива независимых дисков (RAID), который представляет собой комбинацию двух других уровней: RAID 0 (чередование, striping) и RAID 1 (зеркалирование, mirroring). В классификации стандартных уровней RAID (от 0 до 6) RAID 10 является гибридным или вложенным уровнем, обеспечивающим как высокую производительность за счёт распараллеливания операций чтения/записи, так и отказоустойчивость за счёт дублирования данных. Основная цель RAID 10 — минимизировать время простоя системы при выходе из строя одного или нескольких физических накопителей, сохраняя при этом скорость, близкую к скорости RAID 0.

Принцип работы

RAID 10 строится путём объединения как минимум четырёх дисков. Массив делится на две или более группы, каждая из которых работает в режиме RAID 1 (зеркало). Внутри каждой пары (или группы) дисков данные дублируются: на один диск записывается оригинал, на другой — его точная копия. Затем эти зеркальные группы объединяются в единый логический том с помощью RAID 0, который распределяет данные по всем группам блоками (страйпами) без избыточности. Таким образом, данные одновременно записываются на несколько зеркальных пар, что увеличивает общую пропускную способность.

Отличие от RAID 01

Существует также уровень RAID 01 (RAID 0+1), который является обратной комбинацией: сначала создаётся массив RAID 0, а затем два таких массива зеркалируются. Однако RAID 10 считается более надёжным, так как при выходе из строя одного диска в RAID 10 работоспособность теряет только одна зеркальная пара, а остальные продолжают работать. В RAID 01 отказ одного диска может привести к отказу всего массива, если сбойный диск принадлежит к одному из страйп-наборов, и второй страйп-набор перестаёт быть зеркалом.

История

Технология RAID была впервые описана в 1988 году в статье Дэвида Паттерсона, Гарта Гибсона и Рэнди Катца из Калифорнийского университета в Беркли. В этой работе были определены уровни RAID 0, 1, 2, 3, 4 и 5. RAID 10 как нестандартная комбинация появился позже, в начале 1990-х годов, когда производители контроллеров начали реализовывать вложенные уровни для повышения гибкости. Первые коммерческие реализации RAID 10 появились в серверных системах компаний Compaq, IBM и Dell. В 2000-е годы с распространением SATA- и SAS-дисков RAID 10 стал стандартом для высоконагруженных баз данных и файловых серверов.

Классификация

RAID 10 относится к категории вложенных (nested) уровней RAID. В зависимости от реализации различают:

  • Аппаратный RAID 10 — реализуется на уровне контроллера (RAID-адаптера) с собственным процессором и кэш-памятью. Обеспечивает максимальную производительность и независимость от операционной системы.
  • Программный RAID 10 — реализуется средствами операционной системы (например, mdadm в Linux, Disk Management в Windows Server). Требует ресурсов центрального процессора, но дешевле в развёртывании.
  • Гибридный (firmware-based) RAID 10 — реализуется на материнской плате с помощью встроенного контроллера (например, Intel RST). Менее производителен, чем аппаратный, но не требует отдельной платы.

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

Ёмкость

Полезная ёмкость массива RAID 10 равна сумме ёмкостей всех дисков, делённой на два (при условии, что все диски одинакового размера и количество дисков чётное). Например, для четырёх дисков по 1 ТБ полезная ёмкость составит 2 ТБ. Половина дискового пространства расходуется на зеркалирование.

Производительность чтения

Скорость чтения в RAID 10 приближается к сумме скоростей всех дисков, так как данные могут считываться параллельно со всех зеркальных пар. В идеальных условиях (при равномерном распределении запросов) пропускная способность чтения может быть в N раз выше, чем у одного диска, где N — количество дисков в массиве.

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

Скорость записи ограничена производительностью зеркальных пар, так как каждая запись должна быть продублирована на оба диска пары. Однако при наличии нескольких пар запись может выполняться параллельно, поэтому общая пропускная способность записи примерно равна сумме скоростей записи всех зеркальных пар. В реальных условиях она составляет около 50–70 % от скорости чтения.

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

RAID 10 выдерживает выход из строя одного диска без потери данных. Если в массиве более двух зеркальных пар, возможен отказ нескольких дисков, но только при условии, что они принадлежат разным зеркальным группам. Выход из строя обоих дисков одной пары приводит к неработоспособности массива и потере данных. Восстановление (rebuild) при замене сбойного диска происходит быстрее, чем в RAID 5 или RAID 6, так как данные копируются только с одного зеркального диска, а не пересчитываются по контрольным суммам.

Применение

RAID 10 широко используется в сценариях, где критически важны как скорость, так и надёжность:

  • Базы данных (SQL Server, Oracle, PostgreSQL) — для систем OLTP (online transaction processing), где требуется низкая задержка записи и высокая пропускная способность чтения.
  • Виртуализация — для хранения образов виртуальных машин (VMware vSphere, Hyper-V), где одновременно работают несколько гостевых систем.
  • Файловые серверы — для хранения больших объёмов данных с интенсивным доступом (например, видеомонтаж, научные вычисления).
  • Высоконагруженные веб-серверы — для кэширования и обслуживания статического контента.

Недостатки

  • Высокая стоимость — из-за необходимости использовать вдвое больше дисков по сравнению с RAID 0 или RAID 5 при той же полезной ёмкости.
  • Низкая эффективность использования дискового пространства — только 50 % от общей ёмкости доступно для данных.
  • Ограничение по количеству дисков — массив должен содержать чётное количество дисков (минимум 4), и все диски желательно должны быть одного размера и модели.
  • Сложность масштабирования — добавление нового диска в существующий массив RAID 10 часто требует перестройки всего массива, если контроллер не поддерживает динамическое расширение (online capacity expansion).

Сравнение с другими уровнями RAID

ПараметрRAID 10RAID 5RAID 6RAID 0
Минимальное количество дисков4342
Полезная ёмкость50 %(N-1)/N(N-2)/N100 %
Отказоустойчивость1 диск на пару1 диск2 диска0
Скорость чтенияВысокаяСредняяСредняяОчень высокая
Скорость записиВысокаяНизкая (из-за контрольных сумм)Очень низкаяОчень высокая
Время восстановленияНизкоеВысокоеОчень высокоеН/Д

Интересные факты

  • В некоторых реализациях RAID 10 допускается использование нечётного количества дисков, если одна из зеркальных групп состоит из трёх дисков (RAID 1E), но это нестандартная конфигурация.
  • RAID 10 часто называют «золотым стандартом» для критически важных систем, несмотря на более высокую стоимость, так как он обеспечивает наилучший баланс между производительностью и надёжностью.
  • В современных SSD-массивах RAID 10 может быть избыточен с точки зрения отказоустойчивости, так как SSD имеют значительно более низкую вероятность отказа, чем HDD, но всё равно применяется для гарантии целостности данных.

Источники

  • Patterson, D., Gibson, G., Katz, R. (1988). «A Case for Redundant Arrays of Inexpensive Disks (RAID)». University of California, Berkeley.
  • Chen, P. M., Lee, E. K., Gibson, G. A., Katz, R. H., Patterson, D. A. (1994). «RAID: High-Performance, Reliable Secondary Storage». ACM Computing Surveys.
  • SNIA (Storage Networking Industry Association). «Common RAID Disk Drive Format (DDF) Standard».
  • Техническая документация контроллеров LSI/Broadcom, Adaptec, Intel RST.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →