LINUX.ORG.RU
ФорумAdmin

ZFS on Linux отвалился после обновления

 , , ,


1

1

Debian stable, подключен jessie-backports. После обновления (и автоматической пересборки) DKMS модуля ZFS этот модуль перестал загружаться . modprobe zfs выдаёт modprobe: ERROR: could not insert 'zfs': Unknown symbol in module, or unknown parameter (see dmesg). В dmesg zfs: Unknown symbol setattr_prepare (err 0)

Что делать? У меня паника

★★★★★

Последнее исправление: MrClon (всего исправлений: 1)

Что делать?

Не использовать в Линуксе всякие левые поделия.

подключен репозиторий КАКОЙ

Wut?

Deleted
()
Ответ на: комментарий от Deleted

Забыл заменить когда писал пост. А когда писал тот кусок не было возможности уточнить. ZFS из jessie-backports.

MrClon ★★★★★
() автор топика
Ответ на: комментарий от MrClon

Ну, раз это стабильная ветка, то надо связаться с техподдержкой дистрибутива и спросить, что за фигню такую допустили мантейнеры.

А само ядро обновлялось?

Deleted
()
Ответ на: комментарий от Deleted

Нет, обновлялись только эти пакеты:
geoip-database libnvpair1linux libssl1.0.0 libuutil1linux libzfs2linux libzpool2linux spl spl-dkms zfs-dkms zfs-initramfs zfs-zed zfsutils-linux

MrClon ★★★★★
() автор топика
Ответ на: комментарий от Deleted

ZoL-а? Вот как-раз пытаюсь. Благо в кеше пакеты есть. Вот только zfsutils-linux и zfs-zed при попытке поставить их через dpkg -i говорят «Hangup» и то-ли вешают систему, то-ли очень медленно её перезапускают (я не дожидаюсь и репутаю вручную, через IPMI).

MrClon ★★★★★
() автор топика
Ответ на: комментарий от MrClon

Так это, можно же просто загрузить систему из предыдущего тома. Только не говорите, что вы не делаете клон/снапшот корня перед апдейтом))

Deleted
()
Ответ на: комментарий от Deleted

ZFS не в корне. Ну а копировать весь / перед каждым обновлением это слишком параноидально даже для меня. Кажется это первый случай в моей практике когда в Debian что-то основательно развалилось от обновления в рамках одного релиза

MrClon ★★★★★
() автор топика
Ответ на: комментарий от MrClon

zfs-dkms 0.6.5.8-1 вроде скомпилялся и загрузился (0.6.5.8-2 компилялся но не грузился).
Но zfsutils-linux 0.6.5.8-1 так-же как и zfsutils-linux 0.6.5.8-2 делает hangup, так-что поставить остальные пакеты соответствующих верий пока не получилось

MrClon ★★★★★
() автор топика
Ответ на: комментарий от MrClon

Работоспособность сервера восстановлена, во всяком случае в первом приближении. Ночью буду копать дальше.

Оказывается кроме косяка с ZFS был ещё косяк с ext4, система отказывалась нормально запускаться потому-что (как минимум) один из ext4 разделов был создан слишком новой версией mkfs.ext4 (из testing) и более старый (stable) fsck не мог её проверить (ФС была создана с какой-то фичей, которую он не умел). Проверил fsck из тестинга (благо он у меня там на соседнем разделе стоит, просто chroot-нулся в него). но на будущее надо как-то решить эту проблему.
Ну и с Hangup-ом этим разобраться.

Забавно что за раз всплыли проблемы и с инновационно-нанотехнологичной ZFS и с традиционно-посконной EXT4

MrClon ★★★★★
() автор топика
Ответ на: комментарий от anonymous

А ты возмущался! Я же говорил что ZFS для нищебродов@localhost

futurama ★★★★★
()
Ответ на: комментарий от MrClon

SPL пересобирается вместе с ZFS при обновлении. Скорее всего, ты пробовал грузить новый модуль ZFS, не перезагрузив предварительно SPL, функции которого ZFS использует.

spijet ★★★
()
Ответ на: комментарий от spijet

Да, звучит правдоподобно. Хотя по идее обновиться должны были сразу оба, зависимости у них прописаны (а значит грузиться они должны в правильном порядке), так что ХЗ.

MrClon ★★★★★
() автор топика

Было бы уместно написать версии ядра, zfs и spl. Подобные косяки крутятся именно вокруг этих цифр.

