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

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

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

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
romaxa
рядовой
Сообщения: 47
Зарегистрирован: 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/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

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

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

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

А судя по этой картинке https://ibb.co/infPfb надо zroot/ROOT/default
Или это не та картинка?
Physics is mathematics with the constraint of reality.
Engineering is physics with the constraint of money.

LOR захватили ситхи.
Добро пожаловать на светлую сторону!

romaxa
рядовой
Сообщения: 47
Зарегистрирован: 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
капитан
Сообщения: 1976
Зарегистрирован: 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?
Ты бы это… расковырял чтоль установочный скрипт с флэшки, посмотрел как правильно надо делать пул, ФС, точки монтирования и прочие проперти
Physics is mathematics with the constraint of reality.
Engineering is physics with the constraint of money.

LOR захватили ситхи.
Добро пожаловать на светлую сторону!

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 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
рядовой
Сообщения: 47
Зарегистрирован: 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
рядовой
Сообщения: 47
Зарегистрирован: 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
рядовой
Сообщения: 47
Зарегистрирован: 2013-10-17 16:58:52

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

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

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

Аватара пользователя
Neus
капитан
Сообщения: 1976
Зарегистрирован: 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)
Physics is mathematics with the constraint of reality.
Engineering is physics with the constraint of money.

LOR захватили ситхи.
Добро пожаловать на светлую сторону!

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

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

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

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

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

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

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

romaxa писал(а):Neus - это статья с этой ветки форума так то. :) И мы в целом проблему уже вроде как решили? :)
Упс :smile:
Physics is mathematics with the constraint of reality.
Engineering is physics with the constraint of money.

LOR захватили ситхи.
Добро пожаловать на светлую сторону!

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 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
рядовой
Сообщения: 19
Зарегистрирован: 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
рядовой
Сообщения: 19
Зарегистрирован: 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
рядовой
Сообщения: 19
Зарегистрирован: 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
рядовой
Сообщения: 19
Зарегистрирован: 2018-04-06 16:46:29

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

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

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

ramzes508
рядовой
Сообщения: 19
Зарегистрирован: 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
рядовой
Сообщения: 19
Зарегистрирован: 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
подполковник
Сообщения: 3927
Зарегистрирован: 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
рядовой
Сообщения: 19
Зарегистрирован: 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
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

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

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

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