Оглавление
Будем создавать и управлять программным RAID в Debian Linux с помощью mdadm.
Как создать программный RAID с помощью mdadm
Что такое mdadm?
Утилита mdadm используется в Linux для создания RAID любого уровня. Также, mdadm может увеличивать или уменьшать RAID массивы, контролировать статус RAID массива и пр.
В некоторых дистрибутивах mdadm включен по умолчанию. Мы будем устанавливать его с нуля.
Установим mdadm
Для Debian:
apt install mdadm
Для CentOS/Fedora/RedHat:
yum install mdadm
Подготовка дисков
Посмотрим все диски подключенные в систему:
lsblk
В нашем случае будем объединять два диска sdb и sdc по 8 терабайт в RAID1
Проблема в том, что достаточно сложно подобрать абсолютно идентичный диск на замену, потому что даже одни и те же модели дисков из разных партий могут иметь разный размер. Если новый диск будет всего на несколько мегабайт меньше, процесс восстановления прервется с ошибкой.
Если же новый диск будет больше, то лишнее место не будет использоваться. То есть, нет никакого смысла переплачивать за диски, можно поступить проще – просто удаляем старый раздел и создаем точно такой же новый.
После того как диски выбраны, идем дальше.
Создаем программный RAID через mdadm
Очищаем всю информацию о предыдущих массивах:
mdadm --zero-superblock --force /dev/sdb
mdadm --zero-superblock --force /dev/sdс
Если появляется ошибка “mdadm: Unrecognised md component device – …“, значит на дисках не было записей о предыдущих RAID, все хорошо.
Создаем таблицу разделов на каждом диске:
parted /dev/sdb mklabel gpt
parted /dev/sdс mklabel gpt
Создаем разделы на каждом диске. Отрезаем по 10 гигабайт, чтобы было проще менять потом диски:
parted /dev/sdb mkpart primary 2048 7990Gb
parted /dev/sdc mkpart primary 2048 7990Gb
2048 – размер блока (если возникнет ошибка, можно его увеличить, например поставить 1mib)
Удалить файловую cистему с раздела при необходимости можно командой wipefs -a /dev/s..
Создаем программный RAID через mdadm:
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
После этой команды запустится процесс синхронизации массива. Это может занять длительное время.
Проверить текущий результат синхронизации можно командой:
cat /proc/mdstat
После того как синхронизация завершится, можно создавать файловую систему на самом массиве.
Создаем файловую систему на RAID массиве
mkfs.ext4 /dev/md0
Создаем папку и монтируем туда раздел:
mkdir /md0
mount /dev/md0 /md0
Сохраняем массив и добавляем его в автозагрузку
Нам надо сделать так, чтобы после перезагрузки системы все настройки сохранились:
mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
Также нужно обновить initframs, для поддержки массива:
update-initramfs -u
Добавим массив в автозагрузку.
Узнаем UUID массива:
blkid /dev/md0
nano /etc/fstab
Добавляем строчку:
UUID=2f607246-537c-49ba-9e54-e27f3c2 /md0 ext4 errors=remount-ro 0 0
Сохраняем изменения, перезагружаем ПК.
Перенос программного RAID на новый ПК
Простой случай
Например, если сгорела материнка и нужно приживить существующий RAID на новой. Или, возможно, вы просто переустановили систему и хотите перенести программный RAID на новую ОС.
Переносим диски. На новой ОС Linux делаем:
mdadm --assemble --scan
Готово
Если не помогло
Только если подобного ответа не получаем, то нужно удалить /etc/mdadm.conf, сделать заново первую команду и добавить массив в автозагрузку:
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
После этого обновить initframs:
update-initramfs -u
Если совсем не помогло
Ниже статья.
mdadm --examine --scan
Должно получиться примерно так:
ARRAY /dev/md/1 metadata=1.2 UUID=d396ef0c:99a65f80:247ca8d3:01c8e847 name=DVR:1
Этот вывод записываем в файл /etc/mdadm/mdadm.conf:
mdadm --examine --scan > /etc/mdadm/mdadm.conf
После этого нужно пересобрать массивы:
mdadm --assemble --scan
Затем нужно обновить mdadm в initramfs:
mdadm --examine --scan > sudo /etc/mdadm/mdadm.confupdate-initramfs -u
После этого обновить initframs:
update-initramfs -u
https://www.funkypenguin.co.nz/blog/importing-existing-raid-devices-new-linux-installation/