URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 96992
[ Назад ]

Исходное сообщение
"ZFS+GELI+RESIZE"

Отправлено VladiS , 13-Сен-17 22:15 
Привет, камрады!

Я продолжаю на работе получать новые для себя задачи.
Есть сервер, который я удачно мигрировал в виртуальную среду. Цель проста - увеличить диск.

В итоге виртуалка с FreeBSD и зашифрованным ZFS диском на 25ГБ.

1) Увеличил виртуалке диск и система это увидела
gpart show  104857567  102760448         - free -  (49G)
2) zpool get autoexpand zroot
3) Увеличил нужный раздел gpart resize -i 3 disk0
4) zpool export zroot && zpool import zroot
5)zpool online -e zroot /stor/zroot
После ребута geli: Cannot read metadata from /stor/zroot.eli

Провел эксперимент на новой FreeBSD, если диск не зашифрован, то все получается. В интернете про увеличение раздела с geli ничего путного не нашел.

Подскажите, пожалуйста.


Содержание

Сообщения в этом обсуждении
"ZFS+GELI+RESIZE"
Отправлено Денис , 14-Сен-17 07:33 
по идее geli resize надо было еще сделать
сейчас можно попробовать вручную метаданные восстановить или из бэкапа geli restore если он есть в /var/backup


>[оверквотинг удален]
> gpart show  104857567  102760448      
>   - free -  (49G)
> 2) zpool get autoexpand zroot
> 3) Увеличил нужный раздел gpart resize -i 3 disk0
> 4) zpool export zroot && zpool import zroot
> 5)zpool online -e zroot /stor/zroot
> После ребута geli: Cannot read metadata from /stor/zroot.eli
> Провел эксперимент на новой FreeBSD, если диск не зашифрован, то все получается.
> В интернете про увеличение раздела с geli ничего путного не нашел.
> Подскажите, пожалуйста.


"ZFS+GELI+RESIZE"
Отправлено VladiS , 14-Сен-17 10:32 
> по идее geli resize надо было еще сделать
> сейчас можно попробовать вручную метаданные восстановить или из бэкапа geli restore если
> он есть в /var/backup

Перед экспериментами я сделал бэкап виртуалки, поэтому ничего не поломалось.
geli resize нигде не встречал в статьях, пойду пробовать.


"ZFS+GELI+RESIZE"
Отправлено VladiS , 14-Сен-17 11:37 
Что делал:
1) geli attach
2) zpool import
3) zpool set autoexpand=on zroot
4) gpart resize
5) zpool online -e zroot

Пока ничего не получилось.

6) zpool export data
7) geli resize -v -s 32212148224 zroot.eli
geli: Size hasn't changed.

После  geli detach / geli attach
Enter passphrase:
geli: Cannot read metadata from zroot: Invalid argument.

Что не так? :-(


"ZFS+GELI+RESIZE"
Отправлено Денис , 14-Сен-17 12:19 
resize в мане упомянут, причем тут стаитьи
помнится у меня тоже не получилось resize перенес метаданные через geli backup/restore


>[оверквотинг удален]
> 4) gpart resize
> 5) zpool online -e zroot
> Пока ничего не получилось.
> 6) zpool export data
> 7) geli resize -v -s 32212148224 zroot.eli
> geli: Size hasn't changed.
> После  geli detach / geli attach
> Enter passphrase:
> geli: Cannot read metadata from zroot: Invalid argument.
> Что не так? :-(


"ZFS+GELI+RESIZE"
Отправлено Денис , 14-Сен-17 12:22 
resize в мане упомянут, причем тут стаитьи
помнится у меня тоже не получилось resize перенес метаданные через geli backup/restore

https://forums.freebsd.org/threads/45133/
вот подобное поведение описано


>[оверквотинг удален]
>> 4) gpart resize
>> 5) zpool online -e zroot
>> Пока ничего не получилось.
>> 6) zpool export data
>> 7) geli resize -v -s 32212148224 zroot.eli
>> geli: Size hasn't changed.
>> После  geli detach / geli attach
>> Enter passphrase:
>> geli: Cannot read metadata from zroot: Invalid argument.
>> Что не так? :-(


"ZFS+GELI+RESIZE"
Отправлено VladiS , 14-Сен-17 12:27 
> resize в мане упомянут, причем тут стаитьи
> помнится у меня тоже не получилось resize перенес метаданные через geli backup/restore

При том, что все статьи и форумы, которые так или иначе затрагивают resize ZFS пула, которые лично мне попадались, не применяли geli resize за ненадобностью.

За ссылку спасибо.


"ZFS+GELI+RESIZE"
Отправлено butcher , 14-Сен-17 21:30 
>[оверквотинг удален]
> 4) gpart resize
> 5) zpool online -e zroot
> Пока ничего не получилось.
> 6) zpool export data
> 7) geli resize -v -s 32212148224 zroot.eli
> geli: Size hasn't changed.
> После  geli detach / geli attach
> Enter passphrase:
> geli: Cannot read metadata from zroot: Invalid argument.
> Что не так? :-(

число 32212148224 - как-то не очень похоже на 25Г.
в geli resize нужно указывать провайдер, который содержит метаданные GEOM_ELI, а не тот, который GEOM_ELI создаёт. В качестве размера нужно указывать старый размер, который был до resize. По этому размеру утилита находит метаданные класса на провайдере, обновляет его в соответствии с текущим размером и записывает обратно. После этого можно делать attach.