BSDPORTAL.RU

На этом сайте обсуждаются вопросы использования ОС FreeBSD
 Портал  •  Статьи  •  Форум  •  Wiki  •  Поиск  •  FAQ  •  Обои  •   Официальная документация  •  Новые темы 

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: ZFS переезд с пула на пул
СообщениеДобавлено: Пн 16 окт, 2017 12:28 pm 
Не в сети

Зарегистрирован: Вт 07 сен, 2004 3:30 pm
Сообщения: 61
FreeBSD 11.1
Понадобилось переехать с пула на пул (н-р zroot на rpool) По причине block size: 512B configured, 4096B native
Создал пул из одного диска rpool с ashift=12
Сделал snapshot
Cделал send/receive на rpool
Осталось прописать только необходимые данные для загрузки, делаю
# zpool export rpool
# zpool import -o altroot=/media/rpool

А там только 4 каталога rpool (пустой) и соответственно tmp, usr и var
Т.е. фактически ни /etc ни /boot каталога нет.
Классический вопрос, что я делаю не так? Как примонтировать ZFS чтобы были видно основные каталоги системы
Цитата:
# zfs list -t all
NAME USED AVAIL REFER MOUNTPOINT
rpool 3,25G 446G 88K /ric13
rpool/ROOT 561M 446G 88K none
rpool/ROOT/default 560M 446G 560M /
rpool/swap 2,06G 448G 56K -
rpool/tmp 96K 446G 96K /tmp
rpool/usr 656M 446G 88K /usr
rpool/usr/home 180K 446G 180K /usr/home
rpool/usr/ports 656M 446G 656M /usr/ports
rpool/usr/src 88K 446G 88K /usr/src
rpool/var 608K 446G 88K /var
rpool/var/audit 88K 446G 88K /var/audit
rpool/var/crash 88K 446G 88K /var/crash
rpool/var/log 168K 446G 168K /var/log
rpool/var/mail 88K 446G 88K /var/mail
rpool/var/tmp 88K 446G 88K /var/tmp


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ZFS переезд с пула на пул
СообщениеДобавлено: Пн 16 окт, 2017 9:22 pm 
В сети

Зарегистрирован: Вт 17 авг, 2010 8:48 pm
Сообщения: 493
Откуда: Беларусь
Распишите в подробностях про старый пул, новый пул и миграцию.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ZFS переезд с пула на пул
СообщениеДобавлено: Вт 17 окт, 2017 10:53 am 
Не в сети

Зарегистрирован: Вт 07 сен, 2004 3:30 pm
Сообщения: 61
Старый пул zpool создан в зеркале во времена ещё 8-ой фряхи
Постепенно перебрался на FreeBSD 11.1. Вылетел 1 диск, устанавливая новый нарвался на то что один диск в пуле выдаёт ссобщение
> zpool status
pool: rpool
state: ONLINE
scan: none requested
config:

NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
gpt/disk0 ONLINE 0 0 0
gpt/disk1 ONLINE 0 0 0 block size: 512B configured, 4096B native

Соответственно пришло решение мигрировать, один диск, тот который уже поддерживает 4096, из зеркала вывести, создать на нём другой пул, уже с ashift=12, ну а дальше, то что описывал выше.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ZFS переезд с пула на пул
СообщениеДобавлено: Вт 17 окт, 2017 5:57 pm 
Не в сети

Зарегистрирован: Пт 03 сен, 2004 1:26 pm
Сообщения: 2229
Kotjara писал(а):
Старый пул zpool создан в зеркале во времена ещё 8-ой фряхи
Постепенно перебрался на FreeBSD 11.1. Вылетел 1 диск, устанавливая новый нарвался на то что один диск в пуле выдаёт ссобщение
> zpool status
pool: rpool
state: ONLINE
scan: none requested
config:

NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
gpt/disk0 ONLINE 0 0 0
gpt/disk1 ONLINE 0 0 0 block size: 512B configured, 4096B native

Соответственно пришло решение мигрировать, один диск, тот который уже поддерживает 4096, из зеркала вывести, создать на нём другой пул, уже с ashift=12, ну а дальше, то что описывал выше.


страшного ничего нет, просто будет медленней работать.

Но Вы нарвались на следующее (не знаю апгрейдили zpool/zfs ?), в 10.x/11.x несколько изменились
default настройки zfs root pool.

