Как клонировать диск с ZFS?

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
romaxa
рядовой
Сообщения: 23
Зарегистрирован: 2013-10-17 16:58:52

Как клонировать диск с ZFS?

Непрочитанное сообщение romaxa » 2017-10-13 15:07:50


Указывал.

Код: Выделить всё

zpool set bootfs=zroot zroot

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Neus
капитан
Сообщения: 1741
Зарегистрирован: 2008-09-08 21:59:56

Как клонировать диск с ZFS?

Непрочитанное сообщение Neus » 2017-10-13 16:35:58

А судя по этой картинке https://ibb.co/infPfb надо zroot/ROOT/default
Или это не та картинка?
«Вы никогда не сумеете решить возникшую проблему,
если сохраните то же мышление и тот же подход,
который привёл вас к этой проблеме.»
© Альберт Эйнштейн

romaxa
рядовой
Сообщения: 23
Зарегистрирован: 2013-10-17 16:58:52

Как клонировать диск с ZFS?

Непрочитанное сообщение romaxa » 2017-10-13 20:54:21

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

guest
проходил мимо

Как клонировать диск с ZFS?

Непрочитанное сообщение guest » 2017-10-13 21:51:48

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
Без обид, но Вы imho смысла большинства команд не понимаете
и как результат, почему их столько и почему такой порядок.

вот Вам выкладка:
- два диска A и B, с простой FS, на выбор: ufs, ext3/4 ...
- один диск A - с системой, B - пустой
- с диска A копируете на диск B (пусть байт в байт)
в итоге имеем на диске A - корень "/" и на диске B - корень "/"

Вопрос: сможем мы с обоих дисков смонтировать обе корневые FS в одну
mount point?

Аватара пользователя
Neus
капитан
Сообщения: 1741
Зарегистрирован: 2008-09-08 21:59:56

Как клонировать диск с ZFS?

Непрочитанное сообщение Neus » 2017-10-13 22:57:00

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
Точно legacy?
Ты бы это… расковырял чтоль установочный скрипт с флэшки, посмотрел как правильно надо делать пул, ФС, точки монтирования и прочие проперти
«Вы никогда не сумеете решить возникшую проблему,
если сохраните то же мышление и тот же подход,
который привёл вас к этой проблеме.»
© Альберт Эйнштейн

snorlov
подполковник
Сообщения: 3631
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Как клонировать диск с ZFS?

Непрочитанное сообщение snorlov » 2017-10-14 0:04:33

Мне кажется правильнее в данном случае было бы создавать пул след.образом

Код: Выделить всё

zpool create -m legacy myboot /dev/gpt/data
ну а потом в переименованном пуле установить bootfs

Код: Выделить всё

zpool set bootfs=zroot/ROOT/default zroot 

romaxa
рядовой
Сообщения: 23
Зарегистрирован: 2013-10-17 16:58:52

Как клонировать диск с ZFS?

Непрочитанное сообщение romaxa » 2017-10-14 13:48:14

Без обид, но вы по ходу сами не понимаете, что я тут пишу. Детский сад про диски оттуда и взялись.
Какие комманды по вашему мнению тут лишние? :)

Я спрашивал, почему zroot запись осталась ссылаться на /mnt/t, в то время как все остальные записи имеют верные значения. Не до, а после процедуры. :)
guest писал(а): что ж там непонятного, Вы ж создавали пул:

Код: Выделить всё

6) zpool create -m /mnt/t myboot /dev/gpt/data
Без обид, но Вы imho смысла большинства команд не понимаете
и как результат, почему их столько и почему такой порядок.

вот Вам выкладка:
- два диска A и B, с простой FS, на выбор: ufs, ext3/4 ...
- один диск A - с системой, B - пустой
- с диска A копируете на диск B (пусть байт в байт)
в итоге имеем на диске A - корень "/" и на диске B - корень "/"

Вопрос: сможем мы с обоих дисков смонтировать обе корневые FS в одну
mount point?
Отправлено спустя 7 минут 45 секунд:
А чем правильнее?
snorlov писал(а):Мне кажется правильнее в данном случае было бы создавать пул след.образом

Код: Выделить всё

zpool create -m legacy myboot /dev/gpt/data
ну а потом в переименованном пуле установить bootfs

Код: Выделить всё

