Страница 1 из 1

Пересобрал ядро слетела ZFS

Добавлено: 2009-11-20 11:55:40
Kotjara
Решил сделать хранилище NAS на FreeBSD 8.0-RC3 amd64
Установил FreeBSD с корнем на ZFS (GPT разделы), объединил две сетевухи (aggregate). Всё летает как сверхзвуковой истребитель, поставил samba 3.3
Вобщем всё было хорошо, я решил пересобрать ядро с целью убрать лишнее, добавить нужное (lagg + utf8 в консоль), пересобрал ядро, перегрузил тачку. Теперь при загрузке вылетает сообщение.
ZFS: i/o error - all block copies unavailable
ZFS: can't read MOS
ZFS: unexpected object set type lld
ZFS: unexpected object set type lld

Вопрос №1, можно ли поднять пул?
Вопрос №2, из за чего произошла данная фигня и можно ли при пересборке ядра данной траблы избежать?
К сожалению гугленье ничего толкового не дало.... :cry:

Re: Пересобрал ядро слетела ZFS

Добавлено: 2009-11-20 15:09:08
alexz
А какой размер пула?
А вообще, http://docs.freebsd.org/cgi/getmsg.cgi? ... freebsd-fs

Re: Пересобрал ядро слетела ZFS

Добавлено: 2009-11-20 15:13:11
Kotjara
Объём 4 Tb. :crazy:
А патч пообещали в 8.0 Release. :drinks:

Re: Пересобрал ядро слетела ZFS

Добавлено: 2009-11-20 15:26:14
alexz
Kotjara писал(а):Объём 4 Tb. :crazy:
А патч пообещали в 8.0 Release. :drinks:
К сожалению, не факт... :(

Re: Пересобрал ядро слетела ZFS

Добавлено: 2009-11-20 16:18:34
Kotjara
Написано, что исправление будет включено в 8.0 Release, во всяком случае Robert Noland пообещал сиё на kerneltrap.org. Я очень надеюсь на это исправление :shock:

Re: Пересобрал ядро слетела ZFS

Добавлено: 2009-11-20 19:17:49
Kotjara
Попатчил, пересобрал ядро, рестартанул, работает. Требовалось пропатчить /usr/src/sys/boot/i386/zfs/zfsboot.c& zfsldr.S
Если кому надо могу выложить патч.

Re: Пересобрал ядро слетела ZFS

Добавлено: 2009-11-20 20:19:15
Alex Keda
выложи.
походу, я ту же багу словил.
бутиться, а смонтировать не может =)))

Re: Пересобрал ядро слетела ZFS

Добавлено: 2009-11-20 21:11:30
alexz
Kotjara писал(а):Попатчил, пересобрал ядро, рестартанул, работает. Требовалось пропатчить /usr/src/sys/boot/i386/zfs/zfsboot.c& zfsldr.S
Если кому надо могу выложить патч.
Хм... а причем тут ядро?
ПМСМ пересобирать нужно gptzfsboot и переустанавливать его в бутовый раздел. Ядра это не касается...

Re: Пересобрал ядро слетела ZFS

Добавлено: 2009-11-20 21:19:38
alexz
lissyara писал(а):выложи.
походу, я ту же багу словил.
Скорее всего нет. Там проблема в том, что загрузчик не может подгрузить лоадер или ядро и модули...
lissyara писал(а):бутиться, а смонтировать не может =)))
А что пишет?
/boot/zfs/zpool.cache на месте и загружен?

Re: Пересобрал ядро слетела ZFS

Добавлено: 2009-11-20 23:38:52
Alex Keda
на месте
=======
ситуёвина выглядит так.
прописал в loader.conf модуль, вызывающий падение системы прям перед монтированием FS
на буте выходу в лоадер, всё выгружаю, гружу ядро, zfs.ko
boot
получаю
rootmounfrom>
финиш. zfs:rootFS не катит.
в переменных лоадера всё прописано - откуда / маунтить...

=====
про cache - как его грузить-то? как модуль пробовал - не прокатило

Re: Пересобрал ядро слетела ZFS

Добавлено: 2009-11-20 23:55:55
f_andrey
Это у вас вот эта чтоль беда, у меня на каренте с двумя винтами в ZFS rootpool зеркале, вроде ничего такого нет, или я успел до ее появления :)

Re: Пересобрал ядро слетела ZFS

Добавлено: 2009-11-20 23:58:08
Alex Keda
не. у меня зеркало

Re: Пересобрал ядро слетела ZFS

Добавлено: 2009-11-21 11:17:29
Sadok123
еще в школе учат: "не трогай налаженный механизм"

Re: Пересобрал ядро слетела ZFS

Добавлено: 2009-11-21 11:27:12
alexz
lissyara писал(а):на месте
=======
ситуёвина выглядит так.
прописал в loader.conf модуль, вызывающий падение системы прям перед монтированием FS
на буте выходу в лоадер, всё выгружаю, гружу ядро, zfs.ko
boot
получаю
rootmounfrom>
финиш. zfs:rootFS не катит.
в переменных лоадера всё прописано - откуда / маунтить...

