Указывал.
Код: Выделить всё
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, в то время как все остальные записи имеют верные значения. Не до, а после процедуры.
 Запись взялась оттого, что вы подумали, что я не знаю почему пул монтируется в /mnt/t.
 Запись взялась оттого, что вы подумали, что я не знаю почему пул монтируется в /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