[Документация Yandex Cloud](../../../index.md) > [Yandex BareMetal](../../index.md) > [Концепции](../index.md) > Серверы > Диски и RAID > RAID

# RAID-массивы в серверах Yandex BareMetal

Для повышения отказоустойчивости и производительности работы дисковой подсистемы серверов BareMetal вы можете использовать _RAID_-массивы.

[RAID (Redundant Array of Independent Disks)](https://ru.wikipedia.org/wiki/RAID) — это технология объединения нескольких физических дисков в единый логический массив. В RAID-массивах данные могут дублироваться одновременно на нескольких дисках, и при выходе из строя части дисков данные не потеряются, а сам RAID-массив продолжит работать как единое блочное устройство. Кроме того, операции чтения и записи в RAID-массиве могут распределяться между несколькими дисками, что позволяет кратно увеличить производительность операций с данными.

## Уровни RAID {#levels}

Логика одновременной работы нескольких дисков в RAID-массиве может быть разной. В зависимости от реализуемой логики применяются разные _уровни_ RAID, наиболее распространенными из которых являются:

![raid-levels](../../../_assets/baremetal/raid-levels.svg)

#|
|| **Уровень** | **Реализуемая логика** | **Отказоустойчивость** | **Производительность** | **Сценарии использования** ||
||
[RAID 0](https://ru.wikipedia.org/wiki/RAID#RAID_0) |
Чередование (striping) — данные распределяются по дискам |
Нет

Каждый дополнительный диск снижает отказоустойчивость |
Максимальная |
* работа с временными данными
* работа с кешем
* задачи, в которых важна скорость, а потеря данных допустима
||
|| 
[RAID 1](https://ru.wikipedia.org/wiki/RAID#RAID_1) |
Зеркалирование (mirroring) — один диск полностью дублирует другой |
Да (1 диск) |
Чтение быстрее записи |
* системный диск
* небольшие критичные базы данных
||
||
[RAID 5](https://ru.wikipedia.org/wiki/RAID#RAID_5) |
Чередование с распределенной четностью — данные распределены на трех и более дисках |
Да (1 диск) |
Хороший баланс |
* файловые серверы
* универсальное хранилище с балансом надежности и емкости 
||
||
[RAID 10](https://ru.wikipedia.org/wiki/RAID#RAID_10_(RAID_1+0)) |
Комбинация `RAID 1` + `RAID 0` (чередование массивов `RAID 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 {#implementation}

Управлять RAID-массивами в серверах BareMetal вы можете с использованием нескольких разных технологических решений: [программный](#software-raid) RAID, [аппаратный](#hardware-raid) RAID, RAID [на встроенном контроллере материнской платы](#fake-raid) и [Intel vROC](#vroc).

### Программный RAID (Software RAID) {#software-raid}

Программный RAID реализуется непосредственно средствами операционной системы без участия специализированного аппаратного контроллера.

#### Linux {#linux}

В операционных системах [Linux](https://ru.wikipedia.org/wiki/Linux) используется стандартная утилита [mdadm](https://ru.wikipedia.org/wiki/Mdadm). Она позволяет создавать RAID-массивы из любых дисков, доступных системе, и управлять ими средствами ОС. Установка операционной системы непосредственно на программный `RAID 1` поддерживается большинством дистрибутивов — соответствующий параметр настраивается на этапе установки в разделе разметки дисков.

#### Windows Server {#windows}

В операционных системах семейства [Windows Server](https://ru.wikipedia.org/wiki/Windows_Server) программный RAID реализован  с помощью технологии `Storage Spaces` (начиная с Windows Server 2012). Технология позволяет создавать зеркальные (`RAID 1`), чередующиеся (`RAID 0`) тома, а также тома с распределенной четностью (`RAID 5`). 

Установка операционной системы на зеркальный том возможна, однако требует дополнительных шагов: зеркало настраивается через управление динамическими дисками уже после установки системы на один из дисков. UEFI-загрузка с тома Storage Spaces поддерживается в актуальных версиях семейства Windows Server при корректной конфигурации.

**Преимущества:**

* независимость от аппаратной части — массив можно перенести на другой сервер с любым контроллером;
* не требует дополнительных затрат на оборудование;
* гибкость настройки и мониторинга средствами операционной системы.

**Недостатки:**

* управление RAID-массивом расходует вычислительные ресурсы центрального процессора;
* отсутствие аппаратного кеша;
* отсутствие поддержки программного RAID в некоторых операционных системах или продуктах.

### Аппаратный RAID (Hardware RAID) {#hardware-raid}

Аппаратный RAID реализуется с помощью отдельного физического контроллера, который [устанавливается](../server-individual-configurations.md#gpu-and-raid) в сервер. Контроллер берет на себя все вычисления по управлению массивом: расчет четности, восстановление данных, кеширование операций. Центральный процессор сервера не участвует в управлении RAID-массивом.

Различные контроллеры поддерживают разные типы дисковых интерфейсов. Большинство моделей контроллеров работают с дисками [SATA](https://ru.wikipedia.org/wiki/SATA) и [SAS](https://ru.wikipedia.org/wiki/Serial_Attached_SCSI), но в Yandex BareMetal есть контроллеры с поддержкой [NVMe](disk-types.md#nvme)-накопителей.

**Преимущества:**

* снятие нагрузки с центрального процессора;
* наличие аппаратного кеша в большинстве случаев ускоряет операции случайного чтения/записи;
* прозрачность для операционной системы — обращение к RAID-массиву происходит как к обычному диску.

**Недостатки:**

* требует дополнительных затрат на оборудование.

### RAID на встроенном контроллере материнской платы (Fake RAID) {#fake-raid}

_Fake RAID_ — это технология, занимающая промежуточное положение между аппаратным и программным RAID и реализованная производителями материнских плат во встроенных RAID-контроллерах [Intel RST](https://ru.wikipedia.org/wiki/RAID#Matrix) и `AMD RAIDXpert`.

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

Некоторые операционные системы и программные продукты не позволяют использовать RAID-массивы, созданные на контроллерах Fake RAID (например, VMware [ESXi](https://ru.wikipedia.org/wiki/VMware_ESXi)).

**Преимущества:**

* частичное снятие нагрузки с центрального процессора;
* не требует дополнительных затрат на оборудование;
* прозрачность для операционной системы — обращение к RAID-массиву происходит как к обычному диску.

**Недостатки:**

* встроенный контроллер может отсутствовать в некоторых материнских платах;
* отсутствие аппаратного кеша;
* невозможность использования в некоторых операционных системах или продуктах.

Подробнее о создании RAID-массива на встроенном контроллере материнской платы читайте в разделе [Дополнительные настройки серверов](../server-advanced-settings.md#rst-raids).

### Intel vROC (Virtual RAID on CPU) {#vroc}

[Intel vROC](https://ru.wikipedia.org/wiki/Intel_VROC) — это RAID-контроллер, продолжающий развитие технологии [Intel RST](https://ru.wikipedia.org/wiki/RAID#Matrix). RAID-массив на Intel vROC создается из [NVMe](disk-types.md#nvme)-накопителей, необходимые для его работы вычисления выполняются центральным процессором сервера, при этом управление массивом осуществляется на уровне прошивки ([UEFI](https://ru.wikipedia.org/wiki/Extensible_Firmware_Interface)), а не операционной системы.

Главное преимущество Intel vROC перед аппаратными RAID-контроллерами заключается в отсутствии посредника между центральным процессором и NVMe-дисками. Данные передаются напрямую по шине PCIe, что минимизирует задержки. 

**Преимущества:**

* максимальная производительность для RAID-массивов из NVMe-дисков;
* полная поддержка всех [уровней](#levels) RAID.

**Недостатки:**

* работает только с NVMe-дисками;
* доступна только на серверах с процессорами Intel;
* для работы vROC требуется получить специальный ключ активации.


### Сравнительная таблица способов реализации RAID {#comparison}

| Параметр | Программный RAID | Аппаратный RAID | Встроенный контроллер | Intel vROC |
| --- | --- | --- | --- | --- |
| Тип дисков | [HDD](disk-types.md#hdd), [SSD](disk-types.md#ssd), [NVMe](disk-types.md#nvme) | HDD, SSD, NVMe | HDD, SSD, NVMe | Только NVMe |
| Нагрузка на CPU | Есть | Нет | Минимальная | Минимальная |
| Аппаратный кеш | Нет | Да | Нет | Нет |
| Независимость от аппаратной части | Да | Нет | Нет | Нет |
| Производительность | Средняя | Высокая | Средняя | Высокая |
| Поддержка RAID уровней 0, 1, 5, 10 | Да | Да | Да | Да |

#### Полезные ссылки {#see-also}

* [Типы дисков в серверах Yandex BareMetal](disk-types.md)
* [Заменить диск в RAID-массиве](../../operations/servers/switch-raid-member.md)
* [Дополнительные настройки серверов](../server-advanced-settings.md)