Если хотите просто, то zfs snapshot -r zroot@backup, который потом развернуть на вновь
созданный пул zpool create ... newroot, далее перегрузить и загрузиться с disc0 или memstick
в LiveCD, установить bootfs, отключить старый диск и загрузиться с нового.
Потом добавить второй, хоть с 512b, хоть с 4k.
Да, подразумевается что когда будете размечать новый диск gpart под newroot, используете
sysctl vfs.zfs.min_auto_ashift=12 и опцию -a 4k при создании freebsd-boot и -a 1m при создании swap (если нужен)
и -a 1m для freebsd-zfs.

Если Вы хотите ПО КОНСЕРВАТОРИИ, то нужно руками создать второй пул для переезда,
c datasets как в bsdinstall или как Вам нужно, затем копировать все что нужно со старого
на новые datasets - аккуратно и вероятно rsync'ом... чтобы сохранить properties консерватории.
Хотя это не обязательно.

Делаете виртуалку, запускаете установку, не выходя из установки, tar'ите в shell'е
/tmp/bsdinstall* - логи установки и смотрите как в bsdinstall создают корневой пул по консерватории.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ZFS переезд с пула на пул
СообщениеДобавлено: Ср 18 окт, 2017 1:18 pm 
Не в сети

Зарегистрирован: Вт 07 сен, 2004 3:30 pm
Сообщения: 61
Цитата:
Да, подразумевается что когда будете размечать новый диск gpart под newroot, используете
sysctl vfs.zfs.min_auto_ashift=12 и опцию -a 4k при создании freebsd-boot и -a 1m при создании swap (если нужен)
и -a 1m для freebsd-zfs.

Да не, там уже таких телодвижений не нужно,
Создал новый pool, через zdb убедился что ashift в новом пуле равен 12
Создал snapshot и перенёс (send/receive)
Прописал bootfs на новый пул, перезагрузился посмотрел что все данные на месте всё работает как должно
Перезагрузился с memstick и удалил ненужный пул
Просто я ещё хотел вернуть старое название пула, ну да в принципе и хрен с ним, т.к. если сделать переименование через import становится 2 пула с одинаковыми дисками участниками пулов, тестировалось это всё не на боевом сервере естественно.
Просто раньше в более старых версиях фряхи, требовался доступ к /boot/loader.conf, т.к. там прописывался параметр vfs.root.mountfrom="zfs:<poolname>", а в новой версии при zpool import -o altroot по какой то причине нет каталогов /boot, /etc и т.д. в этом и был "затык"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ZFS переезд с пула на пул
СообщениеДобавлено: Ср 18 окт, 2017 3:38 pm 
Не в сети

Зарегистрирован: Пт 03 сен, 2004 1:26 pm
Сообщения: 2229
Kotjara писал(а):
Цитата:
Да, подразумевается что когда будете размечать новый диск gpart под newroot, используете
sysctl vfs.zfs.min_auto_ashift=12 и опцию -a 4k при создании freebsd-boot и -a 1m при создании swap (если нужен)
и -a 1m для freebsd-zfs.

Да не, там уже таких телодвижений не нужно,
Создал новый pool, через zdb убедился что ashift в новом пуле равен 12
Создал snapshot и перенёс (send/receive)
Прописал bootfs на новый пул, перезагрузился посмотрел что все данные на месте всё работает как должно
Перезагрузился с memstick и удалил ненужный пул
Просто я ещё хотел вернуть старое название пула, ну да в принципе и хрен с ним, т.к. если сделать переименование через import становится 2 пула с одинаковыми дисками участниками пулов, тестировалось это всё не на боевом сервере естественно.
Просто раньше в более старых версиях фряхи, требовался доступ к /boot/loader.conf, т.к. там прописывался параметр vfs.root.mountfrom="zfs:<poolname>", а в новой версии при zpool import -o altroot по какой то причине нет каталогов /boot, /etc и т.д. в этом и был "затык"


1) дык, кто же делает zpool import newpool zroot при загрзуке с уже существующего zroot?
думаю zpool import даже должен быть ругнуться - zroot already exist типа
Но Вы вероятно пошли дальше... zpool import -f

Нужно было после zfs send -R | zfs recv -Fdu
просто прописать bootfs новому, а потом перегрузиться с disc0/memstick и изъятием боевого диска с zroot,
тогда: zpool import -f newpool zroot - и все дела

2) отсутствие корня "/" с boot, etc ...
zfs get mountpoint для root и станет понятно

вернуть название и сейчас не поздно через тот же zpool import


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ZFS переезд с пула на пул
СообщениеДобавлено: Ср 18 окт, 2017 4:37 pm 
Не в сети

