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

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

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

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
skeletor
майор
Сообщения: 2420
Зарегистрирован: 2007-11-16 18:22:04
Откуда: Kiev
Контактная информация:

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

Непрочитанное сообщение skeletor » 2015-03-25 11:45:41

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

zfs unmount -a
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2520 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alpha
рядовой
Сообщения: 14
Зарегистрирован: 2015-03-24 17:27:02

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

Непрочитанное сообщение Alpha » 2015-03-25 11:47:44

Ну да, но ребута потом не было, по тексту идет далее установка кеша и точек:

Делаю размонтирование фс:

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

#zfs unmount -a
Кеш

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

#zpool set cachefile='' zroot
И устанавливаю точки монтирования:

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

#zfs set mountpoint=legacy zroot/ROOT/default
#zfs set mountpoint=/usr zroot/usr
И так со всеми, и смотрю что поменялось:

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

# zfs get mountpoint
Последний раз редактировалось Alex Keda 2015-03-28 21:17:35, всего редактировалось 1 раз.
Причина: Товарищщи, цените чужое время, юзайте кнопочку [code]...

Аватара пользователя
skeletor
майор
Сообщения: 2420
Зарегистрирован: 2007-11-16 18:22:04
Откуда: Kiev
Контактная информация:

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

Непрочитанное сообщение skeletor » 2015-03-25 11:55:10

У вас очень много телодвижений, и непонятно зачем. Для переноса достаточно загрузится с liveCD и перенести ZFS rpool со всем потомками. Всё. Что делаете вы?
1) переносите zfs === правильно.
2) импортируете пул
3) импортируете cache
4) размонтируете
5) меняете точки монтирования
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"

Аватара пользователя
Alpha
рядовой
Сообщения: 14
Зарегистрирован: 2015-03-24 17:27:02

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

Непрочитанное сообщение Alpha » 2015-03-25 12:06:04

Есть идеи почему точки монтирование могут не меняться?

zfs set mountpoint=/usr zroot/usr

Аватара пользователя
skeletor
майор
Сообщения: 2420
Зарегистрирован: 2007-11-16 18:22:04
Откуда: Kiev
Контактная информация:

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

Непрочитанное сообщение skeletor » 2015-03-25 12:12:36

Думаю из-за этого cachefile=/tmp/zpool.cache. Больше вариантов нет.
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"

Аватара пользователя
Alpha
рядовой
Сообщения: 14
Зарегистрирован: 2015-03-24 17:27:02

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

Непрочитанное сообщение Alpha » 2015-03-26 10:36:51

Сделал следующее:

Разбил диск gpart'om, сделал на каждый диск gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ada0 и ada1 соответственно, затем создал пул zpool create -f zroot miror ada0 ada1 и затем передал по сети снимки пула с дочерними фс

zfs send -vR zroot@25032015 | mbuffer -v4 -4 -s 128k -m 1G -O 172.16.16.1:9090

все ништяк принялось, делаю ребут для попытки загрузиться с дисков, системы не загружается...

Аватара пользователя
skeletor
майор
Сообщения: 2420
Зарегистрирован: 2007-11-16 18:22:04
Откуда: Kiev
Контактная информация:

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

Непрочитанное сообщение skeletor » 2015-03-26 11:19:03

А как выглядит? На что ругается? Может загрузчик ставите левый (откуда эти файлы /boot/pmbr /boot/gptzfsboot)?
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"

Аватара пользователя
Alpha
рядовой
Сообщения: 14
Зарегистрирован: 2015-03-24 17:27:02

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

Непрочитанное сообщение Alpha » 2015-03-26 11:50:12

Т.к. LiveCD переодически подвисал, то на комп воткнул третий диск и установил туда FreeBSD 10.1 на UFS чтобы использовать вместо LiveCD (благо есть лишний диск под рукой). Соотствественно файлы /boot/pmbr и /boot/gptzfsboot с этой установленной фри на отдельном диске.

В принципе не на что не ругается, до этого даже не доходит (ниже фото).
zroot.jpg

Аватара пользователя
skeletor
майор
Сообщения: 2420
Зарегистрирован: 2007-11-16 18:22:04
Откуда: Kiev
Контактная информация:

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

Непрочитанное сообщение skeletor » 2015-03-26 11:59:08

Значит загрузчик не установился на диск. Ещё раз перечитал ваши посты и не понял, что вы делали абы-как. Рекомендую сделать по инструкции https://wiki.freebsd.org/RootOnZFS/GPTZFSBoot/Mirror (вам достаточно выполнить только 1. Creating a bootable ZFS Filesyste, а потом просто zfs send|receive). И не забыть в зеркало загнать swap.
"Винда съела дрова и резет здесь не фурычит."
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих фалов вообще нет!"

