Stan's blog

Linux

Перенос системы Ubuntu linux 24.04 на программный RAID 1, /boot находится внутри /dev/md0

15 июня 2025
Помогал DeepSeek. Все завелось сразу, без танцев с бубном.
Я делал отдельный раздел для /var/log/, потому, что несколько раз уже попадал в ситуацию, когда что-то забивало лог, а собственно и / под завязку.

Перенос Ubuntu 24.04 на RAID 1 (зеркало) с двумя новыми дисками

🔹 Шаг 1: Подготовка

  1. Подключите новые диски (/dev/sdb, /dev/sdc).
  2. Проверьте их наличие:
  3. lsblk -f

  4. (Допустим, текущая система на /dev/sda, новые диски — /dev/sdb и /dev/sdc).
  5. Установите mdadm (если нет):
  6. sudo apt update && sudo apt install mdadm -y

🔹 Шаг 2: Создание RAID 1 на новых дисках

  1. Разметьте диски в GPT (если не размечены):
  2. sudo parted /dev/sdb mklabel gpt
    sudo parted /dev/sdc mklabel gpt
  3. Создайте разделы (аналогично текущей системе):

    • Пример для UEFI (с ESP):
    • sudo parted /dev/sdb mkpart primary fat32 1MiB 513MiB   # ESP (для UEFI)
      sudo parted /dev/sdb set 1 esp on
      sudo parted /dev/sdb mkpart primary ext4 513MiB 100%    # Корневой раздел

    • Повторите для /dev/sdc.
    • Для BIOS (Legacy):
    • sudo parted /dev/sdb mkpart primary 1MiB 2MiB           # BIOS Boot Partition
      sudo parted /dev/sdb set 1 bios_grub on
      sudo parted /dev/sdb mkpart primary ext4 2MiB 100%      # Корневой раздел

    • Повторите для /dev/sdc.
  4. Создайте RAID 1:

    • Для корневого раздела (/):
    • sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb2 /dev/sdc2
    • Для ESP (если UEFI):
    • sudo mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
  5. Проверьте RAID:
  6. cat /proc/mdstat
    sudo mdadm --detail /dev/md0

🔹 Шаг 3: Копирование системы на RAID

  1. Создайте файловые системы:

    • Для корневого раздела:
    • sudo mkfs.ext4 /dev/md0
    • Для ESP (если UEFI):
    • sudo mkfs.fat -F32 /dev/md1
  2. Смонтируйте и скопируйте данные:
  3. sudo mkdir /mnt/newroot
    sudo mount /dev/md0 /mnt/newroot
    sudo rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /mnt/newroot/
    • Если есть ESP, смонтируйте и скопируйте его:
    • sudo mkdir -p /mnt/newroot/boot/efi
      sudo mount /dev/md1 /mnt/newroot/boot/efi
      sudo rsync -aAXv /boot/efi/ /mnt/newroot/boot/efi/

🔹 Шаг 4: Настройка загрузчика

  1. Chroot в новую систему:
  2. sudo mount --bind /dev /mnt/newroot/dev
    sudo mount --bind /proc /mnt/newroot/proc
    sudo mount --bind /sys /mnt/newroot/sys
    sudo chroot /mnt/newroot
  3. Обновите fstab:
  4. nano /etc/fstab

  5. Замените UUID корневого раздела и ESP (если есть) на новые:
  6. blkid /dev/md0  # Узнайте UUID
    blkid /dev/md1  # (для ESP)
  7. Переустановите GRUB:

    • Для UEFI:
    • grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu --recheck
    • Для BIOS:
    • grub-install /dev/sdb
      grub-install /dev/sdc
    • Обновите конфигурацию:
    • update-grub
  8. Выйдите из chroot:
  9. exit

🔹 Шаг 5: Перезагрузка и проверка

  1. Выключите компьютер:
  2. sudo reboot
  3. В BIOS/UEFI выберите загрузку с нового диска (например, /dev/sdb).
  4. Проверьте RAID:
  5. cat /proc/mdstat
    sudo mdadm --detail /dev/md0

🔹 Важные замечания

  • Резервное копирование: Перед началом сохраните важные данные.
  • Если система не загружается:

    • Проверьте, что GRUB установлен на оба диска (/dev/sdb и /dev/sdc).
    • Убедитесь, что в BIOS/UEFI выбран правильный режим загрузки (UEFI/Legacy).
  • Для LVM: Если исходная система использует LVM, потребуется переносить логические тома.