Debian 11. Создаем и управляем программным RAID через mdadm

Будем создавать и управлять программным 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)

Посмотреть файловую систему на разделе можно командой wipefs /dev/s..
Удалить файловую 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
mdadm: /dev/md/0 has been started with 3 drives.

Готово

Если не помогло

Только если подобного ответа не получаем, то нужно удалить /etc/mdadm.conf, сделать заново первую команду и добавить массив в автозагрузку:

mdadm --detail --scan >> /etc/mdadm/mdadm.conf

После этого обновить initframs:

update-initramfs -u

Если совсем не помогло

Ниже статья.

mdadm --examine --scan

Должно получиться примерно так:

ARRAY /dev/md/0  metadata=1.2 UUID=2209f872:088d57b0:62346d18:5d1bb8d7 name=DVR:0
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/

https://www.angald.ru/mdadm-debian-linux/#3_%D0%92%D0%BE%D1%81%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_mdadmconf_Initramfs

Ссылки

https://recoverhdd.com/blog/creating-the-software-mdadm-raid-in-linux.html?unapproved=1777&moderation-hash=078a82a68a864092787364f3542342b8#comment-1777

https://techviewleo.com/configure-software-raid-on-debian/

Оставьте ответ

Ваш адрес email не будет опубликован.

36 ÷ = 4