Указывал.
Код: Выделить всё
zpool set bootfs=zroot zroot
Код: Выделить всё
zpool set bootfs=zroot zroot
Код: Выделить всё
1) gpart create -s GPT da1
2) gpart add -s 512k -t freebsd-boot -l boot da1
3) gpart add -s 2g -t freebsd-swap -l swap da1
4) gpart add -t freebsd-zfs -l data da1
5) gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da1
Что мы тут видим:
root@post:~ # zfs get mountpoint
NAME PROPERTY VALUE SOURCE
zroot mountpoint none local
zroot/ROOT mountpoint none local
zroot/ROOT/default mountpoint / local
zroot/cyrus mountpoint /usr/cyrus local
zroot/tmp mountpoint /tmp local
zroot/usr mountpoint /usr local
zroot/usr/home mountpoint /usr/home inherited from zroot/usr
zroot/usr/ports mountpoint /usr/ports inherited from zroot/usr
zroot/usr/src mountpoint /usr/src inherited from zroot/usr
zroot/var mountpoint /var local
zroot/var/crash mountpoint /var/crash inherited from zroot/var
zroot/var/log mountpoint /var/log inherited from zroot/var
zroot/var/mail mountpoint /var/mail inherited from zroot/var
zroot/var/tmp mountpoint /var/tmp inherited from zroot/var
root@post:~ # zpool get bootfs
NAME PROPERTY VALUE SOURCE
zroot bootfs zroot/ROOT/default local
root@post:~ # zfs list
NAME USED AVAIL REFER MOUNTPOINT
zroot 30,2G 547G 96K none
zroot/ROOT 6,01G 547G 96K none
zroot/ROOT/default 6,01G 547G 6,01G /
zroot/cyrus 21,4G 479G 21,4G /usr/cyrus
zroot/tmp 2,04M 547G 2,04M /tmp
zroot/usr 2,75G 547G 96K /usr
zroot/usr/home 8,14M 547G 8,14M /usr/home
zroot/usr/ports 2,21G 547G 2,21G /usr/ports
zroot/usr/src 550M 547G 550M /usr/src
zroot/var 5,46M 547G 96K /var
zroot/var/crash 96K 547G 96K /var/crash
zroot/var/log 4,72M 547G 4,72M /var/log
zroot/var/mail 472K 547G 472K /var/mail
zroot/var/tmp 96K 547G 96K /var/tmp
root@post:~ # zpool status
pool: zroot
state: ONLINE
status: Some supported features are not enabled on the pool. The pool can
still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
the pool may no longer be accessible by software that does not support
the features. See zpool-features(7) for details.
scan: none requested
config:
NAME STATE READ WRITE CKSUM
zroot ONLINE 0 0 0
gpt/zfs0 ONLINE 0 0 0
errors: No known data errors
root@post:~ # zpool list
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
zroot 596G 30,2G 566G - 4% 5% 1.00x ONLINE -
6) zpool create -m /mnt/t myboot /dev/gpt/data
7) zfs list -t snapshot
8) zfs snapshot -r zroot@2017-10-13
9) zfs send -vR zroot@2017-10-13 | zfs receive -vFd myboot
Удаляем диск, грузимся с ливсд
10 ) zpool import -f myboot zroot
11) zpool import -f -o altroot=/mnt -o cachefile=/tmp/zpool.cache zroot
12) cp /tmp/zpool.cache /mnt/boot/zfs
13) zpool set bootfs=zroot/ROOT/default zroot
14) zfs unmount -a
15) zfs set mountpoint=legacy zroot/ROOT/default
16) reboot
что ж там непонятного, Вы ж создавали пул:romaxa писал(а):Neus: Спасибо, я уже это понял и в итоге доковырял этот перенос. Система прогрузилась.
Всем спасибо за намеки.
Единственное, чего не понял, почему zroot ссылается на /mnt/t (папка, которую я использовал для монтирования нового пула myboot)
файлообменник фото
Записал на будущее это как-то так(может кому-то поможет, буду рад):Код: Выделить всё
1) gpart create -s GPT da1 2) gpart add -s 512k -t freebsd-boot -l boot da1 3) gpart add -s 2g -t freebsd-swap -l swap da1 4) gpart add -t freebsd-zfs -l data da1 5) gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da1 Что мы тут видим: root@post:~ # zfs get mountpoint NAME PROPERTY VALUE SOURCE zroot mountpoint none local zroot/ROOT mountpoint none local zroot/ROOT/default mountpoint / local zroot/cyrus mountpoint /usr/cyrus local zroot/tmp mountpoint /tmp local zroot/usr mountpoint /usr local zroot/usr/home mountpoint /usr/home inherited from zroot/usr zroot/usr/ports mountpoint /usr/ports inherited from zroot/usr zroot/usr/src mountpoint /usr/src inherited from zroot/usr zroot/var mountpoint /var local zroot/var/crash mountpoint /var/crash inherited from zroot/var zroot/var/log mountpoint /var/log inherited from zroot/var zroot/var/mail mountpoint /var/mail inherited from zroot/var zroot/var/tmp mountpoint /var/tmp inherited from zroot/var root@post:~ # zpool get bootfs NAME PROPERTY VALUE SOURCE zroot bootfs zroot/ROOT/default local root@post:~ # zfs list NAME USED AVAIL REFER MOUNTPOINT zroot 30,2G 547G 96K none zroot/ROOT 6,01G 547G 96K none zroot/ROOT/default 6,01G 547G 6,01G / zroot/cyrus 21,4G 479G 21,4G /usr/cyrus zroot/tmp 2,04M 547G 2,04M /tmp zroot/usr 2,75G 547G 96K /usr zroot/usr/home 8,14M 547G 8,14M /usr/home zroot/usr/ports 2,21G 547G 2,21G /usr/ports zroot/usr/src 550M 547G 550M /usr/src zroot/var 5,46M 547G 96K /var zroot/var/crash 96K 547G 96K /var/crash zroot/var/log 4,72M 547G 4,72M /var/log zroot/var/mail 472K 547G 472K /var/mail zroot/var/tmp 96K 547G 96K /var/tmp root@post:~ # zpool status pool: zroot state: ONLINE status: Some supported features are not enabled on the pool. The pool can still be used, but some features are unavailable. action: Enable all features using 'zpool upgrade'. Once this is done, the pool may no longer be accessible by software that does not support the features. See zpool-features(7) for details. scan: none requested config: NAME STATE READ WRITE CKSUM zroot ONLINE 0 0 0 gpt/zfs0 ONLINE 0 0 0 errors: No known data errors root@post:~ # zpool list NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT zroot 596G 30,2G 566G - 4% 5% 1.00x ONLINE - 6) zpool create -m /mnt/t myboot /dev/gpt/data 7) zfs list -t snapshot 8) zfs snapshot -r zroot@2017-10-13 9) zfs send -vR zroot@2017-10-13 | zfs receive -vFd myboot Удаляем диск, грузимся с ливсд 10 ) zpool import -f myboot zroot 11) zpool import -f -o altroot=/mnt -o cachefile=/tmp/zpool.cache zroot 12) cp /tmp/zpool.cache /mnt/boot/zfs 13) zpool set bootfs=zroot/ROOT/default zroot 14) zfs unmount -a 15) zfs set mountpoint=legacy zroot/ROOT/default 16) reboot
Код: Выделить всё
6) zpool create -m /mnt/t myboot /dev/gpt/data
Э…romaxa писал(а):Neus: Спасибо, я уже это понял и в итоге доковырял этот перенос. Система прогрузилась.
Всем спасибо за намеки.
Единственное, чего не понял, почему zroot ссылается на /mnt/t (папка, которую я использовал для монтирования нового пула myboot)
файлообменник фото
Записал на будущее это как-то так(может кому-то поможет, буду рад):Код: Выделить всё
1) gpart create -s GPT da1 2) gpart add -s 512k -t freebsd-boot -l boot da1 3) gpart add -s 2g -t freebsd-swap -l swap da1 4) gpart add -t freebsd-zfs -l data da1 5) gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da1 Что мы тут видим: root@post:~ # zfs get mountpoint NAME PROPERTY VALUE SOURCE zroot mountpoint none local zroot/ROOT mountpoint none local zroot/ROOT/default mountpoint / local zroot/cyrus mountpoint /usr/cyrus local zroot/tmp mountpoint /tmp local zroot/usr mountpoint /usr local zroot/usr/home mountpoint /usr/home inherited from zroot/usr zroot/usr/ports mountpoint /usr/ports inherited from zroot/usr zroot/usr/src mountpoint /usr/src inherited from zroot/usr zroot/var mountpoint /var local zroot/var/crash mountpoint /var/crash inherited from zroot/var zroot/var/log mountpoint /var/log inherited from zroot/var zroot/var/mail mountpoint /var/mail inherited from zroot/var zroot/var/tmp mountpoint /var/tmp inherited from zroot/var root@post:~ # zpool get bootfs NAME PROPERTY VALUE SOURCE zroot bootfs zroot/ROOT/default local root@post:~ # zfs list NAME USED AVAIL REFER MOUNTPOINT zroot 30,2G 547G 96K none zroot/ROOT 6,01G 547G 96K none zroot/ROOT/default 6,01G 547G 6,01G / zroot/cyrus 21,4G 479G 21,4G /usr/cyrus zroot/tmp 2,04M 547G 2,04M /tmp zroot/usr 2,75G 547G 96K /usr zroot/usr/home 8,14M 547G 8,14M /usr/home zroot/usr/ports 2,21G 547G 2,21G /usr/ports zroot/usr/src 550M 547G 550M /usr/src zroot/var 5,46M 547G 96K /var zroot/var/crash 96K 547G 96K /var/crash zroot/var/log 4,72M 547G 4,72M /var/log zroot/var/mail 472K 547G 472K /var/mail zroot/var/tmp 96K 547G 96K /var/tmp root@post:~ # zpool status pool: zroot state: ONLINE status: Some supported features are not enabled on the pool. The pool can still be used, but some features are unavailable. action: Enable all features using 'zpool upgrade'. Once this is done, the pool may no longer be accessible by software that does not support the features. See zpool-features(7) for details. scan: none requested config: NAME STATE READ WRITE CKSUM zroot ONLINE 0 0 0 gpt/zfs0 ONLINE 0 0 0 errors: No known data errors root@post:~ # zpool list NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT zroot 596G 30,2G 566G - 4% 5% 1.00x ONLINE - 6) zpool create -m /mnt/t myboot /dev/gpt/data 7) zfs list -t snapshot 8) zfs snapshot -r zroot@2017-10-13 9) zfs send -vR zroot@2017-10-13 | zfs receive -vFd myboot Удаляем диск, грузимся с ливсд 10 ) zpool import -f myboot zroot 11) zpool import -f -o altroot=/mnt -o cachefile=/tmp/zpool.cache zroot 12) cp /tmp/zpool.cache /mnt/boot/zfs 13) zpool set bootfs=zroot/ROOT/default zroot 14) zfs unmount -a 15) zfs set mountpoint=legacy zroot/ROOT/default 16) reboot
Код: Выделить всё
15) zfs set mountpoint=legacy zroot/ROOT/default
Код: Выделить всё
zpool create -m legacy myboot /dev/gpt/data
Код: Выделить всё
zpool set bootfs=zroot/ROOT/default zroot
Отправлено спустя 7 минут 45 секунд:guest писал(а): что ж там непонятного, Вы ж создавали пул:Без обид, но Вы imho смысла большинства команд не понимаетеКод: Выделить всё
6) zpool create -m /mnt/t myboot /dev/gpt/data
и как результат, почему их столько и почему такой порядок.
вот Вам выкладка:
- два диска A и B, с простой FS, на выбор: ufs, ext3/4 ...
- один диск A - с системой, B - пустой
- с диска A копируете на диск B (пусть байт в байт)
в итоге имеем на диске A - корень "/" и на диске B - корень "/"
Вопрос: сможем мы с обоих дисков смонтировать обе корневые FS в одну
mount point?
Отправлено спустя 2 минуты :snorlov писал(а):Мне кажется правильнее в данном случае было бы создавать пул след.образомну а потом в переименованном пуле установить bootfsКод: Выделить всё
zpool create -m legacy myboot /dev/gpt/data
Код: Выделить всё
zpool set bootfs=zroot/ROOT/default zroot
Отправлено спустя 16 минут 17 секунд:Neus писал(а):Э…romaxa писал(а):Neus: Спасибо, я уже это понял и в итоге доковырял этот перенос. Система прогрузилась.
Всем спасибо за намеки.
Единственное, чего не понял, почему zroot ссылается на /mnt/t (папка, которую я использовал для монтирования нового пула myboot)
файлообменник фото
Записал на будущее это как-то так(может кому-то поможет, буду рад):Код: Выделить всё
1) gpart create -s GPT da1 2) gpart add -s 512k -t freebsd-boot -l boot da1 3) gpart add -s 2g -t freebsd-swap -l swap da1 4) gpart add -t freebsd-zfs -l data da1 5) gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da1 Что мы тут видим: root@post:~ # zfs get mountpoint NAME PROPERTY VALUE SOURCE zroot mountpoint none local zroot/ROOT mountpoint none local zroot/ROOT/default mountpoint / local zroot/cyrus mountpoint /usr/cyrus local zroot/tmp mountpoint /tmp local zroot/usr mountpoint /usr local zroot/usr/home mountpoint /usr/home inherited from zroot/usr zroot/usr/ports mountpoint /usr/ports inherited from zroot/usr zroot/usr/src mountpoint /usr/src inherited from zroot/usr zroot/var mountpoint /var local zroot/var/crash mountpoint /var/crash inherited from zroot/var zroot/var/log mountpoint /var/log inherited from zroot/var zroot/var/mail mountpoint /var/mail inherited from zroot/var zroot/var/tmp mountpoint /var/tmp inherited from zroot/var root@post:~ # zpool get bootfs NAME PROPERTY VALUE SOURCE zroot bootfs zroot/ROOT/default local root@post:~ # zfs list NAME USED AVAIL REFER MOUNTPOINT zroot 30,2G 547G 96K none zroot/ROOT 6,01G 547G 96K none zroot/ROOT/default 6,01G 547G 6,01G / zroot/cyrus 21,4G 479G 21,4G /usr/cyrus zroot/tmp 2,04M 547G 2,04M /tmp zroot/usr 2,75G 547G 96K /usr zroot/usr/home 8,14M 547G 8,14M /usr/home zroot/usr/ports 2,21G 547G 2,21G /usr/ports zroot/usr/src 550M 547G 550M /usr/src zroot/var 5,46M 547G 96K /var zroot/var/crash 96K 547G 96K /var/crash zroot/var/log 4,72M 547G 4,72M /var/log zroot/var/mail 472K 547G 472K /var/mail zroot/var/tmp 96K 547G 96K /var/tmp root@post:~ # zpool status pool: zroot state: ONLINE status: Some supported features are not enabled on the pool. The pool can still be used, but some features are unavailable. action: Enable all features using 'zpool upgrade'. Once this is done, the pool may no longer be accessible by software that does not support the features. See zpool-features(7) for details. scan: none requested config: NAME STATE READ WRITE CKSUM zroot ONLINE 0 0 0 gpt/zfs0 ONLINE 0 0 0 errors: No known data errors root@post:~ # zpool list NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT zroot 596G 30,2G 566G - 4% 5% 1.00x ONLINE - 6) zpool create -m /mnt/t myboot /dev/gpt/data 7) zfs list -t snapshot 8) zfs snapshot -r zroot@2017-10-13 9) zfs send -vR zroot@2017-10-13 | zfs receive -vFd myboot Удаляем диск, грузимся с ливсд 10 ) zpool import -f myboot zroot 11) zpool import -f -o altroot=/mnt -o cachefile=/tmp/zpool.cache zroot 12) cp /tmp/zpool.cache /mnt/boot/zfs 13) zpool set bootfs=zroot/ROOT/default zroot 14) zfs unmount -a 15) zfs set mountpoint=legacy zroot/ROOT/default 16) reboot
Точно legacy?Код: Выделить всё
15) zfs set mountpoint=legacy zroot/ROOT/default
Ты бы это… расковырял чтоль установочный скрипт с флэшки, посмотрел как правильно надо делать пул, ФС, точки монтирования и прочие проперти
Вы полагаете я Вам должен изложить лекцию про ZFS?romaxa писал(а):Без обид, но вы по ходу сами не понимаете, что я тут пишу. Детский сад про диски оттуда и взялись.
Какие комманды по вашему мнению тут лишние?
Я спрашивал, почему zroot запись осталась ссылаться на /mnt/t, в то время как все остальные записи имеют верные значения. Не до, а после процедуры.![]()
Отправлено спустя 3 минуты 12 секунд:guest писал(а): Вы полагаете я Вам должен изложить лекцию про ZFS?
Откуда взялась запись - было отписано, а вот для чего это было нужно, была
попытка объяснить легко и просто на пальцах - диски с одинаковым содержимым
и намек на точку монтирования.
Увы, Вы ламер, отсюда непонимэ, тупое копирование команд с перебором а как
подойдет... Ну как-то получилось...
Все Ваши вопросы от непонимэ и нежелания изучить необходимый минимум по ZFS.
Код: Выделить всё
15) zfs set mountpoint=/ zroot/ROOT/default
16) zfs set mountpoint=none zroot
17) reboot
запись взялась от того что вы создали пул следущим образом:romaxa писал(а):Я нигде не писал, что жду от вас лекций.Запись взялась оттого, что вы подумали, что я не знаю почему пул монтируется в /mnt/t.
Код: Выделить всё
6) zpool create -m /mnt/t myboot /dev/gpt/data
так выучите великий и могучий, чтобы правильно излагать.Я же спрашивал другое - почему эта запись осталась там, при том что точка монтирования была изменена.
я изначально понял что Вы не владете ZFS даже в первом приближении и в целом плохоЕсли бы вы изначально поняли, что я просил - вы бы не спамили тему о том, для чего нужна точка монтирования. nix системы лично я использую в работе более 15 лет, и про диск А и Б вы не по адресу.![]()
что и наблюдаемНе понимать, для чего нужны команды при том, что выше в теме они описаны топикстартером - это нужно быть полным кретином.)
Кто-то ВСЕ понял...Все мои вопросы от желания изучить zfs (в незнании которой я тут собственно и поделился со всеми). Именно для этого я и задаю вопросы людям, которые более опытны в этом вопросе, а не наоборот.
Давайте не продолжать спамить тему не по делу. Кто-то что-то недопонял и пошло поехало...![]()
не нужны такие статьи и уж особенно то что Вы тут понаписали, ибо такие статьи == ВРЕД.К сожалению статей на тему уменьшения ZFS аж 1.2 штуки, так что тема будет актуальна и другим ламерам.![]()
Ааа уменьшитьromaxa писал(а):Ну кому вред, а кому польза. Если знаете, в чем не прав автор, и соответственно я, то наставьте нас на путь истинный, вместо того, чтобы посылать читать маны. Если можно уменьшить раздел zfs более быстро, просто и правильно - всем от этого будет только польза. А пока делаем в меру своего понимания, пусть и кривого с точки зрения гуру, но слава Богу рабочего.
Упсromaxa писал(а):Neus - это статья с этой ветки форума так то.И мы в целом проблему уже вроде как решили?
Код: Выделить всё
# ifconfig em0 add 192.168.0.8 netmask 255.255.255.0
# route add default 192.168.0.254
Код: Выделить всё
# mkdir /tmp/etc
# mount_unionfs /tmp/etc /etc
Код: Выделить всё
# ee /etc/ssh/sshd_config
Код: Выделить всё
PermitRootLogin yes
Код: Выделить всё
# service sshd onestart
Код: Выделить всё
# passwd root
Код: Выделить всё
# sysctl -a | grep disk
Код: Выделить всё
# gpart show
Код: Выделить всё
# gpart destroy -F da0
Код: Выделить всё
# gpart create -s GPT da0
# gpart add -t freebsd-boot -s 512 da0
# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da0
# gpart add -t freebsd-swap -s 2G da0
# gpart add -t freebsd-zfs da0
Код: Выделить всё
# zpool create -m /mnt main-pool2 /dev/da0p3
Код: Выделить всё
# zfs snapshot -r main-pool@snapshot
Код: Выделить всё
# zfs list -t snapshot
NAME USED AVAIL REFER MOUNTPOINT
main-pool@snapshot 0 - 96K -
main-pool/ROOT@snapshot 0 - 96K -
main-pool/ROOT/default@snapshot 460K - 447M -
main-pool/tmp@snapshot 64K - 96K -
main-pool/usr@snapshot 0 - 96K -
main-pool/usr/home@snapshot 0 - 96K -
main-pool/usr/ports@snapshot 8K - 628M -
main-pool/usr/src@snapshot 0 - 547M -
main-pool/var@snapshot 0 - 96K -
main-pool/var/audit@snapshot 8K - 96K -
main-pool/var/crash@snapshot 0 - 96K -
main-pool/var/log@snapshot 96K - 144K -
main-pool/var/mail@snapshot 64K - 96K -
main-pool/var/tmp@snapshot 0 - 96K -
Код: Выделить всё
# zfs send -R main-pool@snapshot | ssh 192.168.0.8 zfs receive -vFd main-pool2
Код: Выделить всё
# reboot
Код: Выделить всё
# zpool import -f main-pool2 main-pool
обычно:Создаем pool main-pool2.Код: Выделить всё
# zpool create -m /mnt main-pool2 /dev/da0p3
Код: Выделить всё
# zpool create -f -o altroot=/mnt -O canmount=off -m none ...
Код: Выделить всё
# zpool create -R /mnt ...
-R == "-o cachefile=none,altroot=root"
Код: Выделить всё
# zpool set bootfs=
Код: Выделить всё
# zpool export main-pool2
# zpool import -f -o altroot=/mnt -d /dev/da0p3 main-pool2
На боевом сервере у меня настроен пул с датасетами так:guest писал(а): ↑2018-04-06 19:17:171) set mount point for the root dataset
обычно:Создаем pool main-pool2.Код: Выделить всё
# zpool create -m /mnt main-pool2 /dev/da0p3
илиКод: Выделить всё
# zpool create -f -o altroot=/mnt -O canmount=off -m none ...
2) set bootfs on new root poolКод: Выделить всё
# zpool create -R /mnt ... -R == "-o cachefile=none,altroot=root"
ну и в концеКод: Выделить всё
# zpool set bootfs=
суть должна быть понятна (внимательно на zpool create -m /mnt и set bootfs)Код: Выделить всё
# zpool export main-pool2 # zpool import -f -o altroot=/mnt -d /dev/da0p3 main-pool2
Код: Выделить всё
root@global-card:~ # zfs list
NAME USED AVAIL REFER MOUNTPOINT
main-pool 990G 808G 96K /main-pool
main-pool/ROOT 988G 808G 96K none
main-pool/ROOT/default 988G 808G 984G /
main-pool/tmp 2.91M 808G 1.85M /tmp
main-pool/usr 1.21G 808G 96K /usr
main-pool/usr/home 138M 808G 130M /usr/home
main-pool/usr/ports 1.07G 808G 1.07G /usr/ports
main-pool/usr/src 96K 808G 96K /usr/src
main-pool/var 467M 808G 96K /var
main-pool/var/audit 96K 808G 96K /var/audit
main-pool/var/crash 96K 808G 96K /var/crash
main-pool/var/log 105M 808G 104M /var/log
main-pool/var/mail 361M 808G 361M /var/mail
main-pool/var/tmp 176K 808G 112K /var/tmp
Код: Выделить всё
# ifconfig em0 add 192.168.0.9 netmask 255.255.255.0
# route add default 192.168.0.254
# mkdir /tmp/etc
# mount_unionfs /tmp/etc /etc
# ee /etc/ssh/sshd_config
"PermitRootLogin yes"
# passwd root
# service sshd onestart
# sysctl -a | grep disk
# gpart show
# gpart destroy -F da0
# gpart create -s GPT da0
# gpart add -t freebsd-boot -s 512 da0
# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da0
# gpart add -t freebsd-swap -s 2G da0
# gpart add -t freebsd-zfs da0
# zpool create -f -O canmount=off -m none main-pool /dev/da0p3
zfs send -R main-pool@snapshot | ssh 192.168.0.9 zfs receive -vFd main-pool
# zpool set bootfs=main-pool/ROOT/default main-pool
# zfs set mountpoint=/main-pool main-pool
# zpool export main-pool
# zpool import main-pool
Код: Выделить всё
На боевом сервере.
Делаем рекурсивный снэпшот:
# zfs snapshot -r main-pool@snapshot
Монтируем шару с архивами:
# mkdir /var/snapshots
# mount_smbfs -I 192.168.0.200 -E koi8-r:cp866 //guest@TEAM/distr/snapshot/ /var/snapshots
Отправляем снэпшоты в файл:
# zfs send -Rv main-pool@snapshot | gzip > /var/snapshots/snapshot/main-pool.snapshot.gz
Грузимся на новом сервере Freebsd02 с liveCD.
Настроим сетку. У меня сетевой интерфейс называется em0:
# ifconfig em0 add 192.168.0.8/24
# route add default 192.168.0.254
Для настройки ssh подгрузим файловую систему unionfs:
# mkdir /tmp/etc
# mount_unionfs /tmp/etc /etc
Редактируем конфиг sshd:
# ee /etc/ssh/sshd_config
Строка "PermitRootLogin yes"
Создадим любой простой пароль для подключения к этому хосту по ssh:
# passwd
Запускаем сервис sshd:
# service sshd onestart
Смотрим диски в системе. У меня диск называется da0:
# sysctl -a | grep disk
Смотрим таблицу разметки:
# gpart show
Если она есть удаляем ее командой:
# gpart destroy -F da0
Создаем GPT диск:
# gpart create -s GPT da0
Создаем раздел boot:
# gpart add -t freebsd-boot -s 512 da0
Создание swap размером 2G:
# gpart add -t freebsd-swap -s 4G da0
Создаем раздел ZFS:
# gpart add -t freebsd-zfs /dev/da0
Устанавливаем pMBR и gptzfsboot загрузчик:
# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da0
Load ZFS kernel module:
# kldload /boot/kernel/opensolaris.ko
# kldload /boot/kernel/zfs.ko
Создаем pool main-pool:
# zpool create -m /mnt main-pool da0
Монтируем шару с архивами:
# mkdir /var/snapshots
# mount_smbfs -I 192.168.0.200 -E koi8-r:cp866 //guest@TEAM/distr/snapshot/ /var/snapshots
Восстанавливаем пул со всеми дочерними датасетами:
# gunzip -c -d /var/snapshots/snapshot/main-pool.snapshot.gz | zfs receive -vFd main-pool
Прописываем загрузку пула:
# zpool set bootfs=main-pool/ROOT/default main-pool
Выгружаем пул:
# zpool export main-pool
Подгружаем pool:
# zpool import -f -o altroot=/mnt main-pool
Указываем mountpoint для пула main-pool:
# zfs set mountpoint=/main-pool main-pool
# reboot
Код: Выделить всё
# mkdir /boot/zfs
# zpool export main-pool && zpool import main-pool
# cp /boot/zfs/zpool.cache /main-pool/boot/zfs
К сожалению я уже натыкался на такие статьи и у меня немного другая ситуация, у меня перенос на новый сервер через архив, в статье описываются действия по работе с двумя пулами на одном сервере на разных дисках, для меня исходную систему перемонитровать или перезагружать нет возможности, сервер находится в облаке.snorlov писал(а): ↑2018-04-28 10:03:16Я в свое время делал по https://www.dan.me.uk/blog/2012/08/05/f ... using-zfs/
там снизу про zpool.cache и mountpoint=legasy