RAID-массивы в серверах Yandex BareMetal
Для повышения отказоустойчивости и производительности работы дисковой подсистемы серверов BareMetal вы можете использовать RAID-массивы.
RAID (Redundant Array of Independent Disks)
Уровни RAID
Логика одновременной работы нескольких дисков в RAID-массиве может быть разной. В зависимости от реализуемой логики применяются разные уровни RAID, наиболее распространенными из которых являются:
|
Уровень |
Реализуемая логика |
Отказоустойчивость |
Производительность |
Сценарии использования |
|
Чередование (striping) — данные распределяются по дискам |
Нет Каждый дополнительный диск снижает отказоустойчивость |
Максимальная |
|
|
|
Зеркалирование (mirroring) — один диск полностью дублирует другой |
Да (1 диск) |
Чтение быстрее записи |
|
|
|
Чередование с распределенной четностью — данные распределены на трех и более дисках |
Да (1 диск) |
Хороший баланс |
|
|
|
Комбинация |
Да (по 1 в каждой паре) |
Высокая |
|
Для большинства задач достаточно описанных выше уровней RAID 0, RAID 1, RAID 5 и RAID 10. При этом существуют и другие уровни RAID: RAID 2, RAID 3, RAID 4, RAID 6, RAID 50, RAID 60 и т.п., но в эксплуатации серверов они применяются редко.
Способы реализации RAID в серверах BareMetal
Управлять RAID-массивами в серверах BareMetal вы можете с использованием нескольких разных технологических решений: программный RAID, аппаратный RAID, RAID на встроенном контроллере материнской платы и Intel vROC.
Программный RAID (Software RAID)
Программный RAID реализуется непосредственно средствами операционной системы без участия специализированного аппаратного контроллера.
Linux
В операционных системах LinuxRAID 1 поддерживается большинством дистрибутивов — соответствующий параметр настраивается на этапе установки в разделе разметки дисков.
Windows Server
В операционных системах семейства Windows ServerStorage Spaces (начиная с Windows Server 2012). Технология позволяет создавать зеркальные (RAID 1), чередующиеся (RAID 0) тома, а также тома с распределенной четностью (RAID 5).
Установка операционной системы на зеркальный том возможна, однако требует дополнительных шагов: зеркало настраивается через управление динамическими дисками уже после установки системы на один из дисков. UEFI-загрузка с тома Storage Spaces поддерживается в актуальных версиях семейства Windows Server при корректной конфигурации.
Преимущества:
- независимость от аппаратной части — массив можно перенести на другой сервер с любым контроллером;
- не требует дополнительных затрат на оборудование;
- гибкость настройки и мониторинга средствами операционной системы.
Недостатки:
- управление RAID-массивом расходует вычислительные ресурсы центрального процессора;
- отсутствие аппаратного кеша;
- отсутствие поддержки программного RAID в некоторых операционных системах или продуктах.
Аппаратный RAID (Hardware RAID)
Аппаратный RAID реализуется с помощью отдельного физического контроллера, который устанавливается в сервер. Контроллер берет на себя все вычисления по управлению массивом: расчет четности, восстановление данных, кеширование операций. Центральный процессор сервера не участвует в управлении RAID-массивом.
Различные контроллеры поддерживают разные типы дисковых интерфейсов. Большинство моделей контроллеров работают с дисками SATA
Преимущества:
- снятие нагрузки с центрального процессора;
- наличие аппаратного кеша в большинстве случаев ускоряет операции случайного чтения/записи;
- прозрачность для операционной системы — обращение к RAID-массиву происходит как к обычному диску.
Недостатки:
- требует дополнительных затрат на оборудование.
RAID на встроенном контроллере материнской платы (Fake RAID)
Fake RAID — это технология, занимающая промежуточное положение между аппаратным и программным RAID и реализованная производителями материнских плат во встроенных RAID-контроллерах Intel RSTAMD RAIDXpert.
Встроенные RAID-контроллеры реализованы на уровне микропрограммы материнской платы, которая эмулирует блочное устройство с базовыми функциями для загрузчика. При этом, чтобы операционная система могла полноценно использовать такие RAID-массивы, в ОС необходима установка драйвера для встроенного RAID-контроллера. Некоторые материнские платы не имеют встроенных RAID-контроллеров.
Некоторые операционные системы и программные продукты не позволяют использовать RAID-массивы, созданные на контроллерах Fake RAID (например, VMware ESXi
Преимущества:
- частичное снятие нагрузки с центрального процессора;
- не требует дополнительных затрат на оборудование;
- прозрачность для операционной системы — обращение к RAID-массиву происходит как к обычному диску.
Недостатки:
- встроенный контроллер может отсутствовать в некоторых материнских платах;
- отсутствие аппаратного кеша;
- невозможность использования в некоторых операционных системах или продуктах.
Подробнее о создании RAID-массива на встроенном контроллере материнской платы читайте в разделе Дополнительные настройки серверов.
Intel vROC (Virtual RAID on CPU)
Intel vROC
Главное преимущество Intel vROC перед аппаратными RAID-контроллерами заключается в отсутствии посредника между центральным процессором и NVMe-дисками. Данные передаются напрямую по шине PCIe, что минимизирует задержки.
Преимущества:
- максимальная производительность для RAID-массивов из NVMe-дисков;
- полная поддержка всех уровней RAID.
Недостатки:
- работает только с NVMe-дисками;
- доступна только на серверах с процессорами Intel;
- для работы vROC требуется получить специальный ключ активации.
Сравнительная таблица способов реализации RAID
| Параметр | Программный RAID | Аппаратный RAID | Встроенный контроллер | Intel vROC |
|---|---|---|---|---|
| Тип дисков | HDD, SSD, NVMe | HDD, SSD, NVMe | HDD, SSD, NVMe | Только NVMe |
| Нагрузка на CPU | Есть | Нет | Минимальная | Минимальная |
| Аппаратный кеш | Нет | Да | Нет | Нет |
| Независимость от аппаратной части | Да | Нет | Нет | Нет |
| Производительность | Средняя | Высокая | Средняя | Высокая |
| Поддержка RAID уровней 0, 1, 5, 10 | Да | Да | Да | Да |