Dexex
Спасибо за наставление. Завтра буду копать и вам показывать.
Hennadii
read only попробую прицепить из recovery. Пока больше ничего. Логи почитаю.
возможно из содержимого dmesg можно будет понять причину проблемы, и возможно в /proc/spl/kstat/zfs/dbgmsg будет информация, из которой получится понять что случилось (ZFS Kernel Module Debug Messages).
когда-то на pool состоящем из mirror из двух nvme наблюдал очень долгое монтирование zfs pool, около полторы минуты система "висела" в состоянии загрузки при импорте zfs pool и монтировании zvol - причина была в том, что до перезагрузки сервера был активирован режим zpool scrub (или zpool trim или они оба одновременно, уже не помню) - и при старте - zfs начала этим самым zpool scrub и заниматься, так что была высокая дисковая активность и все остановилось и "зависло" на этапе работы сервиса zfs-volume-wait.service - какое-то не очень логичное поведение, словно бы zpool scrub - это такой срочный процесс, что его надо было немедленно запускать, блокируя загрузку сервера и нельзя было отложить запуск zpool scrub до того момента, когда сервер уже полностью загрузится и будет нормально работать.
raidz2 на дисках по 2tb объемом 4. 4 диска.
возможно здесь что-то похожее было/есть, когда сервер перезапустился при работающем zpool scrub
Dexex
Dexex
Это я просто ребутнул и подождал. По результату видим это
Александр
Dexex
Александр
12гб
Стоп, Debian 6.1? Серьезно?
Александр
Так, я зря испугался, это все-таки ядро 6.1. Какого объема xfs?
Александр
fsck может ОЧЕНЬ долго работать
Dexex
Может ему свапа не хватает. Сейчас я в рекавери сеть поднял и ssh. Сейчас подрублюсь с удобного места
Александр
Александр
Так он в панику по итогу уходит.
На втором скриншоте я вижу, что кто-то не выдержал и стал жать Ctrl-C. fsck на большом диске может бегать и час и два
Dexex
Александр
Там прошли сутки.
Прошли сутки, fsck работал, диском шуршал? Какой объем xfs?
Dexex
Dexex
120gb просто ssd для системы
Александр
Так, понял. Gave up waiting for suspend/resume device. Это похоже на проблемы с железом
Nik
Это не проксмокс?
Dexex
Nik
Ограничить арк, попробуй. Почему вообще зфс убивает, с потреблением памяти 100 мб
Dexex
Dexex
Dexex
Примонтировался
Dexex
Я ограничил arc
Dexex
Делаю scrub
Dexex
Все файлы на месте. До конца скраба 50м.
Так что вот такие траблы с zfs по сути на пустом месте бывают. Пилить и пилить ещё. Ещё снапшоты почистил.
Nik
ну тут далеко не факт что виноват зфс. Возможно диск помирает ваш, с чего скраб то запустился, откуда оом пришел.
Nik
слишком много вопросов на которые трудно получить ответы. ООМ на пустом месте не срабатывает.
Hennadii
Все файлы на месте. До конца скраба 50м.
Так что вот такие траблы с zfs по сути на пустом месте бывают. Пилить и пилить ещё. Ещё снапшоты почистил.
на самом первом скриншоте - kernel panic. это действительно - очень сильно похоже на проблемы с hardware - или память, или какое-то другое hardware (Intel процесор, материнская плата и т.п.)
Есть ли возможность проверить память сервера с помощью https://memtest.org/ ?
Хотя бы несколько полных проходов, но для большей уверенности - оставить memtest работающим на сутки.
если там глючная память - то скорее всего, что именно она и является причиной такого странного поведения сервера.
Судя по скриншоту - материнская плата там P7Q57-M DO - она только non-ECC память поддерживает.
кроме того, версия 2.1.11 все-таки очень старая и содержит data corruption bug, уже есть 2.1.15 с исправлением этой и многих других ошибок.
2.1.16 на дебиан/убунту ядрах, как я понимаю, собираться и работать не будет, но 2.1.15 должна работать.
https://github.com/openzfs/zfs/releases/tag/zfs-2.1.14
Note: This release contains an important fix for a data corruption bug. Full details are in the issue (#15526) and bug fix (#15571). There's also a developer's bug summary that gives a good overview. We recommend everyone either upgrade to 2.2.2 or 2.1.14 to get the fix. The bug can cause data corruption due to an incorrect dirty dnode check. This bug is very hard to hit, and really only came to light due to changes in cp in coreutils 9.x. It's extremely unlikely that the bug was ever hit on EL7 or EL8 when running cp since they all use coreutils 8.x which performs file copies differently.
Dexex
Все файлы на месте. До конца скраба 50м.
Так что вот такие траблы с zfs по сути на пустом месте бывают. Пилить и пилить ещё. Ещё снапшоты почистил.
на самом первом скриншоте - kernel panic. это действительно - очень сильно похоже на проблемы с hardware - или память, или какое-то другое hardware (Intel процесор, материнская плата и т.п.)
Есть ли возможность проверить память сервера с помощью https://memtest.org/ ?
Хотя бы несколько полных проходов, но для большей уверенности - оставить memtest работающим на сутки.
если там глючная память - то скорее всего, что именно она и является причиной такого странного поведения сервера.
Судя по скриншоту - материнская плата там P7Q57-M DO - она только non-ECC память поддерживает.
кроме того, версия 2.1.11 все-таки очень старая и содержит data corruption bug, уже есть 2.1.15 с исправлением этой и многих других ошибок.
2.1.16 на дебиан/убунту ядрах, как я понимаю, собираться и работать не будет, но 2.1.15 должна работать.
https://github.com/openzfs/zfs/releases/tag/zfs-2.1.14
Note: This release contains an important fix for a data corruption bug. Full details are in the issue (#15526) and bug fix (#15571). There's also a developer's bug summary that gives a good overview. We recommend everyone either upgrade to 2.2.2 or 2.1.14 to get the fix. The bug can cause data corruption due to an incorrect dirty dnode check. This bug is very hard to hit, and really only came to light due to changes in cp in coreutils 9.x. It's extremely unlikely that the bug was ever hit on EL7 or EL8 when running cp since they all use coreutils 8.x which performs file copies differently.
После выполнения скраба и чистки снапшотов - все корректно работает и нормально перезагружается. Вот так...
Я по ошибке смотрел и уменьшил Арк. Может это помогло? Я хз.
Hennadii
Я по ошибке смотрел и уменьшил Арк. Может это помогло?
любой разумный размер ZFS Adaptive Replacement Cache (ZFS ARC) не должен приводить к page fault и kernel panic: System is deadlocked on memory.
какой размер ZFS ARC был выставлен изначально на этом сервере с 12 GiB RAM, и какой размер ZFS ARC стал после уменьшения, когда все начало работать нормально и без каких-либо проблем?
что говорит https://memtest.org/ - есть ли ошибки памяти на этом сервере с non-ECC RAM ?
Hennadii
кроме того, как на этом сервере с 12 GiB non-ECC RAM настроен swap?
если через zvol - то именно это и может приводить к deadlock и kernel panic.
Using a zvol for a swap device on Linux
Swap deadlock in 0.7.9 #7734
Vladislav
Любопытно это chatgpt o4?
Dexex
Dexex
Игорь
Dedup включен, памяти под таблицу дедупликации надо много, просчитано? Судя по коэффициенту эффект не большой, есть смысл выключить, полагаю.
Georg🎞️🎥
Dexex
Dexex
Там как раз и есть смысл. Потому что никто не знает чо у них в папочках по 50гб - дубликаты или нужное.
Dexex
По сути ради дедубликакации я его и заюзал. Потому что бардак. Маркетинговые материалы торгового центра за 15 лет
Dexex
Я думаю если копировать файло по несколько раз и больше места занимать оно не лучше будет
Dexex
А диск там один да, с бэдами. Но ещё не фейлтед. Кому нужен wd gold новый не юзаный(чистая таблица смарт ололо)?
Dexex
😁
Ivan
https://opennet.ru/62552/
Δαρθ
вот тут подумал -- а что мешает поддержать автомаунт датасета по тому что передано ядру в root= ?
просто никто не парился или какие-то принципиальные моменты?
George
https://opennet.ru/62552/
опять кстати про проперти и мелочи не написали, тут явно подсвечу из того что смог дотащить лично:
- теперь xattr=on - синоним к xattr=sa, так что ничего не меняя и на старых пулах xattrs (считай мета о файле дополнительная) будет работать быстрее
- при компрессии теперь учитывается итоговый минимальный размер аллокации на диске, т.е. теперь раньше будет выход из сжатия если оно бессмыссленно = экономия cpu
Δαρθ
George
Δαρθ
А скрипты вызывают необходимость держать специально заточенный под зфс initramfs
Δαρθ
в котором собственно эти скрипты и есть
George
George
GRUB_CMDLINE_LINUX="root=ZFS=rpool/ROOT/debian ..."
George
так root on zfs и работает
George
https://openzfs.github.io/openzfs-docs/Getting%20Started/Debian/Debian%20Bookworm%20Root%20on%20ZFS.html#step-3-system-installation
Δαρθ
В примере-то по ссылке делают инитрамфс и скорее всего оно парсит (хотя я уже начал сомневаться)
George
где-то в этом районе https://github.com/openzfs/zfs/blob/master/contrib/initramfs/scripts/zfs
Δαρθ
Δαρθ
Δαρθ
А вообще -- чтобы не таскать с собой всегда и везде чемодан без ручки обязательный (!) инитрамфс
Δαρθ
Δαρθ
Ну и в целом -- если есть необходимость в целом инитрамфс причём безальтернативно -- то универсальность как раз пострадала
Δαρθ
Но это всё конечно мои эстетические заморочки )))
Δαρθ
Δαρθ
Но в случае с рут на зфс -- таки необходим
Khajiit
Если вы говорите не про роутер и прочий эмбед — необходим.
Куда вы денете сами инитскрипты, скрипты lvm, LUKS и md, earlyboot и все прочее?
А разбирать околоембеды в чате про zfs — несколько странно
Δαρθ
Δαρθ
ВОт прям щяс у меня в "продакшн" сервере в инитрамфс только сборщик мдрейда, и то только потому что ядро *разучилось* это делать
Δαρθ
там где нет рейда там без инитрамфс прекрасно работает -- причём лептоп а не ембедед