Здравствуйте,
После обновления FreeBSD 10.3 через freebsd-update перестал загружаться сервер.
На загрузке вижу такое :(Booting from Hard Disk ...
ZFS: i/o error - all block copies unavailable
ZFS: cant't read MOS of pool zroot
gptzfsboot: failed to mount default pool zrootFreeBSD/x86 boot
ZFS: i/o error - all block copies unavailable
ZFS: cant't find dataset u
Default: zroot/<0x0>:Загружаюсь в Rescue.
Делаю # zpool import -o altroot=/mnt zroot
В каталоге все файлы на месте.# cat /mnt/boot/loader.conf
zfs_load="YES"
kern.geom.label.gptid.enable="0"
opensolaris_load="YES"
zpool_cache_load="YES"
zpool_cache_type="/boot/zfs/zpool.cache"
zpool_cache_name="/boot/zfs/zpool.cache"# zpool status
pool: zroot
state: ONLINE
status: Some supported features are not enabled on the pool. The pool can
still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
the pool may no longer be accessible by software that does not support
the features. See zpool-features(7) for details.
scan: scrub canceled on Thu Dec 24 10:45:01 2015
config:NAME STATE READ WRITE CKSUM
zroot ONLINE 0 0 0
gpt/zfs0 ONLINE 0 0 0errors: No known data errors
# gpart show
=> 34 7812939709 mfid0 GPT (3.6T)
34 1024 1 freebsd-boot (512K)
1058 4194304 2 freebsd-swap (2.0G)
4195362 7808744381 3 freebsd-zfs (3.6T)# zfs list
NAME USED AVAIL REFER MOUNTPOINT
zroot 2.64T 888G 96K none
zroot/ROOT 71.8G 888G 96K none
zroot/ROOT/default 71.8G 888G 71.8G /mnt
zroot/tmp 1.02M 888G 1.02M /mnt/tmp
zroot/usr 2.57T 888G 96K /mnt/usr
zroot/usr/home 2.57T 888G 2.57T /mnt/usr/home
zroot/usr/ports 1023M 888G 1023M /mnt/usr/ports
zroot/usr/src 552M 888G 552M /mnt/usr/src
zroot/var 4.62M 888G 96K /mnt/var
zroot/var/crash 96K 888G 96K /mnt/var/crash
zroot/var/log 4.15M 888G 4.15M /mnt/var/log
zroot/var/mail 160K 888G 160K /mnt/var/mail
zroot/var/tmp 124K 888G 124K /mnt/var/tmp
Помогите пожалуйста решить проблему загрузки.
> # cat /mnt/boot/loader.conf
> opensolaris_load="YES"Это зачем? модуль zfs сам подгрузит.
А это откуда? Bsdinstall поставил? о_О
> zpool_cache_load="YES"
> zpool_cache_type="/boot/zfs/zpool.cache"
> zpool_cache_name="/boot/zfs/zpool.cache"Добавьте еще:
kern.geom.label.disk_ident.enable=0
> А это откуда? Bsdinstall поставил? о_ОЭто я уже намудрил ...
было изначально так:
zfs_load="YES"
kern.geom.label.gptid.enable="0"После добавления:
kern.geom.label.disk_ident.enable=0Ошибка такая:
FreeBSD/x86 boot
ZFS: unsupported compression algorithm 35
ZFS: i/o error - unable to decompress block pointer data, error 5
ZFS: cant't find dataset u
Default: zroot/<0x0>:
> Здравствуйте,
> После обновления FreeBSD 10.3 через freebsd-update перестал загружаться сервер.с какой версии на какую обновлялись?
>> Здравствуйте,
>> После обновления FreeBSD 10.3 через freebsd-update перестал загружаться сервер.А сам то загрузчик zfs gptzfsboot обновили... Просто я думаю загрузчик старый, а пул уже новой версии zfs, вот и не совместимость...
> с какой версии на какую обновлялись?Я не переходил на другую ветку (если я правильно понял)
Cделал просто freebsd-update fetch install> А сам то загрузчик zfs gptzfsboot обновили... Просто я думаю загрузчик
> старый, а пул уже новой версии zfs, вот и не совместимость...Нет, я ни чего не обновлял. Подскажите пожалуйста как сделать.
Опасаюсь перемудрить и потерять данные.
>> с какой версии на какую обновлялись?
> Я не переходил на другую ветку (если я правильно понял)
> Cделал просто freebsd-update fetch installhttps://forums.freebsd.org/threads/54422/ почитайте как там один решил проблему, возможно поможет
> https://forums.freebsd.org/threads/54422/ почитайте как там один решил проблему, возможно
> поможетСпасибо, попробую.
> Здравствуйте,
> После обновления FreeBSD 10.3 через freebsd-update перестал загружаться сервер.
> На загрузке вижу такое :(Обновиться то он успел или как? если успел, попробуйте скопировать новый загрузчик,
только возьмите его с обновленного диска, а не с rescue...
> Обновиться то он успел или как? если успел, попробуйте скопировать новый
> загрузчик,
> только возьмите его с обновленного диска, а не с rescue...Перед поломкой сервер нормально обновился.
Сделал следующее:# gpart show
=> 34 7812939709 mfid0 GPT (3.6T)
34 1024 1 freebsd-boot (512K)
1058 4194304 2 freebsd-swap (2.0G)
4195362 7808744381 3 freebsd-zfs (3.6T)# gpart bootcode -b /mnt/boot/pmbr -p /mnt/boot/gptzfsboot -i 1 mfid0
bootcode written to mfid0Не помогло.
Теперь
ZFS: i/o error - blocks larger than 128k are not supportedЕще смущает, что не показывает версию
# zpool get version
NAME PROPERTY VALUE SOURCE
zroot version - defaultИ не показывает диски, которые в пуле
# zpool status -v zroot
pool: zroot
state: ONLINE
scan: scrub canceled on Tue Nov 15 14:43:42 2016
config:NAME STATE READ WRITE CKSUM
zroot ONLINE 0 0 0
gpt/zfs0 ONLINE 0 0 0errors: No known data errors
Или это нормально если монтировано из rescue?
> Здравствуйте,
> После обновления FreeBSD 10.3 через freebsd-update перестал загружаться сервер.
> На загрузке вижу такое :(https://lists.freebsd.org/pipermail/freebsd-current/2014-Jul...
> https://lists.freebsd.org/pipermail/freebsd-current/2014-Jul...Выше написал. Не вышло. Или я что-то не так делаю :(
>> https://lists.freebsd.org/pipermail/freebsd-current/2014-Jul...
> Выше написал. Не вышло. Или я что-то не так делаю :(контроллер у вас какой?
> контроллер у вас какой?# dmesg | grep controller
ahci0: <Intel Lynx Point AHCI SATA controller> port 0x5070-0x5077,0x5060-0x5063,0x5050-0x5057,0x5040-0x5043,0x5020-0x503f mem 0xb1300000-0xb13007ff irq 19 at device 31.2 on pci0оно?
>> контроллер у вас какой?
> # dmesg | grep controller
> ahci0: <Intel Lynx Point AHCI SATA controller> port 0x5070-0x5077,0x5060-0x5063,0x5050-0x5057,0x5040-0x5043,0x5020-0x503f
> mem 0xb1300000-0xb13007ff irq 19 at device 31.2 on pci0
> оно?Да не похоже...
>> контроллер у вас какой?
> # dmesg | grep controller
> ahci0: <Intel Lynx Point AHCI SATA controller> port 0x5070-0x5077,0x5060-0x5063,0x5050-0x5057,0x5040-0x5043,0x5020-0x503f
> mem 0xb1300000-0xb13007ff irq 19 at device 31.2 on pci0
> оно?Ну-у-у-ууу, батенька, как же Вы с ZFS управляетесь, если простых вещей
не разумеете?
Думаю, Вы не сами ставили и настраивали сервер и ZFS:<quote>
# zpool status
pool: zroot
state: ONLINE
status: Some supported features are not enabled on the pool. The pool can
still be used, but some features are unavailable.
action: Enable all features using 'zpool upgrade'. Once this is done,
the pool may no longer be accessible by software that does not support
the features. See zpool-features(7) for details.
scan: scrub canceled on Thu Dec 24 10:45:01 2015
config:NAME STATE READ WRITE CKSUM
zroot ONLINE 0 0 0
gpt/zfs0 ONLINE 0 0 0<quote>
Выше сказано, zfs стал более свежей версии: некоторые возможности не доступны
пулу, action(что нужно сделать): zpool upgrade - нужно знать как это делать
безопасно, далее - читайте zpool-features
zroot - корневой пул установлен на gpt-label == zfs0Далее Вы делаете:
<quote>
# gpart bootcode -b /mnt/boot/pmbr -p /mnt/boot/gptzfsboot -i 1 mfid0
bootcode written to mfid0
<quote>mfid0 - это устройство у Вас имеет gpt-label zfs0?
обновление gptzfsboot должно быть на том устройстве, на котором создан zroot,
если это действительно mfid0, то вопрос как сконфигурен HW RAID.далее Вы пишите про контроллер:
<quote>
# dmesg | grep controller
ahci0: <Intel Lynx Point AHCI SATA controller> port 0x5070-0x5077,0x5060-0x5063,0x5050-0x5057,0x5040-0x5043,0x5020-0x503f mem 0xb1300000-0xb13007ff irq 19 at device 31.2 on pci0оно?
<quote>mfi - это рейд на базе LSI, если Вы используете ZFS over HW RAID, то Вы ССЗБ,
даже если HW RAID позволяет JBOD или Single Disk или Passthru, их "можно"
использовать под ZFS, но "НУ ОЧЕНЬ НЕ РЕКОМЕНДУЕТСЯ" - ибо Вы получаете
прослойку между Controller <-> HW RAID <-> ZFS, а ZFS любит:
Controller <-> ZFS.Выясните на что у Вас установлен zroot, посмотрите на что навешен gpt-label zfs0
# geom label list
или
# glabel list
или
# gpart show -l
> Думаю, Вы не сами ставили и настраивали сервер и ZFS:Да, так и есть. первый раз столкнулся.
> Выше сказано, zfs стал более свежей версии: некоторые возможности не доступны
> пулу, action(что нужно сделать): zpool upgrade - нужно знать как это делатьСделал:
# zpool status
pool: zroot
state: ONLINE
scan: scrub canceled on Tue Nov 15 17:43:42 2016
config:NAME STATE READ WRITE CKSUM
zroot ONLINE 0 0 0
gpt/zfs0 ONLINE 0 0 0errors: No known data errors
> прослойку между Controller <-> HW RAID <-> ZFS, а ZFS любит:
> Controller <-> ZFS.Как я понимаю лучше сменить, в данном случае, ZFS на UFS?
В итоге сервер поднялся. Сделал как в ссылке указанной выше.
# zpool import -R /mnt -f zroot
# cd /mnt
# mv boot boot.orig
# mkdir boot
# cd boot.orig
# mkdir /mnt/boot
# cp -Rp * /mnt/boot
# cd /
# zpool export
rebootВсем огромное спасибо за помощь!!!
> Как я понимаю лучше сменить, в данном случае, ZFS на UFS?Ну это не лучше
>[оверквотинг удален]
> # zpool import -R /mnt -f zroot
> # cd /mnt
> # mv boot boot.orig
> # mkdir boot
> # cd boot.orig
> # mkdir /mnt/boot
> # cp -Rp * /mnt/boot
> # cd /
> # zpool export
> rebootУ меня такое ощущение, что на первом этапе, до загрузки драйвера mfi, устройства у вас опознаются как ada(0, 1 и т.д.) и в дальнейшем уже вступает в действие сам драйвер, посему, если это так и у вас организовано зеркало средствами контроллера, то загрузчик надо записать и на другой диск, входящий в его состав...