melkor217 ★★★★★
()
Ответ на: комментарий от melkor217
~# uname -a
Linux srv5-stable 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u1 (2016-09-03) x86_64 GNU/Linux


ZOL 0.6.5.8-1, 0.6.5.8-2 и 0.6.5.9-2
SPL 0.6.5.8-2~bpo8+2, 0.6.5.8-3~bpo8+1 и 0.6.5.9-1~bpo8+1
Сейчас стоит какая-то смесь из пакетов разных версий, логично предположить что после рогового обновления все пакеты были последних версий.
Ночью буду дальше разбираться, сейчас не хочу сервер трогать.

MrClon ★★★★★
() автор топика
Ответ на: комментарий от Deleted

А надо? С этим сервером уже был прикольный секас (с.м. другую мою тему), так-что я руководствуюсь принципом «работает — не трогай».
Хотя в Debian stable есть один мешающий мне баг в auditd, и кажется дело там как-раз в ведре, так-что есть смысл обновить его.

MrClon ★★★★★
() автор топика

Опять поставил последние версии пакетов. Модуль spl загружается, zfs нет. То-же самое. Откатил обратно на ZOL 0.6.5.8-1 и SPL 0.6.5.8-2, с ними всё ок.

MrClon ★★★★★
() автор топика
Ответ на: комментарий от MrClon

На тестовом стенде, кстати, последние версии этих пакетов прекрасно работают. Стенд правда не то что-бы очень хорошо копирует сервер: просто поставил дебиан из снепшота репозитория от начала года (в последний раз обновлял сервер когда-то тогда), поставил ZoL, а потом обновил всё это из актуальных реп.

MrClon ★★★★★
() автор топика
Ответ на: комментарий от MrClon

А в чём проблема сервер обновить (в пределах своего релиза, конечно)? У дебиана же не должно быть ломающих обновлений внутри одного релиза, насколько я слышал.

spijet ★★★
()
Ответ на: комментарий от MrClon

Просто ты выше написал:

а потом обновил всё это из актуальных реп.

Вот я и спросил, может надо остальные пакеты на сервере тоже обновить? :)

spijet ★★★
()
Ответ на: комментарий от spijet

Дело не в роллинге, а в как попало прописанных зависимостях. Debian Sid как бы тоже троллинг-релиз, но там никто не заставляет обновлять всё, чтобы у тебя не перестала работать какая-нибудь программа.

anonymous
()
Ответ на: комментарий от anonymous

Напиши патч для Pacman, который научит его учитывать зависимости динамических библиотек.

spijet ★★★
()
Ответ на: комментарий от MrClon

Не совсем это имел ввиду. Я подумал, что ты обновил всё на тестовом стенде, а на «рабочем» сервере — только SPL и ZoL.

spijet ★★★
()

Debian stable, подключен репозиторий КАКОЙ.

А теперь какой удали (с помощью каки).

Deleted
()
21 декабря 2017 г.
Ответ на: комментарий от Deleted

помогите ламеру

позарился на zfs, не поучив матчасть. после очередного перезапуска получил следующее: yuri@yuri-GA-MA770-US3:~$ sudo fdisk -l Диск /dev/sda: 223.6 GiB, 240057409536 байтов, 468862128 секторов Единицы измерения: секторов из 1 * 512 = 512 байтов Размер сектора (логический/физический): 512 байт / 512 байт I/O size (minimum/optimal): 512 bytes / 512 bytes Тип метки диска: dos Идентификатор диска: 0xcd8646cb

Устр-во Загрузочный Start Конец Секторы Size Id Тип /dev/sda1 * 2048 468860927 468858880 223.6G 83 Linux

Диск /dev/sdb: 2.7 TiB, 3000588754432 байтов, 5860524911 секторов Единицы измерения: секторов из 1 * 512 = 512 байтов Размер сектора (логический/физический): 512 байт / 4096 байт I/O size (minimum/optimal): 4096 bytes / 4096 bytes Тип метки диска: gpt Идентификатор диска: 3E801EBB-6FA3-4B4B-9594-FCA3A2AE9152

