Зміст

mdadm (raid)

Інструкція з налаштування програмного Raid за допомогою mdadm

Створення RAID1 з дисків sda (існуюча система) і sdb на працюючій Ubuntu 24

Попередження:

1. Встановлення mdadm

sudo apt update
sudo apt install mdadm

2. Підготовка диска sdb

Очисти sdb, створити на ньому таблицю розділів та розмітку, схожу на sda:

sudo sgdisk --zap-all /dev/sdb
sudo sgdisk -R=/dev/sdb /dev/sda   # Копіюємо розділи sda на sdb
sudo sgdisk -G /dev/sdb               # Генеруємо нові унікальні GUID для sdb

3. Створення RAID1-масиву на одному диску (sdb)

Наприклад, для розділу sdb1 (дзеркально sda1):

sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 missing /dev/sdb1

missing — означає, що поки що в масиві лише один диск, другий додамо пізніше.

Увага! Так робимо для кожного розділу, що хочеш дзеркалити. Наприклад: три розділи sda1, sda2, sd3 - дзеркально md0, md1, md2.

4. Копіювання даних з sdaX на mdX

Для кожного розділу (sda1 + md0, sda2 + md1, sda3 + md2):

sudo mount /dev/sda1 /mnt/source
sudo mkfs.ext4 /dev/md0
sudo mount /dev/md0 /mnt/target

sudo rsync -aHAXv /mnt/source/ /mnt/target/
sudo umount /mnt/source /mnt/target

Можна також змонтувати нові mdX замість sdaX в /etc/fstab після копіювання.

5. Перемонтування для chroot

sudo mount /dev/md0 /mnt
sudo mount /dev/md3 /mnt/boot
sudo mount /dev/md2 /mnt/boot/efi

# bind mounts для chroot
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys

6. Chroot + GRUB + initramfs

sudo chroot /mnt

# оновлення initramfs
update-initramfs -u

# оновлення GRUB
update-grub

# установка GRUB на обидва диски
grub-install /dev/sda
grub-install /dev/sdb

exit

7. mdadm.conf і initramfs

sudo mdadm --detail --scan | sudo tee /etc/mdadm/mdadm.conf
sudo update-initramfs -u

6. Перевірити /etc/fstab

Використовуй UUID для /, /boot, /boot/efi. Отримати можна так:

blkid

Приклад готового /etc/fstab:

# Root (md0)
UUID=c93f901d-4b2d-4891-a5da-c04d90932675 /           ext4    defaults        0 1

# Boot (md3)
UUID=f9c36a35-d678-45ca-8bf8-5478e74af5aa /boot       ext4    defaults        0 2

# Boot EFI (md2) - для UEFI завантаження
UUID=2785-9DE3                            /boot/efi   vfat    defaults        0 1

7. Перезавантаження

sudo reboot

8. Додавання sda до RAID-масиву

sudo mdadm --add /dev/md0 /dev/sda1
sudo mdadm --add /dev/md3 /dev/sda16
sudo mdadm --add /dev/md2 /dev/sda15

Перевірити статус синхронізації:

cat /proc/mdstat
Фінальний кроком може бути оновлення initramfs ще раз:
sudo mdadm --detail --scan | sudo tee /etc/mdadm/mdadm.conf
sudo update-initramfs -u