FreeBSD zfs disk перенос системы

Дано: FreeBSD 13, SATA диск ada0 256гб, GPT загрузчик, файловая система ZFS
Задача: перенести систему на новый диск побольше размером, SSD M.2 1Тб, nvd0

Решение в четыре шага, для диска большего размера:

Лучше сделать инструментами самой ZFS, но я пока не смог осилить её. Вот такой нашел путь в обход:

  1. Перенести данные(в однопользовательском режиме):
    dd if=/dev/ada0 of=/dev/nvd0
    (по USB много времени займет у меня за 12часов ~48гб перетекло, по SATA на порядок быстрее будет)
  2. Восстановить загрузчик
    newfs_msdos -F16 /dev/nvd1p1
    mount -t msdosfs /dev/nvd1p1 /mnt
    mkdir -p /mnt/efi/boot
    cp /boot/loader.efi /mnt/efi/boot/bootx64.efi
    umount /mnt
  3. Привести к актуальному состоянию fstab:, В однопользовательском режиме:
    mount -u /
    zfs mount -a

    теперь можно редактировать и сохранять fstab(здесь заменил ada0 на nvd0).

  4. Посмотрим, что сейчас на диске с разметкой(gpart show):

[root@server /home/user]# gpart show
=>       40 1953525088  nvd0  GPT  (932G)  [CORRUPT]
         40     532480      1  efi  (250M)
       532520     1024      2  freebsd-boot  (512K)
       533544      984         - free -  (492K)
     532520    2097152      3  freebsd-swap  (2.0G)
    2097698   92274109      4  freebsd-zfs  (231G)

Исправить ошибки в разметке и растянуть ее на весь диск:

gpart recover nvd0
gpart part resize -i 4 nvd0

[root@server /home/user]# gpart show
=>       40 1953525088  nvd0  GPT  (932G)
         40     532480      1  efi  (250M)
       532520     1024      2  freebsd-boot  (512K)
       533544      984         - free -  (492K)
     532520    2097152      3  freebsd-swap  (2.0G)
    2097698   92274109      4  freebsd-zfs  (231G)
   94371807   31457273         - free -  (899G)

5. Осталось растянуть ZFS пул на весь диск

проверяем

zpool list

растягиваем:

zpool set autoexpand=on zroot
online -e zroot nvd0p4
zpool set autoexpand=on zroot

Проверяем:

zpool list

Готово!

 

Довольны?
[Оценок: 1 средняя: 2]