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
Сообщения: 491
Откуда: Беларусь
Распишите в подробностях про старый пул, новый пул и миграцию.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: 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, Google [Bot], Google Feedfetcher


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

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