zpool set bootfs=zroot/ROOT/default zroot 
Отправлено спустя 2 минуты :
Да, по ходу надо корень указать. Еще одну попытку сделаю. Также и zroot по уму в none нужно вернуть, хотя и так жить будет. :)
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
Э…

Код: Выделить всё

15) zfs set mountpoint=legacy zroot/ROOT/default
Точно legacy?
Ты бы это… расковырял чтоль установочный скрипт с флэшки, посмотрел как правильно надо делать пул, ФС, точки монтирования и прочие проперти
Отправлено спустя 16 минут 17 секунд:
Поставил zroot в none, ROOT/default в /
Все ок.

Изображение

guest
проходил мимо

Как клонировать диск с ZFS?

Непрочитанное сообщение guest » 2017-10-14 16:06:22

romaxa писал(а):Без обид, но вы по ходу сами не понимаете, что я тут пишу. Детский сад про диски оттуда и взялись.
Какие комманды по вашему мнению тут лишние? :)

Я спрашивал, почему zroot запись осталась ссылаться на /mnt/t, в то время как все остальные записи имеют верные значения. Не до, а после процедуры. :)
Вы полагаете я Вам должен изложить лекцию про ZFS?
Откуда взялась запись - было отписано, а вот для чего это было нужно, была
попытка объяснить легко и просто на пальцах - диски с одинаковым содержимым
и намек на точку монтирования.

Увы, Вы ламер, отсюда непонимэ, тупое копирование команд с перебором а как
подойдет... Ну как-то получилось...
Все Ваши вопросы от непонимэ и нежелания изучить необходимый минимум по ZFS.

romaxa
рядовой
Сообщения: 23
Зарегистрирован: 2013-10-17 16:58:52

Как клонировать диск с ZFS?

Непрочитанное сообщение romaxa » 2017-10-14 16:41:53

Я нигде не писал, что жду от вас лекций. :) Запись взялась оттого, что вы подумали, что я не знаю почему пул монтируется в /mnt/t.
Я же спрашивал другое - почему эта запись осталась там, при том что точка монтирования была изменена.

Если бы вы изначально поняли, что я просил - вы бы не спамили тему о том, для чего нужна точка монтирования. nix системы лично я использую в работе более 15 лет, и про диск А и Б вы не по адресу. :)

Не понимать, для чего нужны команды при том, что выше в теме они описаны топикстартером - это нужно быть полным кретином. :))
Все мои вопросы от желания изучить zfs (в незнании которой я тут собственно и поделился со всеми). Именно для этого я и задаю вопросы людям, которые более опытны в этом вопросе, а не наоборот. :)

Давайте не продолжать спамить тему не по делу. Кто-то что-то недопонял и пошло поехало... :)

Спасибо топик стартеру и всем, кто был не безразличен. :-) К сожалению статей на тему уменьшения ZFS аж 1.2 штуки, так что тема будет актуальна и другим ламерам. ;)
guest писал(а): Вы полагаете я Вам должен изложить лекцию про ZFS?
Откуда взялась запись - было отписано, а вот для чего это было нужно, была
попытка объяснить легко и просто на пальцах - диски с одинаковым содержимым
и намек на точку монтирования.

Увы, Вы ламер, отсюда непонимэ, тупое копирование команд с перебором а как
подойдет... Ну как-то получилось...
Все Ваши вопросы от непонимэ и нежелания изучить необходимый минимум по ZFS.
Отправлено спустя 3 минуты 12 секунд:
Добавим:

Код: Выделить всё

15) zfs set mountpoint=/ zroot/ROOT/default
16) zfs set mountpoint=none zroot
17) reboot
:-)

guest
проходил мимо

Как клонировать диск с ZFS?

Непрочитанное сообщение guest » 2017-10-14 17:31:37

romaxa писал(а):Я нигде не писал, что жду от вас лекций. :) Запись взялась оттого, что вы подумали, что я не знаю почему пул монтируется в /mnt/t.
запись взялась от того что вы создали пул следущим образом:

Код: Выделить всё

6) zpool create -m /mnt/t myboot /dev/gpt/data
а не от того что я подумал...
Я же спрашивал другое - почему эта запись осталась там, при том что точка монтирования была изменена.
так выучите великий и могучий, чтобы правильно излагать.

