• Как перенести работающую ОС Debian 11 на RAID1 с имеющейся LVM разметкой?

    Melkij
    @Melkij
    PostgreSQL DBA
    Решили что следующая схема распределения объема HDD будет наиболее подходящей:
    SWAP - RAID1 - 5Gb
    / - RAID1 - 24Gb
    /home - RAID5 - все оставшееся место

    не трогаете sda вообще на данном этапе!

    Вы забыли /boot упомянуть, предположу что считаем его как гигабайтный раздел без существенных изменений.
    Игнорируем разметку sda полностью, делаете таблицы разделов на sd[bcd] как
    1MiB bios_grub
    1GiB boot
    29GiB sys
    всё остальное data

    mdadm -C /dev/md0 -l 1 -n 4 missing /dev/sdb2 /dev/sdc2 /dev/sdd2
    mdadm -C /dev/md1 -l 1 -n 4 missing /dev/sdb3 /dev/sdc3 /dev/sdd3
    mdadm -C /dev/md2 -l 5 -n 4 missing /dev/sdb4 /dev/sdc4 /dev/sdd4 # другие опции по вкусу

    ждёте resync, обновляете mdadm.conf, отправляете железку в ребут для проверки что массивы корректно собираются сами.

    pvinit, vgextend новых md1 и md2 в имеющийся LVM
    pvmove root и swap на md1, хомяка на md2

    umount /boot , dd if=/dev/sda2 of=/dev/md0, grub-install /dev/sdb , grub-install /dev/sdc , grub-install /dev/sdd, обновить fstab вместо sda2 записать md0

    контрольный ребут

    vgreduce sda3 из lvm, удаляете таблицу разделов sda и создаёте новую идентичную прочим дискам,
    mdadm /dev/md0 -a /dev/sda2
    mdadm /dev/md1 -a /dev/sda3
    mdadm /dev/md2 -a /dev/sda4

    после resync всё готово. Через lvresize расширить размеры томов ну и resize2fs как обычно.
    Ответ написан