====== 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