Какая точка монтирования была изменена? Ткните пальцем, и если что-то непонимаете,
ну хотя бы воспользуйтесь zpool history для оценки собственных действий.
Если бы вы изначально поняли, что я просил - вы бы не спамили тему о том, для чего нужна точка монтирования. nix системы лично я использую в работе более 15 лет, и про диск А и Б вы не по адресу. :)
я изначально понял что Вы не владете ZFS даже в первом приближении и в целом плохо
понимате...
Не понимать, для чего нужны команды при том, что выше в теме они описаны топикстартером - это нужно быть полным кретином. :))
что и наблюдаем
Все мои вопросы от желания изучить zfs (в незнании которой я тут собственно и поделился со всеми). Именно для этого я и задаю вопросы людям, которые более опытны в этом вопросе, а не наоборот. :)

Давайте не продолжать спамить тему не по делу. Кто-то что-то недопонял и пошло поехало... :)
Кто-то ВСЕ понял...
ZFS изучают не по форумам, а по документации, в форуме могут дать пинок в правильном направлении...
К сожалению статей на тему уменьшения ZFS аж 1.2 штуки, так что тема будет актуальна и другим ламерам. ;)
не нужны такие статьи и уж особенно то что Вы тут понаписали, ибо такие статьи == ВРЕД.

romaxa
рядовой
Сообщения: 23
Зарегистрирован: 2013-10-17 16:58:52

Как клонировать диск с ZFS?

Непрочитанное сообщение romaxa » 2017-10-14 17:59:24

Ну кому вред, а кому польза. Если знаете, в чем не прав автор, и соответственно я, то наставьте нас на путь истинный, вместо того, чтобы посылать читать маны. Если можно уменьшить раздел zfs более быстро, просто и правильно - всем от этого будет только польза. А пока делаем в меру своего понимания, пусть и кривого с точки зрения гуру, но слава Богу рабочего. :)

Аватара пользователя
Neus
капитан
Сообщения: 1741
Зарегистрирован: 2008-09-08 21:59:56

Как клонировать диск с ZFS?

Непрочитанное сообщение Neus » 2017-10-14 18:34:10

romaxa писал(а):Ну кому вред, а кому польза. Если знаете, в чем не прав автор, и соответственно я, то наставьте нас на путь истинный, вместо того, чтобы посылать читать маны. Если можно уменьшить раздел zfs более быстро, просто и правильно - всем от этого будет только польза. А пока делаем в меру своего понимания, пусть и кривого с точки зрения гуру, но слава Богу рабочего. :)
Ааа уменьшить :smile:
Таки вы не то искали, http://adminunix.ru/perenesti-zfs-siste ... ugoj-disk/ 8)
«Вы никогда не сумеете решить возникшую проблему,
если сохраните то же мышление и тот же подход,
который привёл вас к этой проблеме.»
© Альберт Эйнштейн

romaxa
рядовой
Сообщения: 23
Зарегистрирован: 2013-10-17 16:58:52

Как клонировать диск с ZFS?

Непрочитанное сообщение romaxa » 2017-10-14 18:57:31

Neus - это статья с этой ветки форума так то. :) И мы в целом проблему уже вроде как решили? :)

Аватара пользователя
Neus
капитан
Сообщения: 1741
Зарегистрирован: 2008-09-08 21:59:56

Как клонировать диск с ZFS?

Непрочитанное сообщение Neus » 2017-10-15 9:06:16

romaxa писал(а):Neus - это статья с этой ветки форума так то. :) И мы в целом проблему уже вроде как решили? :)
Упс :smile:
«Вы никогда не сумеете решить возникшую проблему,
если сохраните то же мышление и тот же подход,
который привёл вас к этой проблеме.»
© Альберт Эйнштейн

snorlov
подполковник
Сообщения: 3631
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Как клонировать диск с ZFS?

Непрочитанное сообщение snorlov » 2017-10-15 11:53:08

Ребята хватит собачится, каждый поступает в зависимости от характера и знаний...
А теперь на тему zfs. если ставить с дистрибутивов 10.х и 11.х по умолчанию, то там действительно фигурирует <пул>/ROOT/default/, в то время ставить 8.х и 9.х, то там в большинстве статей идет прямая установка загрузки с zroot/... Отсюда и возникшая трудность...
P.S. пул это ведь собрание файловых систем и вы смотироовать их можете как вам хочется...