Exaile
рядовой
Сообщения: 26
Зарегистрирован: 2013-02-08 14:38:50

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

Непрочитанное сообщение Exaile » 2015-03-27 18:52:17

Тоже интересует этот вопрос, получилось в итоге или нет ? Вы legacy mountpoint попробуйте не использовать и не делать zfs unmount -a и да и кеш тоже не надо трогать после того как скопировали

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

сp /tmp/zpool.cache /mnt/boot/zfs
И может без mbuffer, а просто?

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

zfs send -vR zroot@25032015| ssh 192.168.1.1 zfs receive -vFd zroot2
Еще вот это нужно.

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

zfs set mountpoint=/ zroot

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

zpool set bootfs=zroot zroot
И должно быть потом, например, так:

остальные inherited from zroot

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

zfs get mountpoint
NAME                         PROPERTY    VALUE                 SOURCE
zroot                      mountpoint  /                     local
zroot/tmp                  mountpoint  /tmp                  inherited from zroot
zroot/usr                  mountpoint  /usr                  inherited from zroot
zroot/usr/home             mountpoint  /usr/home             inherited from zroot
zroot/usr/local            mountpoint  /usr/local            inherited from zroot
zroot/usr/obj              mountpoint  /usr/obj              inherited from zroot
zroot/usr/ports            mountpoint  /usr/ports            inherited from zroot
zroot/usr/ports/distfiles  mountpoint  /usr/ports/distfiles  inherited from zroot
и т.д.

Аватара пользователя
Alpha
рядовой
Сообщения: 14
Зарегистрирован: 2015-03-24 17:27:02

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

Непрочитанное сообщение Alpha » 2015-03-28 1:01:45

Да, в итоге все получилось. Mbuffer предпочтительней для zfs снапшотов больших размеров, разбил диски, прописал загрузчик на оба, создал пул (указывая на /dev/gpt/ada0 к примеру), залил снапшот и прописал загрузку как и там откуда брал снапшот (zpool get bootfs). После этого ребут и все загрузилось.

Отправлено спустя 7 минут 59 секунд:
Да, забыл написать, сразу после создания пула сделал zfs unmount -a, чтобы не было конфликтов с разделами, при получении снапшотов.

Аватара пользователя
FenX
ст. прапорщик
Сообщения: 513
Зарегистрирован: 2008-04-23 17:46:53
Откуда: Moscow
Контактная информация:

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

Непрочитанное сообщение FenX » 2015-03-31 10:40:11

по поводу не поменявшихся точек монтирования после их смены:

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

altroot=/mnt
выдержка из мана:

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

 altroot
         Alternate root directory. If set, this directory is prepended to any
         mount points within the pool. This can be used when examining an
         unknown pool where the mount points cannot be trusted, or in an
         alternate boot environment, where the typical paths are not valid.
         altroot is not a persistent property. It is valid only while the sys?
         tem is up.  Setting altroot defaults to using cachefile=none, though
         this may be overridden using an explicit setting.
итого, при юзании сего проперти, пока не будет ребута, корнем для пула будет значение альтрута.

Отправлено спустя 8 минут 43 секунды:
и да, при использовании альтрута, желательно не указывать кэш и соответственно его не надо копировать на боевую систему.
по умолчанию соответственно, при указании альтрута, проперти кэша в созданном пуле принимает значение none.
т.е. правильнее всего, в данном случае, было бы поступить след. образом:
создаем пул с альтрутом, заливаем в него снапшоты системы, правим точки монтирования, при необходимости,
правим конфиг загрузчика на подгрузку нового пула в качестве корня, ребутаемся, грузимся в систему с новым пулом и там уже устанавливаем правильное проперти кэша для пула.
в идеале конечно создать кэш не в боевом режиме, а в сингле, хотя я лично еще ни разу не столкнулся с проблемами в данном вопросе при работе в нормальном режиме.

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

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

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

Товарищи, помогите, осилил только ту часть, где мне нужно загрузиться с лив cd.
Подключил к серверу новый диск, создал вместо zroot myboot... пусть будет так
send/receive. Загрузчик прописал, отключил старый диск, зашел с лив сд. Тут я не понял - как примонтировать новый пул в /mnt?
Все что я нарыл - это zpool import -f myboot
Тогда автоматом файловая монтируется до первого ребута.
Как мне замонтировать его?

