Fedor
На новый)
Александр
Чем чревато работать на запись с zfs.recover=1?
Я не скажу конкретику, но в целом это все аварийные флаги. "Работать с тем, с чем лучше не работать"
Vladislav
Vladislav
То есть записал ты 20 txg в recovery mode, а после перезапуска у тебя 17 из них только
Sl
Добрый ночи
Ivan
если ссылку оформить как цитату, то бот пропустит
Sl
Дела настройку openzfs Debian12 bookmaker ,(ссылку пока заблокировали )
С двумя дисками , вроде все ок
Но начал тестировать , с одним диском запускается
С другим нет
Sl
Sl
Щас хотел с двумя сделать, такая же ошибка (
Khajiit
Если сейчас все еще загружается с первого диска и пул не FAULTED а только DEGRADED — то не выключаясь подоткнуть второй, очистить ошибки zpool clear, подергать второй диск offline/online, запустить scrub, дождаться окончания resilver
Khajiit
А вообще, это э виртуалка?
Sl
Sl
Khajiit
Если это была просто тестовая виртуалка, то тогда проще пересоздать и не морочиться, кмк
The Join Captcha Bot
Капча решена, Пользователь подтвержден.
Добро пожаловать в чат, @srgcs2
hz
подскажите feature@... которые указываются только при создании можно в ходе использования включить или нужно пересоздавать пул? Я к чему пул boot grub2 перестал видеть, было указано zp-boot compatibility grub2 local. Чтение мана, показало что у версий 2.12 2.06 разные наборы параметров которые они поддерживают. Наверное надо было указать zp-boot compatibility grub2-2.06 local . А в дебиан последняя версия 2.06 =(
Ivan
hz
я их не включал, добавил только снимки по времени, но они ничего не включают. Странно что compatibility grub2 работало при 2.06 версии около года, а теперь решило напомнить о себе, ну так чтобы веселее жилось...
George
George
Не помню помогает ли удаление этого снапа правда
Alisa
@oaSiwk131 а точно не бот? :D
Fedor
Если будут признаки бота, его забанит
George
В мире локальных стораджей наметилась очень интересная тенденция складывать всё в S3,
AWS у себя в FSx (где они используют zfs) ловко сделали псевдо-tiering и сгружают данные сразу в S3:
This change is in use by FSx in production today for FSx Intelligent Tiering file systems, which use S3 storage-backed vdevs.
А пару лет назад Delphix передумал выкладывать object-based vdev в апстрим.
Интересный кейс, выгода решает.
Free
данные в ОЗУ всё равно окажутся (на записи), если прям уверены что кеш на чтение не нужен, то можно выставить primarycache=metadata (но не рекомендую)
не стоит экономить неиспользованную память, бОльший кеш всегда упрощает жизнь, даже если он штатно быстро дропнется.
min=max кстати может такой эффект дать, думаю, я бы вернул в дефолты и тестил дальше
По поводу большой загрузки CPU процессами arc_prune и arc_evict - вынужденное продолжение тестирования.
На днях апгрейд debian/zfs спровоцировал рецидив проблемы: загрузка CPU под 80-90% на каждый их этих процессов, сопровождающаяся очень частой аварийной перезагрузкой сервера.
В попытках избежать перезагрузки был установлен primarycache=none НА ВСЕХ пулах/датасетах.
Однако это не снизило нагрузку на CPU от arc_prune и arc_evict.
Ниже дам подробности про конфигурацию сервера, но независимо от этого возникает 2 вопроса:
❓1) Чем вообще занимаются arc_prune и arc_evict, если primarycache=none НА ВСЕХ пулах/датасетах???
2) Как (пусть за счет ухудшения производительности дисковых операций) полностью отключить arc, чтобы процессы arc_prune и arc_evict вообще не запускались?
Free
Конфигурация сервера:
root@S04:~# cat /etc/debian_version
12.9
root@S04:~# zfs version
zfs-2.2.7-1~bpo12+1
zfs-kmod-2.2.7-1~bpo12+1
root@S04:~# uname -r
6.12.9+bpo-amd64
Память 64 ГБ, при всех протестированных вариантах установок zfs_arc_min/zfs_arc_max минимум 8ГБ было available
30 HDD c одинарными пулами, на каждом по 2 ноды storj, которые создают довольно большую нагрузку на диски. Проблемы с arc_prune/arc_evict и перезагрузки проявляются при работе примерно начиная от 3/4 от общего количества нод. До этого несколько месяцев работали все ноды с максимальной загрузкой без каких-либо проблем, никакие настройки системы не менялись.
При этом стояло primarycache=all, zfs_arc_min=zfs_arc_max=8ГБ. При тестировании сейчас перебирал разные значения, в том числе дефолтные (которые zfs установил в 2/32).
При активной работе arc_prune/arc_evict arc_summary показывает ARC size (current):, превышающей 100% (доходило до 200%) ДАЖЕ ПРИ primarycache=none
Alisa
Alisa
Free
А почему так мало RAM?
Потому что нодам storj (а кроме них на сервере ничего нет) этого выше крыши.
Обычо во время работы было available ~32GB
Free
Alisa
Попробуйте так - echo "options zfs zfs_arc_max=0" > /etc/modprobe.d/zfs.conf
Alisa
но нужен ребут :(
Free
Alisa
или рестарт всех zfs демонов
Alexey
update-initramfs -u -k all
Alexey
после изменений в modprobe
Alisa
@FreeKopcap что у вас в выдаче
cat /sys/module/zfs/parameters/zfs_arc_max
cat /sys/module/zfs/parameters/l2arc_noprefetch
Alexey
до reboot
Alisa
очень странно
Free
При этом сейчас
root@S04:~# arc_summary | grep -A 3 "ARC size (current)"
ARC size (current): 102.8 % 32.3 GiB
Target size (adaptive): 20.7 % 6.5 GiB
Min size (hard limit): 6.2 % 2.0 GiB
Max size (high water): 16:1 31.4 GiB
Alisa
echo "options zfs zfs_arc_max=0" > /etc/modprobe.d/zfs.conf
update-initramfs -u -k all
reboot
Alisa
Пробовали так?
Alexey
я бы не пытался отключить arc:
во-первых, не получится,
во-вторых, zfs без arc не нужен.
его можно ограничить, но у него есть настройка минимального объема памяти, ниже которого не получится настроить.
Alexey
I
Чтобы изменения вступили в силу, нужно перезагружать модуль ядра, вот пример, с проверкой, что модуль используется, этот способ на тесте использовал:
lsmod | grep zfs
zfs unmount -a
zpool export -a
modprobe -r zfs && modprobe zfs
zpool import -a
zfs mount -a
Free
Alexey
можно попробовать экспортировать пулл, т.е. отключить его от системы (если это возможно). И посмотреть на загрузку проца.
Free
Free
Alexey
напишите:
zpool status -v
Free
напишите:
zpool status -v
следил за этим.
Все 30 online, errors: No known data errors
Кроме одного вспомогательного mirror на SSD, у которого один из дисков недавно отвалился, он degraded, но работает без ошибок.
Alexey
судя по всему, не увидим :)
Free
судя по всему, не увидим :)
Ну вот начало:
root@S04:~# zpool status -v
pool: db
state: DEGRADED
status: One or more devices could not be used because the label is missing or
invalid. Sufficient replicas exist for the pool to continue
functioning in a degraded state.
action: Replace the device using 'zpool replace'.
see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-4J
scan: scrub repaired 0B in 00:04:52 with 0 errors on Sun Dec 8 00:28:54 2024
config:
NAME STATE READ WRITE CKSUM
db DEGRADED 0 0 0
mirror-0 DEGRADED 0 0 0
3343446589784457371 UNAVAIL 0 0 0 was /dev/disk/by-id/ata-ADATA_SU650_2K442L12J9YX-part1
ata-ADATA_SU650_2L1329ACCKXL ONLINE 0 0 0
errors: No known data errors
pool: s01
state: ONLINE
scan: scrub canceled on Tue Dec 10 18:15:21 2024
config:
NAME STATE READ WRITE CKSUM
s01 ONLINE 0 0 0
wwn-0x5000c500e664a10a ONLINE 0 0 0
errors: No known data errors
pool: s02
state: ONLINE
scan: scrub canceled on Tue Dec 10 18:18:36 2024
config:
NAME STATE READ WRITE CKSUM
s02 ONLINE 0 0 0
wwn-0x5000c500e6605dda ONLINE 0 0 0
errors: No known data errors
ну и так далее до s30 - не хочу забивать здесь длинной простыней
Free
Еще одно наблюдение:
После перезагрузки долгое время top вообще не видит arc_prune/arc_evict, потом вдруг сразу же они появляются с 80-90% CPU.
Через некоторое время могут снова исчезнуть.
Ну и про ошибки:
В dmesg и journalctl при аварийной перезагрузке никаких сообщений не появляется 🙈
Alexey
можно попробовать по одному пул отключать и искать на каком проблемы появляются. Это пока догадка, что какой-то из пулов капризит.
Станислав
Vladislav
Free
Попробуй мониторить latency на диски
Все диски в storj под высокой нагрузкой, равномерно по всем дискам, и это всегда так было и на этом сервере, и на всех остальных.
Вот так в среднем
avg-cpu: %user %nice %system %iowait %steal %idle
4.02 0.00 14.39 79.87 0.00 1.72
Vladislav
Vladislav
А остальные в 300-400мс
George
George
Основное отличие от остальных серверов (и от этого сервера в том состоянии, когда не было перезагрузок) - это как раз загрузка CPU процессами arc_prune/arc_evict до 80-90%.
Никаких сигналов непосредственно в момент перезагрузки обнаружить не удалось.
Значения zfs_arc_min, zfs_arc_max сейчас, во время тестирования, установились как раз дефолтные 2/32 (до этого долгое время были одинаковые = 8ГБ - тоже из каких-то рекомендаций, что это уменьшает работу arc_prune/arc_evict).
primarycache в попытке убрать arc_prune/arc_evict установил в none - но, наверное, сейчас снова верну =all, раз они не убираются
в общем у них говорящие название, это треды по вытеснению из кеша, вызываются либо при переполнении кеша либо когда ядро память просит, обычно на это наталкиваются те у кого огромный рейт изменений в кеше, что обычно бывает с nvme а не с hdd. На hdd весьма сложно такого достичь, но можно представить вырожденные кейсы аля огромный recordsize и тд.
Я бы начал рыть в причины ребута. Сам факт загрузки этих тредов может быть не связан напрямую с ребутом.
Free
Ivan
Alisa
@FreeKopcap что в логах BMC?
Free
больше похоже на аппаратную проблему
uptime был несколько месяцев до того, как на днях apt upgrade сделал.
К тому же при снижении нагрузки (остановке половины нод storj) работает нормально.
Станислав
Free
Железо не серверное? Особенно интересует БП
Материнка и половина дисков питается от Cougar GEX750 (80 plus gold), вторая половина дисков на еще одном 750 (тоже, кажется, gold)
Сейчас не у компьютера, не могу посмотреть точнее
Станислав
Материнка и половина дисков питается от Cougar GEX750 (80 plus gold), вторая половина дисков на еще одном 750 (тоже, кажется, gold)
Сейчас не у компьютера, не могу посмотреть точнее
У обычных БП есть одна фича - при резком повышение нагрузки, примерно ватт на 100, они считают это как КЗ и уходят в защиту. Учитывая, что проц пыхтит там, то при небольшой паузе может снизиться потребление, а потом одним махом вернуться в прежний режим жора и срабатывает защита. Я много раз наблюдал такие приколы. По идее на серверных БП тоже защита подобная есть, но ни разу не столкнулся
Nikita
Alisa
Artem