Устр-во Start Конец Секторы Size Тип /dev/sdb1 2048 5860507647 5860505600 2.7T Solaris /usr & Apple ZFS /dev/sdb9 5860507648 5860524031 16384 8M Solaris reserved 1 yuri@yuri-GA-MA770-US3:~$ sudo zfs list /dev/sdb '/dev/sdb': not a ZFS filesystem yuri@yuri-GA-MA770-US3:~$ sudo zfs list /dev/sdb1 '/dev/sdb1': not a ZFS filesystem yuri@yuri-GA-MA770-US3:~$

Suslovsky
()
Ответ на: комментарий от MrClon

упс...

я даже скриншот с терминала сделал, только не знаю, как у вас картинку вставить

Suslovsky
()
Ответ на: комментарий от MrClon

исправляю

помогите ламеру

позарился на zfs, не поучив матчасть. после очередного перезапуска получил следующее:

yuri@yuri-GA-MA770-US3:~$ sudo fdisk -l

Диск /dev/sda: 223.6 GiB, 240057409536 байтов, 468862128 секторов Единицы измерения: секторов из 1 * 512 = 512 байтов Размер сектора (логический/физический): 512 байт / 512 байт I/O size (minimum/optimal): 512 bytes / 512 bytes Тип метки диска: dos Идентификатор диска: 0xcd8646cb

Устр-во Загрузочный Start Конец Секторы Size Id Тип /dev/sda1 * 2048 468860927 468858880 223.6G 83 Linux

Диск /dev/sdb: 2.7 TiB, 3000588754432 байтов, 5860524911 секторов Единицы измерения: секторов из 1 * 512 = 512 байтов Размер сектора (логический/физический): 512 байт / 4096 байт I/O size (minimum/optimal): 4096 bytes / 4096 bytes Тип метки диска: gpt Идентификатор диска: 3E801EBB-6FA3-4B4B-9594-FCA3A2AE9152

Устр-во Start Конец Секторы Size Тип

/dev/sdb1 2048 5860507647 5860505600 2.7T Solaris /usr & Apple ZFS

/dev/sdb9 5860507648 5860524031 16384 8M Solaris reserved 1

yuri@yuri-GA-MA770-US3:~$ sudo zfs list /dev/sdb

'/dev/sdb': not a ZFS filesystem

yuri@yuri-GA-MA770-US3:~$ sudo zfs list /dev/sdb1

'/dev/sdb1': not a ZFS filesystem

после одной перезагрузки доступен, после другой - нет

Suslovsky
()
Ответ на: исправляю от Suslovsky

zpool status что говорит?

zfs list надо скармливать не путь к разделу, а имя тома в пуле, если у тебя пул не подгрузился, эту команду выполнять бесполезно

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

sudo zpool status

[sudo] пароль для yuri:

pool: Yuri state: ONLINE status: One or more devices has experienced an error resulting in data corruption. Applications may be affected. action: Restore the file in question if possible. Otherwise restore the entire pool from backup. see: http://zfsonlinux.org/msg/ZFS-8000-8A scan: scrub repaired 76K in 3h35m with 520 errors on Sun Dec 10 03:59:49 2017 config:

NAME STATE READ WRITE CKSUM Yuri ONLINE 0 0 0 sda ONLINE 0 0 0

errors: 520 data errors, use '-v' for a list

yuri@yuri-GA-MA770-US3:~$

а когда не подгружается, что делать?

Suslovsky
()
Ответ на: комментарий от Suslovsky

а когда не подгружается, что делать?

Выполнить

zpool import
ЕМНИП можно без указания имени пула и посмотреть какую ошибку он напишет.

One or more devices has experienced an error resulting in data corruption
errors: 520 data errors, use '-v' for a list

А хотя у тебя уже не всё в порядке

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 2)
Ответ на: комментарий от iZEN

Нечестно, у вас ZFS в ядре, а у нас — out-of-tree! :P

spijet ★★★
()
Ответ на: комментарий от Suslovsky

Я вообще не в курсе, как у вас заводится ZFS на Linux. Пишу, чтобы я делал в такой ситуации на FreeBSD.

Вместо zpool import -f poolname можно сделать zpool import -F poolname, чтобы при монтировании пул откатился на последнюю успешную транзакцию, тогда, возможно не потребуется проводить zpool scrub poolname, но и некие данные будут потеряны, о которых нельзя будет ничего узнать.

iZEN ★★★★★
()
Последнее исправление: iZEN (всего исправлений: 1)
Ответ на: комментарий от iZEN

Действительно: написал Import и всё открылось! Но почему же оно отваливается?

Suslovsky
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.