ramzes508
рядовой
Сообщения: 14
Зарегистрирован: 2018-04-06 16:46:29

Как клонировать диск с ZFS?

Непрочитанное сообщение ramzes508 » 2018-04-06 16:59:35

Пытаюсь перенести пул Freebsd 10.3 на точно такой же дистрибутив Freebsd 10.3.
Я уже бьюсь несколько дней. Прошу помощи.

Пытаюсь описать всю последовательность моих действий,

Грузимся на новом сервере Freebsd02 с liveCD
Настроим сетку. У меня сетевой интерфейс называется em0.

Код: Выделить всё

# ifconfig em0 add 192.168.0.8 netmask 255.255.255.0 
# 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
Запускаем сервис sshd.

Код: Выделить всё

# service sshd onestart 
Создадим любой простой пароль для подключения к этому хосту по ssh.

Код: Выделить всё

# passwd root
Смотрим диски в системе.

Код: Выделить всё

# sysctl -a | grep disk 
У меня диск называется da0.

Смотрим таблицу разметки.

Код: Выделить всё

# 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 
Создаем pool main-pool2.

Код: Выделить всё

# zpool create -m /mnt main-pool2 /dev/da0p3
Переходим на старый хост FreeBSD01, с которого будем переносить main-pool.
Делаем рекурсивный снэпшот пула с дочерними файловыми системами.

Код: Выделить всё

# 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  -
Отправляем снэпшот со старого на новый сервер, на котором будем разворачивать main-pool2.

Код: Выделить всё

# zfs send -R main-pool@snapshot | ssh 192.168.0.8 zfs receive -vFd main-pool2


Перезагружаем хост, на котором будем разворачивать main-pool2 и снова загружаемся с Live CD FreeBSD.

Код: Выделить всё

# reboot 
Подгружаем pool.

Код: Выделить всё

# zpool import -f main-pool2 main-pool 
И дальше у меня валится ошибка, которую я не могу побороть никак, уже пробовал много вариантов, из этой темы тоже...
2018-04-06_16-48-51.png
...дальше у меня стопор, я не знаю, что мне делать...
Последний раз редактировалось Alex Keda 2018-04-10 21:52:52, всего редактировалось 2 раза.
Причина: Товарищщи! Цените чужое время, юзайте кнопочку [code]...

guest
проходил мимо

Как клонировать диск с ZFS?

Непрочитанное сообщение guest » 2018-04-06 19:17:17

1) 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 ...
или

Код: Выделить всё

# zpool create -R /mnt ...
-R == "-o cachefile=none,altroot=root"
2) set bootfs on new root pool

Код: Выделить всё

# zpool set bootfs=
ну и в конце

Код: Выделить всё

# zpool export main-pool2
# zpool import -f -o altroot=/mnt -d /dev/da0p3 main-pool2
суть должна быть понятна (внимательно на zpool create -m /mnt и set bootfs)
Последний раз редактировалось Alex Keda 2018-04-10 21:53:26, всего редактировалось 1 раз.
Причина: Товарищщи! Цените чужое время, юзайте кнопочку [code]...

ramzes508
рядовой
Сообщения: 14
Зарегистрирован: 2018-04-06 16:46:29

Как клонировать диск с ZFS?

Непрочитанное сообщение ramzes508 » 2018-04-09 9:49:06

guest писал(а):
2018-04-06 19:17:17
1) 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 ...
или

Код: Выделить всё

# zpool create -R /mnt ...
-R == "-o cachefile=none,altroot=root"
2) set bootfs on new root pool

Код: Выделить всё

# zpool set bootfs=
ну и в конце

Код: Выделить всё

# zpool export main-pool2
# zpool import -f -o altroot=/mnt -d /dev/da0p3 main-pool2
суть должна быть понятна (внимательно на zpool create -m /mnt и set bootfs)
На боевом сервере у меня настроен пул с датасетами так:

Код: Выделить всё

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
Поясните мне, мне нужно настроить пул с датасетами и каталогами один в один как на старым сервером или же я могу задавать в новом как хочу /mnt и т.д.
Может быть я могу просто командой перенести структуру пула без всяких лишних телодвижений?