Зарегистрирован: Вт 07 сен, 2004 3:30 pm
Сообщения: 61
Никаких импортов на работающем новом пуле я не делал, загрузился с того же memstick
А вот что выдаёт
# zfs get mountpoint
rpool mountpoint /rpool local
rpool/ROOT mountpoint none local
rpool/ROOT/default mountpoint / local
rpool/swap mountpoint - -
rpool/tmp mountpoint /tmp local
rpool/usr mountpoint /usr local
rpool/usr/home mountpoint /usr/home inherited from rpool/usr
rpool/usr/ports mountpoint /usr/ports inherited from rpool/usr
rpool/usr/src mountpoint /usr/src inherited from rpool/usr
rpool/var mountpoint /var local
rpool/var/crash mountpoint /var/crash inherited from rpool/var
rpool/var/log mountpoint /var/log inherited from rpool/var
rpool/var/mail mountpoint /var/mail inherited from rpool/var
rpool/var/tmp mountpoint /var/tmp inherited from rpool/var



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ZFS переезд с пула на пул
СообщениеДобавлено: Ср 18 окт, 2017 5:06 pm 
Не в сети

Зарегистрирован: Пт 03 сен, 2004 1:26 pm
Сообщения: 2229
Kotjara писал(а):
Никаких импортов на работающем новом пуле я не делал, загрузился с того же memstick
А вот что выдаёт
# zfs get mountpoint
rpool mountpoint /rpool local
rpool/ROOT mountpoint none local
rpool/ROOT/default mountpoint / local
rpool/swap mountpoint - -
rpool/tmp mountpoint /tmp local
rpool/usr mountpoint /usr local
rpool/usr/home mountpoint /usr/home inherited from rpool/usr
rpool/usr/ports mountpoint /usr/ports inherited from rpool/usr
rpool/usr/src mountpoint /usr/src inherited from rpool/usr
rpool/var mountpoint /var local
rpool/var/crash mountpoint /var/crash inherited from rpool/var
rpool/var/log mountpoint /var/log inherited from rpool/var
rpool/var/mail mountpoint /var/mail inherited from rpool/var
rpool/var/tmp mountpoint /var/tmp inherited from rpool/var



еще раз, к примеру:
имеем пул zroot на диске da0 и хотим перенести его на новый диск da1
все выполняем на работающей системе загруженной с zroot (вставили hot-swap da1)
- выставляем sysctl для ashift=12
- размечаем da1 gpart ...
- обязательно прописываем загрузчик для будущего zroot
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da1
- создаем новый пул zpool create -f -o altroot=/mnt -O canmount=off -m none -f newroot da1p3
(da1p1 - freebsd-boot, da1p2 - swap, da1p3 - freebsd-zfs)
- создаем snapshot нашего текущего zroot
zfs snapshot -r zroot@backup
- реплицируем на новый пул
zfs send -R zroot@backup | zfs recv -Fdu newroot
- делаем его загрузочным
zpool set bootfs=newroot/ROOT/default newroot

копирование завершено, далее вставляем disc0 или memstick и REBOOT с него, выходим в LiveCD
(если это CD) (диск da0 со старым zroot физически вытаскиваем/ или отменяем монтирование)

# mkdir -p /tmp/mnt/root
# zpool import -f -R /tmp/mnt newpool zroot
# zfs list
- если "/" корень (zroot/ROOT/default) не смонтирован (canmount=noauto) и очень хочется
его увидеть:
# mount -t zfs zroot/ROOT/default /tmp/mnt/root

Это все, перезагружаемся с нового диска da1 и нового zroot

ps. sorry за mountpoint -> canmount

Теперь понятно?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ZFS переезд с пула на пул
СообщениеДобавлено: Ср 18 окт, 2017 5:30 pm 
Не в сети

Зарегистрирован: Вт 07 сен, 2004 3:30 pm
Сообщения: 61
Даже sysctl ковырять не надо, новый пул создаётся сразу с ashift=12
Цитата:
Теперь понятно?

Так по большому счёту я всё и перенёс, только вот это меня смущало т.е. были не видны рутовые каталоги,
- если "/" корень (zroot/ROOT/default) не смонтирован (canmount=noauto) и очень хочется
его увидеть:
# mount -t zfs zroot/ROOT/default /tmp/mnt/root


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Зарегистрированные пользователи: Bing [Bot], erema15


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
Яндекс.Метрика