Dexex
Георгий человек хороший, он сразу дал тебе план что делать
Не хочу спорить - но я никакого плана не увидел. Информацию и выводы я завтра покажу. read only попробую прицепить из recovery. Пока больше ничего. Логи почитаю. Ну и как бы все
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
Это я просто ребутнул и подождал. По результату видим это
Александр
Это я просто ребутнул и подождал. По результату видим это
OOM. Вообще интересно. Сколько оперативной памяти?
Александр
12гб
Стоп, Debian 6.1? Серьезно?
Dexex
OOM. Вообще интересно. Сколько оперативной памяти?
Тоже самое при перезагрузке. Нажал ctrl alt del и вот что он не может завершить. sd-sync
Александр
Так, я зря испугался, это все-таки ядро 6.1. Какого объема xfs?
Александр
fsck может ОЧЕНЬ долго работать
Dexex
fsck может ОЧЕНЬ долго работать
Так он в панику по итогу уходит.
Dexex
Может ему свапа не хватает. Сейчас я в рекавери сеть поднял и ssh. Сейчас подрублюсь с удобного места
Александр
Александр
Так он в панику по итогу уходит.
На втором скриншоте я вижу, что кто-то не выдержал и стал жать Ctrl-C. fsck на большом диске может бегать и час и два
Александр
Там прошли сутки.
Прошли сутки, fsck работал, диском шуршал? Какой объем xfs?
Dexex
120gb просто ssd для системы
Александр
Так, понял. Gave up waiting for suspend/resume device. Это похоже на проблемы с железом
Nik
Это не проксмокс?
Dexex
Запустил zfs.target
Nik
Ограничить арк, попробуй. Почему вообще зфс убивает, с потреблением памяти 100 мб
Dexex
Это не проксмокс?
Слава Аллаху нет
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?
Игорь
Dedup включен, памяти под таблицу дедупликации надо много, просчитано? Судя по коэффициенту эффект не большой, есть смысл выключить, полагаю.
Vladislav
Там железо старое. Если ещё раз повторится, я тупо поменяю на атлон х4 ам4.
На старом железе виновник (в порядке убывания): - БП - кондёры на материнке - память - южный мост.
Dexex
Там как раз и есть смысл. Потому что никто не знает чо у них в папочках по 50гб - дубликаты или нужное.
Dexex
По сути ради дедубликакации я его и заюзал. Потому что бардак. Маркетинговые материалы торгового центра за 15 лет
Dexex
Я думаю если копировать файло по несколько раз и больше места занимать оно не лучше будет
Dexex
А диск там один да, с бэдами. Но ещё не фейлтед. Кому нужен wd gold новый не юзаный(чистая таблица смарт ололо)?
Dexex
😁
Игорь
12gb под файлопомойку обычную никаких нагрузок
Там формула необходимого объёма от количества выделенных блоков: 320 * кол-во блоков. Кол-во блоков определяется zdb -S pool. Если ОЗУ меньше, чем надо, будут жуткие тормоза.
Ivan
https://opennet.ru/62552/
Δαρθ
вот тут подумал -- а что мешает поддержать автомаунт датасета по тому что передано ядру в root= ? просто никто не парился или какие-то принципиальные моменты?
George
https://opennet.ru/62552/
опять кстати про проперти и мелочи не написали, тут явно подсвечу из того что смог дотащить лично: - теперь xattr=on - синоним к xattr=sa, так что ничего не меняя и на старых пулах xattrs (считай мета о файле дополнительная) будет работать быстрее - при компрессии теперь учитывается итоговый минимальный размер аллокации на диске, т.е. теперь раньше будет выход из сжатия если оно бессмыссленно = экономия cpu
George
вот тут подумал -- а что мешает поддержать автомаунт датасета по тому что передано ядру в root= ? просто никто не парился или какие-то принципиальные моменты?
эти параметры скрипты разбирают, пока не совсем понял что имеется в виду но технически там всё что хочешь можно сделать
Δαρθ
эти параметры скрипты разбирают, пока не совсем понял что имеется в виду но технически там всё что хочешь можно сделать
Ну например я могу указать рутфсом любой subvolume на любом диске в случае btrfs. Чисто как опция *ядру*, после чего ядро само подмаунтит себе что надо куда надо и забутится оттуда. Без никаких скриптов.
Δαρθ
А скрипты вызывают необходимость держать специально заточенный под зфс initramfs
Δαρθ
в котором собственно эти скрипты и есть
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
Δαρθ
так оно умеет так прямо сейчас
То есть эту вот строчку root=ZFS=rpool/чтото распарсит именно ядро? Ну в случае если зфс в него вкомпилировано
Δαρθ
В примере-то по ссылке делают инитрамфс и скорее всего оно парсит (хотя я уже начал сомневаться)
George
То есть эту вот строчку root=ZFS=rpool/чтото распарсит именно ядро? Ну в случае если зфс в него вкомпилировано
нет, скрипты, т.е. в initramfs лежит всё нужное чтобы после запуска ядра дальше rootfs откуда сказал примонтировать
George
где-то в этом районе https://github.com/openzfs/zfs/blob/master/contrib/initramfs/scripts/zfs
Δαρθ
нет, скрипты, т.е. в initramfs лежит всё нужное чтобы после запуска ядра дальше rootfs откуда сказал примонтировать
Ну вот я и говорб, что здорово было бы это без монструаозных инитрамфсов делать
George
Ну вот я и говорб, что здорово было бы это без монструаозных инитрамфсов делать
чтобы что?) указание rootfs в любом случае же не вшивается в ядро, независимо от ФС. Мб есть хитрые варианты, но это уже для любителей
Δαρθ
А вообще -- чтобы не таскать с собой всегда и везде чемодан без ручки обязательный (!) инитрамфс
George
Ну вообще-то rootcmdline можно и вшить в ядро, есть такая опция при компиляции
можно то всё, спору нет, вопрос надобности и универсальности zfsbootmenu ещё можете глянуть если интересно, как раз пример камаза вместо чемодана)
Δαρθ
Ну и в целом -- если есть необходимость в целом инитрамфс причём безальтернативно -- то универсальность как раз пострадала
Δαρθ
Но это всё конечно мои эстетические заморочки )))
Khajiit
Ну и в целом -- если есть необходимость в целом инитрамфс причём безальтернативно -- то универсальность как раз пострадала
Initramfs необходим всегда. В случае zfs он содержит модули вместо ядра, так что на суммарный размер это вообще никак не влияет. Если вы хотите, чтобы был один загрузочный файл — вам надо смотреть в сторону UKI Если вам надо минимизировать footprint — Arch
Δαρθ
Но в случае с рут на зфс -- таки необходим
Khajiit
Если вы говорите не про роутер и прочий эмбед — необходим. Куда вы денете сами инитскрипты, скрипты lvm, LUKS и md, earlyboot и все прочее? А разбирать околоембеды в чате про zfs — несколько странно
Δαρθ
ВОт прям щяс у меня в "продакшн" сервере в инитрамфс только сборщик мдрейда, и то только потому что ядро *разучилось* это делать
Δαρθ
там где нет рейда там без инитрамфс прекрасно работает -- причём лептоп а не ембедед