По хорошему у меня стоит задача просто скопировать целиком сервер и развернуть его в готовый сервер на другой железке, может быть вся моя последовательность действий не совсем корректна? Я рассматривал вариант сохранять бэкап в обычными архив, копировать и разворачивать из него, но я не смог понять как мне в livecd увидеть этот самый архив и развернуть его на новом сервере.
Есть может где-то готовый пример решения по данному вопросу, хотя бы посмотреть что куда и как должно идти?
по манам я уже чокнусь скоро, я две недели только изучаю freebsd.
Последний раз редактировалось Alex Keda 2018-04-10 21:54:14, всего редактировалось 1 раз.
Причина: Товарищщи! Цените чужое время, юзайте кнопочку [code]...

ramzes508
рядовой
Сообщения: 14
Зарегистрирован: 2018-04-06 16:46:29

Как клонировать диск с ZFS?

Непрочитанное сообщение ramzes508 » 2018-04-11 16:08:59

Помогите получить ответ, почему у меня выскакивает ошибка failed to initialize ZFS library???

Код: Выделить всё

# 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
root@:~ # zpool export main-pool
root@:~ # zpool import
pool: main-pool
id: 18244119390875913029
state: ONLINE
action: The pool can be imported using its name or numeric identifier.
config:

main-pool ONLINE
da0p3 ONLINE
root@:~ # zpool import main-pool
root@:~ # zpool list
internal error: failed to initialize ZFS library
root@:~ #
Как это побороть? internal error: failed to initialize ZFS library

ramzes508
рядовой
Сообщения: 14
Зарегистрирован: 2018-04-06 16:46:29

Как клонировать диск с ZFS?

Непрочитанное сообщение ramzes508 » 2018-04-11 16:40:01

Так же пробовал
# zpool import -f -d /dev/da0p3 main-pool, так же ошибка

ramzes508
рядовой
Сообщения: 14
Зарегистрирован: 2018-04-06 16:46:29

Как клонировать диск с ZFS?

Непрочитанное сообщение ramzes508 » 2018-04-28 9:23:55

Доброго времени суток! Прошу помочь, очередная проблема.
Решил пойти путем zfs send reveive через архивирование, .т.к вариант по сети потерпел фиаско.
Но у меня возникла теперь новая проблема при выполнении тех же действий, у меня просто не грузится система и снова выкидывает в livecd

Код: Выделить всё

На боевом сервере.
Делаем рекурсивный снэпшот:
# 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
Прошу помочь, куда копать.

ramzes508
рядовой
Сообщения: 14
Зарегистрирован: 2018-04-06 16:46:29

Как клонировать диск с ZFS?

Непрочитанное сообщение ramzes508 » 2018-04-28 9:24:39

Пробовал так же с командами

Код: Выделить всё

# mkdir /boot/zfs
# zpool export main-pool && zpool import main-pool
# cp /boot/zfs/zpool.cache /main-pool/boot/zfs
ругается, что нету такой директории.

snorlov
подполковник
Сообщения: 3631
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Как клонировать диск с ZFS?

Непрочитанное сообщение snorlov » 2018-04-28 10:03:16

Я в свое время делал по https://www.dan.me.uk/blog/2012/08/05/f ... using-zfs/
там снизу про zpool.cache и mountpoint=legasy

ramzes508
рядовой
Сообщения: 14
Зарегистрирован: 2018-04-06 16:46:29

Как клонировать диск с ZFS?

Непрочитанное сообщение ramzes508 » 2018-04-28 11:38:59

snorlov писал(а):
2018-04-28 10:03:16
Я в свое время делал по https://www.dan.me.uk/blog/2012/08/05/f ... using-zfs/
там снизу про zpool.cache и mountpoint=legasy
К сожалению я уже натыкался на такие статьи и у меня немного другая ситуация, у меня перенос на новый сервер через архив, в статье описываются действия по работе с двумя пулами на одном сервере на разных дисках, для меня исходную систему перемонитровать или перезагружать нет возможности, сервер находится в облаке.

snorlov
подполковник
Сообщения: 3631
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Как клонировать диск с ZFS?

Непрочитанное сообщение snorlov » 2018-04-28 12:27:22

Еще раз внимательней читайте статью, вы когда импортнули пул, посмотрите где находится на нем /boot/zfs и лишь потом копируйте...