=====
про cache - как его грузить-то? как модуль пробовал - не прокатило
load -t cache /boot/zfs/zpool.cache
если lsmod не показывет загруженный zpool.cache, рут не смонтируется...

Re: Пересобрал ядро слетела ZFS

Добавлено: 2009-11-21 17:46:24
Alex Keda
хм. не знал феньки
один фиг - теперь до вторника...
======
а где это задокументировано ?

Re: Пересобрал ядро слетела ZFS

Добавлено: 2009-11-21 18:49:10
alexz
lissyara писал(а):хм. не знал феньки
один фиг - теперь до вторника...
======
а где это задокументировано ?
про -t есть в loader(8), а про то, что можно zpool.cache грузить с его помощью, по-моему видел на этом форуме :)
судя по всему, текст после -t (type) в данном случае не имеет никакого значения.
главное - чтобы zpool.cache оказался в памяти.

Re: Пересобрал ядро слетела ZFS

Добавлено: 2009-11-24 11:31:40
Kotjara
я пропатчил после пересборки ядра, потом стандартно, перед перезагрузкой
cd /usr/src/sys/boot;make obj;make depend;make
cd i386/loader;make install

Re: Пересобрал ядро слетела ZFS

Добавлено: 2009-11-25 8:56:37
Kotjara
Ну что, походу установил Release. Пересобрал ядро, перегрузился.... Без глюков :-D

Re: Пересобрал ядро слетела ZFS

Добавлено: 2009-11-25 10:46:29
alexz
Kotjara писал(а):Ну что, походу установил Release. Пересобрал ядро, перегрузился.... Без глюков :-D
Загрузчик в бутовом разделе стоит обновить :)
gpart bootcode -p /boot/gptzfsboot -i ... ...

ЗЫ: В 8.0-release патчи, как и следовало ожидать, не вошли... :(

Re: Пересобрал ядро слетела ZFS

Добавлено: 2009-11-26 10:31:44
Alexei Volkov
После того как в репозитарии засветилась 8.0-RELEASE я стал проверять все возможности загрузки и работы непосредственно с ZFS, и сейчас я столкнулся с тем что в случае высоковероятностной ситуации, когда в процессе замены компонентов пула происходит непредвиденный ребут, система теряет способность загружаться.

Составлен багрепорт kern/140888

Re: Пересобрал ядро слетела ZFS

Добавлено: 2009-11-26 12:08:16
Kotjara
alexz писал(а):
Kotjara писал(а):Ну что, походу установил Release. Пересобрал ядро, перегрузился.... Без глюков :-D
Загрузчик в бутовом разделе стоит обновить :)
gpart bootcode -p /boot/gptzfsboot -i ... ...

ЗЫ: В 8.0-release патчи, как и следовало ожидать, не вошли... :(
Ошибаетесь, после пересборки мира и ядра при загрузке, описанных мною выше, проблем не возникло.

Re: Пересобрал ядро слетела ZFS

Добавлено: 2009-11-28 1:17:04
alexz
Kotjara писал(а):
alexz писал(а):
Kotjara писал(а):Ну что, походу установил Release. Пересобрал ядро, перегрузился.... Без глюков :-D
Загрузчик в бутовом разделе стоит обновить :)
gpart bootcode -p /boot/gptzfsboot -i ... ...

ЗЫ: В 8.0-release патчи, как и следовало ожидать, не вошли... :(
Ошибаетесь, после пересборки мира и ядра при загрузке, описанных мною выше, проблем не возникло.
В вашем случае проблема была не в ядре, а в том, в каком месте пула оно оказалось после пересборки (.
Патчи (они не для ядра, а для gptzfsboot) в релиз не попали. А тому, что, сейчас нет проблем, есть пара объяснений:
1. В бутовом разделе остался пропатченный лоадер (gptzfsboot в бутовом разделе нужно обновлять руками; make installworld/installkernel этого не делает)
2. Дело случая. Окажется лоадер, ядро или загружаемый модуль (например, при переинсталляции или пересборке) в конце пула и проблема появится снова.

Re: Пересобрал ядро слетела ZFS

Добавлено: 2009-12-04 12:32:10
Kotjara
Ох любишь ты поспорить.......
Где, в каком месте я говорил про то что "проблема в ядре"?
Проблем нет, пофиксили, и патчились именно zfsboot.c и zfsldr.c ;-)

Re: Пересобрал ядро слетела ZFS

Добавлено: 2009-12-04 16:51:31
alexz
Kotjara писал(а): Проблем нет, пофиксили, и патчились именно zfsboot.c и zfsldr.c ;-)
Пофиксили. Но только
1. 20 ноября в HEAD (http://svn.freebsd.org/viewvc/base?view ... ion=199579)
2. только 1 декабря (уже после релиза) в STABLE (http://svn.freebsd.org/viewvc/base?view ... ion=200004)

Еще раз повторю: в 8.0-RELEASE этих патчей нет.