linux:files:raid:mdadm

mdadm (raid)

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

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

  • Рекомендується бекап важливих даних!
  • Усі дії — на свій страх і ризик.
  • RAID1 створюється поступово, спочатку з одного диска (sdb), потім додаємо диск з існуючою системою (sda) у дзеркало.
sudo apt update
sudo apt install mdadm

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

sudo sgdisk --zap-all /dev/sdb
sudo sgdisk -R=/dev/sdb /dev/sda   # Копіюємо розділи sda на sdb
sudo sgdisk -G /dev/sdb               # Генеруємо нові унікальні GUID для sdb
  • Переконайся, що всі розділи на sda — наприклад /dev/sda1, /dev/sda2 і т.д.
  • Для кожного розділу створюємо RAID-масив із одним активним диском (sda), щоб можна було додати sdb потім.

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

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

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

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

Для кожного розділу (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 після копіювання.

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
sudo chroot /mnt

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

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

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

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

Використовуй 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
sudo reboot
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
  • linux/files/raid/mdadm.txt
  • Востаннє змінено: 06/06/2025 06:01
  • (зовнішнє редагування)