От уровня массива зависит, сколько дисков может отказать без потери данных и сколько места остаётся под файлы.
RAID собирает несколько дисков в одно устройство. В Linux массив собирает драйвер ядра md, а создаёт и чинит его утилита mdadm. Устройство массива — /dev/md0: в lsblk оно стоит под обоими дисками с типом raid1, и на нём лежит файловая система из /srv/data. Файловая система дисков массива не видит: читает и пишет она через md0, а ядро раскладывает блоки по дискам.
Как раскладывать, задаёт уровень массива:
| Уровень | Дисков, не меньше | Переживает отказ | Места из N дисков |
|---|---|---|---|
| RAID 0, полоса | 2 | ни одного диска | N |
| RAID 1, зеркало | 2 | всех дисков, кроме одного | один диск |
| RAID 5 | 3 | одного диска | N − 1 |
| RAID 10 | 4 | одного диска в каждой паре | N / 2 |
Зеркало пишет каждый блок на все диски сразу, а читает с любого рабочего. Поэтому после отказа loop1 файлы читаются с loop0, а md0 в lsblk размером с один диск: 127M из 128M, остальное занимает служебная запись mdadm.
RAID защищает от отказа диска. От ошибки человека он не спасает: удалённый файл пропадёт с обоих дисков сразу, поэтому резервные копии нужны и с массивом.
Под временные файлы сборки собрали RAID 0 из двух дисков. Что будет с файлами массива, когда один диск откажет?
-
Чётность есть у RAID 5 и RAID 6. В RAID 0 нет ни копий, ни чётности — восстанавливать не из чего.
-
Так работает RAID 1. В полосе каждый блок лежит на одном диске, и второй диск копии не хранит.
-
Полоса режет на куски каждый файл и раскладывает их по дискам поочерёдно, поэтому без одного диска не собрать почти ни одного файла.
В полосе каждый блок хранится в одном экземпляре, а файлы разложены по обоим дискам кусками. Без одного диска массив не собрать, и данные пропадают целиком — поэтому RAID 0 берут под то, что не жалко потерять.
Главное в шаге
-
Массив md — одно устройство
/dev/mdNиз нескольких дисков: файловая система лежит на нём и дисков не видит. - Уровень задаёт, сколько отказов массив переживёт: зеркало держит полную копию на каждом диске, полоса — ни одной.
- RAID спасает от отказа диска, а от удаления файла спасает только резервная копия.