Страница 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, из за чего произошла данная фигня и можно ли при пересборке ядра данной траблы избежать?
К сожалению гугленье ничего толкового не дало....

Re: Пересобрал ядро слетела ZFS
Добавлено: 2009-11-20 15:09:08
alexz
Re: Пересобрал ядро слетела ZFS
Добавлено: 2009-11-20 15:13:11
Kotjara
Объём 4 Tb.
А патч пообещали в 8.0 Release.

Re: Пересобрал ядро слетела ZFS
Добавлено: 2009-11-20 15:26:14
alexz
Kotjara писал(а):Объём 4 Tb.
А патч пообещали в 8.0 Release.

К сожалению, не факт...

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

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. Пересобрал ядро, перегрузился.... Без глюков

Re: Пересобрал ядро слетела ZFS
Добавлено: 2009-11-25 10:46:29
alexz
Kotjara писал(а):Ну что, походу установил Release. Пересобрал ядро, перегрузился.... Без глюков

Загрузчик в бутовом разделе стоит обновить

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. Пересобрал ядро, перегрузился.... Без глюков

Загрузчик в бутовом разделе стоит обновить

gpart bootcode -p /boot/gptzfsboot -i ... ...
ЗЫ: В 8.0-release патчи, как и следовало ожидать, не вошли...

Ошибаетесь, после пересборки мира и ядра при загрузке, описанных мною выше, проблем не возникло.
Re: Пересобрал ядро слетела ZFS
Добавлено: 2009-11-28 1:17:04
alexz
Kotjara писал(а):alexz писал(а):Kotjara писал(а):Ну что, походу установил Release. Пересобрал ядро, перегрузился.... Без глюков

Загрузчик в бутовом разделе стоит обновить

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 этих патчей нет.