====== mdadm (raid) ======
Інструкція з налаштування програмного Raid за допомогою mdadm
===== Створення RAID1 з дисків sda (існуюча система) і sdb на працюючій Ubuntu 24 =====
Попередження:
* Рекомендується **бекап** важливих даних!
* Усі дії — на свій страх і ризик.
* RAID1 створюється поступово, спочатку з одного диска (sdb), потім додаємо диск з існуючою системою (sda) у дзеркало.
==== 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) ====
* Переконайся, що всі розділи на 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.
==== 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