Отправлено спустя 47 минут 24 секунды:
Тоже не меняются маунтпоинты. Ну и диск не загружается
Изображение

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

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

Непрочитанное сообщение guest » 2017-10-06 15:53:47

romaxa писал(а):Товарищи, помогите, осилил только ту часть, где мне нужно загрузиться с лив cd.
Подключил к серверу новый диск, создал вместо zroot myboot... пусть будет так
send/receive. Загрузчик прописал, отключил старый диск, зашел с лив сд. Тут я не понял - как примонтировать новый пул в /mnt?
Все что я нарыл - это zpool import -f myboot
Тогда автоматом файловая монтируется до первого ребута.
Как мне замонтировать его?

Отправлено спустя 47 минут 24 секунды:
Тоже не меняются маунтпоинты. Ну и диск не загружается
Изображение
zpool import -f myboot zroot

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

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

Непрочитанное сообщение romaxa » 2017-10-09 11:47:40

А как загрузиться потом с нее? Я когда импортирую его, он подминтируется в корень, но при этом перестает работать Zfs zpool и т.д. internal error filed to initialize zfs library

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

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

Непрочитанное сообщение guest » 2017-10-09 20:30:29

romaxa писал(а):А как загрузиться потом с нее? Я когда импортирую его, он подминтируется в корень, но при этом перестает работать Zfs zpool и т.д. internal error filed to initialize zfs library
телепаты в отпуске

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

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

Непрочитанное сообщение snorlov » 2017-10-09 23:06:09

По существу для монтирования нужны, чтобы имелся в /boot/zfs/zpool.cache и mountpoint=legacy для пула
Попробуйте следующее

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

zpool import myboot
zfs set mountpoint=/tmp/myboot myboot
cd /tmp
zpool export myboot && zpool import myboot
cp /tmp/zpool.cache /tmp/myboot/boot/zfs/zpool.cache
zfs unmount -a
zfs set mountpoint=legacy myboot
reboot
Но если юзаете 8-ку или 9-ку то там нужны дополнительные телодвижения...

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

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

Непрочитанное сообщение romaxa » 2017-10-11 17:28:43

Я импортировал myboot в zroot
Когда я делаю zfs import -f zroot монтируется моя файловая система. Захожу в корень и вижу, что все папки и файлы с виду на месте. Запускаю mc и спокойно по дереву хожу... это все ок.
Но ни zpool ни zfs комманды не работают:
zpool status
internal error filed to initialize zfs library
zfs list
internal error filed to initialize zfs library
Изображение

Отправлено спустя 40 минут 16 секунд:
Если импортирую в /mnt все ок.
zpool import -f -o altroot=/mnt zroot
zpool status
zpool list
zfs list
Изображение
картинки планшета
Т.е. как-бы есть диск, есть zroot, дальше ступор...

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

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

Непрочитанное сообщение snorlov » 2017-10-11 23:01:12

Примонтируйте ваш пул с -o cachefile=/tmp/zpool.cache, потом скопируйте этот файлик /mnt/boot/zfs, затем
отмонтировать все и установить точку монтирования zroot/ROOT/default в legacy

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

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

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

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

Может дело в загрузчике?

Изображение

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

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

Непрочитанное сообщение snorlov » 2017-10-12 11:21:24

Ну это вообще-то надо делать сразу при подготовке нового диска...

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

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

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

Дак я делал, все как в описании...
5) в boot записал gptzfsboot-загрузчик и protective MBR:

Код: Выделить всё
# gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 ad1
boot added ad1

По факту имею рабочую версию zfs с zroot, а загрузиться не могу. Это какой-то нонсенс. :/

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

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

Непрочитанное сообщение snorlov » 2017-10-13 9:45:44

А почему тогда в выводе gpart show фигурирует da0, а не ad1 куда вы пишете загрузчик

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

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

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

Это я скопировал строчку с этой темы. Конечно же я писал загрузчик на правильный диск, если бы загрузчика не было, мы бы не видели строчек о невозможности загрузить ядро... Без загрузчика мы бы просто видели сообщения биоса о том, что неоткуда грузиться...
а так загрузчику чего-то не хватает вроде бы. А не должно бы?
Ведь это точная копия оригинального диска со всеми конфигами.

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

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

Непрочитанное сообщение Neus » 2017-10-13 11:29:01

в порядке предположения:
а пропертю bootfs у пула нинада указывать?
«Вы никогда не сумеете решить возникшую проблему,
если сохраните то же мышление и тот же подход,
который привёл вас к этой проблеме.»
© Альберт Эйнштейн