30.10.2022 02:Oct
Как известно, ZFS не может быть уменьшена, но это не значит что ничего нельзя сделать.
Это краткий мануал, здесь не будет расписано что какая команда делает, документация к каждой команде идёт в комплекте с FreeBSD.
Структура диска:
Различия с исходным HDD на 500G только в размере ada0p3.
Грузимся в Live USB/CD/DVD FreeBSD (на которой заранее размечен дополнительный раздел в UFS2+SU: da0s4).
// Если есть возможность воткнуть сразу два диска, то
Меняем диски…
Первая загрузка может быть с проблемами по ряду причин, ещё одна перезагрузка после полной загрузки ставит всё на свои места.
Это краткий мануал, здесь не будет расписано что какая команда делает, документация к каждой команде идёт в комплекте с FreeBSD.
Структура диска:
Код:
# gpart show -p
=> 40 234441568 ada0 GPT (112G)
40 131072 ada0p1 efi (64M)
131112 1024 ada0p2 freebsd-boot (512K)
132136 234309472 ada0p3 freebsd-zfs (112G)
Различия с исходным HDD на 500G только в размере ada0p3.
Грузимся в Live USB/CD/DVD FreeBSD (на которой заранее размечен дополнительный раздел в UFS2+SU: da0s4).
Код:
zpool import -R /mnt freebsd0
mkdir -p /tmp/backup
mount /dev/da0s4 /tmp/backup
zfs snap -r freebsd0@MOVE
send|recv
и dd
можно совместить. В этом случае не понадобится временный раздел.Код:
zfs send -Lwp freebsd0@MOVE >/tmp/backup/freebsd0.zfs
dd if=/dev/ada0p1 of=/tmp/backup/ada0p1.efi.img bs=8m
dd if=/dev/ada0p2 of=/tmp/backup/ada0p2.gptboot.img bs=512k
sync;sync;sync;reboot
Меняем диски…
Код:
gpart create -s gpt ada0
gpart add -t efi -s 64m -a 4k -l efiboot0 -i 1 ada0
gpart add -t freebsd-boot -s 512k -l gptboot0 -i 2 ada0
gpart add -t freebsd-zfs -l freebsd0 -i 3 ada0
zpool create -O compress=lz4 -O atime=off -m none -o failmode=continue -O utf8only=on freebsd0 /dev/gpt/freebsd0
mkdir -p /tmp/backup
mount /dev/da0s4 /tmp/backup
dd of=/dev/ada0p1 if=/tmp/backup/ada0p1.efi.img bs=8m
dd of=/dev/ada0p2 if=/tmp/backup/ada0p2.gptboot.img bs=512k
zfs recv -e freebsd0 </tmp/backup/freebsd0.zfs
zfs rename ... # перемещаем ВСЕ датасеты из freebsd0/freebsd0/* в freebsd0/*
zfs destroy freebsd0/freebsd0
zpool set bootfs=freebsd0/ROOT/13.1R freebsd0
gpart bootcode -b /boot/pmbr ada0
sync;sync;sync;reboot
Первая загрузка может быть с проблемами по ряду причин, ещё одна перезагрузка после полной загрузки ставит всё на свои места.
• Правила форума
• [Новичкам] Как правильно задавать вопросы, чтобы Вам помогли
«Буду бить аккуратно, но сильно!» © Лёлик, х/ф «Бриллиантовая рука»
• [Новичкам] Как правильно задавать вопросы, чтобы Вам помогли
«Буду бить аккуратно, но сильно!» © Лёлик, х/ф «Бриллиантовая рука»
01.11.2022 07:Nov
01.11.2022 22:Nov
(01.11.2022 07:Nov)Zhbert Написал:(30.10.2022 02:Oct)mord0d Написал: Первая загрузка может быть с проблемами по ряду причин, ещё одна перезагрузка после полной загрузки ставит всё на свои места.
Это как? Само починится?
Есть ненулевая вероятность, что при штатном завершении работы останется рантайм мусор (pid-файлы, lock-файлы), которые при штатной загрузке система сама определит как мусор и зачистит перед запуском соответствующих сервисов. Но при (после) переносе этого может не произойти с первого раза (atime?). Если дождаться этапа LOGIN и перезагрузиться, то вероятнее всего оно отдуплится и пропердится. Если не помогло — загрузиться в Single User, пройтись лапками по /var/run (который в FreeBSD не в tmpfs) и зачистить мусор (можно грохнуть всю диру, неотключаемый сервис /etc/rc.d/var создаст всё нужное при следующей multi-user загрузке), но мне этого делать не пришлось.
• Правила форума
• [Новичкам] Как правильно задавать вопросы, чтобы Вам помогли
«Буду бить аккуратно, но сильно!» © Лёлик, х/ф «Бриллиантовая рука»
• [Новичкам] Как правильно задавать вопросы, чтобы Вам помогли
«Буду бить аккуратно, но сильно!» © Лёлик, х/ф «Бриллиантовая рука»
Возможно похожие темы ...
Тема
Автор
/
Последний пост
Пользователи, просматривающие эту тему: 1 Гость(ей)