Дано: FreeBSD 13, SATA диск ada0 256гб, GPT загрузчик, файловая система ZFS
Задача: перенести систему на новый диск побольше размером, SSD M.2 1Тб, nvd0
Решение в четыре шага, для диска большего размера:
Лучше сделать инструментами самой ZFS, но я пока не смог осилить её. Вот такой нашел путь в обход:
- Перенести данные(в однопользовательском режиме):
dd if=/dev/ada0 of=/dev/nvd0
(по USB много времени займет у меня за 12часов ~48гб перетекло, по SATA на порядок быстрее будет) - Восстановить загрузчик
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 - Привести к актуальному состоянию fstab:, В однопользовательском режиме:
12mount -u /zfs mount -a
теперь можно редактировать и сохранять fstab(здесь заменил ada0 на nvd0). - Посмотрим, что сейчас на диске с разметкой(gpart show):
1 2 3 4 5 6 7 |
[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) |
Исправить ошибки в разметке и растянуть ее на весь диск:
1 2 3 4 5 6 7 8 9 10 11 |
gpart recover nvd0 </code><code>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 пул на весь диск
проверяем
1 |
zpool list |
растягиваем:
1 2 3 |
zpool set autoexpand=on zroot online -e zroot nvd0p4 zpool set autoexpand=on zroot |
Проверяем:
1 |
<span style="color: #222222; font-family: Inconsolata, monospace;"><span style="background-color: #e9ebec;">zpool list</span></span> |
Готово!
Довольны?
[Оценок: 1 средняя: 2]