Программный RAID (mdadm)
1. Установка mdadm и создание RAID
Установите утилиту и создайте массив нужного уровня. Замените `/dev/sd[b-e]` на ваши диски. Перед этим убедитесь, что они не содержат нужных данных.
Установка:
sudo apt update && sudo apt install -y mdadm
Пример создания RAID 1 (зеркало, 2 диска):
sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc
Пример создания RAID 5 (мин. 3 диска):
sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd
Пример создания RAID 6 (мин. 4 диска):
sudo mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sdb /dev/sdc /dev/sdd /dev/sde
Пример создания RAID 10 (мин. 4 диска):
sudo mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sdb /dev/sdc /dev/sdd /dev/sde
2. Настройка и автоподключение RAID
После создания массив нужно отформатировать и настроить для автозагрузки.
Шаг А: Отформатируйте RAID-массив.
sudo mkfs.ext4 /dev/md0
Шаг Б: Сохраните конфигурацию массива, чтобы он собирался при загрузке.
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
Шаг В: Обновите initramfs, чтобы ядро знало о RAID на раннем этапе загрузки.
sudo update-initramfs -u
Шаг Г: Добавьте массив в `/etc/fstab` для автоматического монтирования, используя его UUID.
# Узнаем UUID массива
sudo blkid /dev/md0
#Добавляем в /etc/fstab (замените UUID и /mnt/raid)
UUID=a1b2c3d4-e5f6-7890-1234-567890abcdef /mnt/raid ext4 defaults,nofail,discard 0 2
Комментарии к опциям монтирования:
nofail: критически важно для RAID. Если массив не соберется при загрузке, система не "зависнет" в ожидании.discard: полезная опция, если ваш RAID собран на SSD-дисках. Включает поддержку TRIM для повышения производительности и долговечности.
Разбор последних двух параметров: `[dump]` и `[pass]`
Две последние цифры в строке `fstab` (`0 2`) управляют резервным копированием и проверкой файловой системы при загрузке.
- Первая цифра (`dump`): Управляет утилитой резервного копирования `dump`.
0: Не создавать резервную копию. Это стандартное значение для 99% систем, так как `dump` редко используется в наши дни.1: Создавать резервную копию.
- Вторая цифра (`pass` или `fsck`): Определяет порядок проверки файловой системы (`fsck`) при загрузке.
0: Не проверять. Используется для swap-разделов, сетевых файловых систем или виртуальных ФС.1: Проверять в первую очередь. Этот параметр должен использоваться ИСКЛЮЧИТЕЛЬНО для корневого раздела (`/`).2: Проверять во вторую очередь. Используется для всех остальных локальных разделов, которые вы хотите проверять при загрузке (например, `/home`, `/var`, или, как в нашем примере, `/mnt/data`).
Итог: Для всех дополнительных дисков и разделов с данными (не корневых) самая правильная и распространенная комбинация — 0 2.