Странная проблема с zfs и samba 4.2, хотя в самбе-ли дело?

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

Странная проблема с zfs и samba 4.2, хотя в самбе-ли дело?

Непрочитанное сообщение Demis » 2016-04-13 16:09:16

Первым делом выражаю искреннюю благодарность откликнувшимся старшим товарищам Андрею Лаврентьеву (aka lavr), Игорю Кожухову, Александру Мотину, Андрею Гапону и Steven Hartland.

Без них мне-бы не удалось со всем этом разобраться.

Итак, какие моменты важны, чтобы разобраться?

1. Есть некая ошибка.
2. Задать вопрос знающему человеку, которого еще нужно как-то разыскать.
3. Получить значения переменных по ошибке.
4. Дождаться ответов.
5. Применить полученное.
6. Посмотреть результат.
7. Сказать всем спасибо.

Вроде все просто.

Если первый момент понятен, то со вторым придется постараться.
Как уже писалось выше, мне никак не удавалось получить переменные запрошенные Steven Hartland.
В отладчике все-равно выходили эти злобные переменные как "value optimized out".
Т.о. п. 3 превратился в целую эпопею.

Во первых моего свапа в 4Gb не хватало для сбора информации.
Был найден и настроен новый swap диск на 80Gb
ee /etc/fstab

Код: Выделить всё

#/dev/mfid0p3   none            swap    sw      0       0
/dev/mfid6p1    none            swap    sw      0       0
К этому моменту:
Мир перекомпилирован.
Ядро тоже.
Порты обновлены тоже.
На самом деле это делалось не специально, но так получилось в процессе поиска проблем с самой zfs.
Пишу, просто, что такой момент был.

Попытки сделать как написано на https://wiki.freebsd.org/DTrace/KernelSupport
Ничего нового не давали. Поиски по форумам тоже.
Было написано новое письмо, но уже другого содержания, Андрею Лаврентьву. По теме отладки.
Совместно добились результатов.
Итог:

Код: Выделить всё

Здравствуйте, Андрей,

Спасибо за помощь!!!

Т.к. с Вашими подсказками удалось-таки получить значения в багрейсе!

Пришлось, конечно в бубен немного поиграть, но в итоге:

1. В кастомное ядро (фактически родной 10.2 генерик + нужные мне опции) было добавлено:
# for debug
options DDB
options KDB_UNATTENDED
#options INVARIANTS
#options ZFS_DEBUG
options OPENSOLARIS_WITNESS
(закомментированное не давало собираться)
Остальные параметры о которых Вы писали в конфиге и так были.

2. колдунства с /etc/src.conf при пересборке вообще ничего не давали, в итоге все закомментировал.

3. колдунства с /etc/make.conf , т.к. при пересборке я заметил какие именно строки выгоняет компилятор "сс" и это дало пищу для размышлений. Я стал добавлять в маке.конф по-немногу параметры с тем, чтобы увидеть их при компиляции.
Итоговый /etc/make.conf у меня получился такой:
#
CFLAGS-=-O2
CFLAGS+=-O0
COPTFLAGS-=-O2
COPTFLAGS+=-O0
CXXFLAGS-=-O2
CXXFLAGS+=-O0
# https://wiki.freebsd.org/DTrace/KernelSupport
STRIP=
CFLAGS+=-fno-omit-frame-pointer
DEBUG_FLAGS+='-O0'

Причем даже при таких параметрах я не надеялся получить результат, т.к. на последней стадии компиляции (это когда перед самым заветным "буилд комплитед") все равно поперли "сс -О2". И просто приличия ради сделал креш, но совершенно неожиданно получил значения нужных мне переменных.

Еще раз спасибо.

С уважением,
Demis.
Часть ответа от Андрея Лаврентьева:

Код: Выделить всё

Да не на чем, документация все время отстает, мне аналогично приходится
все время выискивать соответствующие параметры.
 Иногда, ставить Stable или Current (HEAD) и смотреть опции Debug и
где, и как их прописывают, ибо в RELEASE'ах их затем убирают во всех
местах.
Т.е. не надо сдаваться, надо искать.
Понятно, что не всегда есть на это время...
Получил ответ от Игоря Кожухова:

Код: Выделить всё

Привет :)

Приятно видеть что русский народ все же тожа копает ZFS :)

Расскажу сразу про себя немного.

Я работаю с illumos - http://www.illumos.org/

Это форк от OpenSolaris.
У меня есть свой проект - frok form illumos - http://www.dilos.org

На BSD дел с ZFS не имел, так что тут могу дать совет - пробовать писать
IRC #openzfs или посмотреть контакты на openzfs.org

ZFS портирован на FreeBSD - он там не нативный был и есть - его пилят и
портируют патчи из illumos.

Проблема интересная, но к сожалению, такие проблемы очень тяжело ловить,
потому как нету четкого сценария для reproduce.
Для начала - можете попробовать подписаться на openzfs-developers &
illumos-dev maillist - и там описать свою проблему на аглицком.
К сожалению, я не могу туда запостить - боюсь что кроме меня и еще
некоторого народу никто не прочитает...

По вашему логу:

#3 0xffffffff81c1b209 at acl_from_aces+0x1c9
#4 0xffffffff81cd27e6 at zfs_freebsd_getacl+0xa6

Исходя вот из этих строчек можно предположить что тут именно bsd specific
ported + ACL over.

К сожалению, как писал ранее, не имел дел с FreeBSD & ZFS on it.
Ну, что-же этот ответ хоть и не дал ответов на вопросы, но воодушевил на дальнейшие поиски...
Далее...
В моих настройках по отладке прописано так:
в ee /etc/rc.conf

Код: Выделить всё

dumpdev="AUTO"
dumpdir="/usr/crash"
savecore_flags="-vv -m 15"

crashinfo_enable="YES"
crashinfo_program="/usr/sbin/crashinfo"
dumpdir был сознательно перемещен на более объемное место.
Число копий увеличено до 15.
в ee /etc/fstab

Код: Выделить всё

#/dev/mfid0p3   none            swap    sw      0       0
/dev/mfid6p1    none            swap    sw      0       0
И, напомню, мир пересобран.
В инструкции по багтрейсу я насал себе так:

Код: Выделить всё

kgdb /usr/obj/usr/src/sys/TEO/kernel.debug /usr/crash/vmcore.last
bt full
frame 5
p bp

set print pretty
fr 11
p/x *dn
fr 10
p/x *db
bt от backtrace
p от print
fr от frame
p/x не знаю от чего

Номера фреймов и имена переменных, ясен перец, для моего случая.
Сам вывод отладки здесь не привожу, он длинный.
Важен принцип КАК мы их получаем.

Соответственно получил, отправил, перешли к п.4.
Тоже получилиось не просто.

Полученные данные первоначально послал Александру Мотину,
т.к. как я уже писал, что у меня есть проблема с английским языком для такого уровня переписки.

Послал данные не сразу.
Сначала написал простое "тезисное" письмо с описанием известных мне проблем.
Потом уже отладочную инфу. Пока суть да дело, прошла неделя, пошла вторая, время идет.

Александр честно предупредил, что вопрос не простой и загрузка у него очень большая, но он постарается постмотреть.
А надо сказать (или просто напомнить), что по времени так совпало, что уже вовсю начались работы по подготовке 10.3 релиза.
И ясное дело, что народ очень занят в такие моменты.
Из переписки с Александром я узнал что по zfs из русско-язычных разработчиков есть еще Андрей Гапон.
И тогда посмотрев рассылки я написал Андрею.
Два дня тишины и вдруг приходит ответ. Краткий, как сестра таланта.
Меня как ошпарило - это то, что нужно...

Итак, ответ получен. Ссылка на рассылку:
https://docs.freebsd.org/cgi/getmsg.cgi ... freebsd-fs
Читаем в ней внимательно:

Код: Выделить всё

I suspect that the following change might be able to prevent future corruption
of your files, but it won't help with already corrupted files:
https://github.com/openzfs/openzfs/pull/81/commits/ee09d80ceafa7ff7930d1e45dddc21ca3d7a87cb

The following completely untested patch might help to avoid panics with the
corrupted files, but no promises:

diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c
b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c
index 4396c01334015..94b353d62e3e6 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c
@@ -329,7 +329,10 @@ dmu_spill_hold_by_dnode
 		rw_exit(&dn->dn_struct_rwlock);

 	ASSERT(db != NULL);
-	err = dbuf_read(db, NULL, flags);
+	if (db->db.db_size > 0)
+		err = dbuf_read(db, NULL, flags);
+	else
+		err = ENOENT;
 	if (err == 0)
 		*dbp = &db->db;
 	else

-- 
Andriy Gapon
переходим к п.5.
Быстренько внес оба изменения, дождался выходных.
Переустановил ядро. По стандартному пути:

Код: Выделить всё

cd /usr/src
make buildkernel KERNCONF=TEO
make installkernel KERNCONF=TEO
т.е. НЕ мир.

Бац, фигня. Ну так лично мне показалось, что фигня.
Смотрю размер /boot/kernel/zfs.ko и старого /boot/kernel.old/zfs.ko никак не изменились.
Видимо при компиляции ничего не изменилось.
Да и поведение системы осталось прежним.
Ну и помните конечно (писал раньше, т.е. выше, на форуме) сколько мне нужно времени на каждый kernel panic.

Где-то подвох, написал про это Андрею, хотя помню, что такое иногда бывало.
Правда он ответил, что такое может быть (дословно - "Это не показатель.").

Но мне не успокоится, стал рыть дальше, основание простое - раз код поменяли, должен поменяться и размер...
Пересобрал ядро так:

Код: Выделить всё

make -j1 buildkernel KERNCONF=TEO
Установил, сразу увидел:

Код: Выделить всё

 ls -lGA /boot/kernel/zfs.ko /boot/kernel.old/zfs.ko -r-xr-xr-x 1 root wheel
 2967096  9 апр 15:41 /boot/kernel.old/zfs.ko -r-xr-xr-x 1 root wheel
 2967224  9 апр 19:14 /boot/kernel/zfs.ko
т.е. размеры-таки поменялись.
переходим к п.6

И мои сбойные папки получили возможность удаления!!!
Да, я не мог их как-то поменять, но удалить теперь запросто.
А нафига они мне сбойные, тем более бэкап под рукой.
ПОБЕДА!!!
При этом нужно учесть и такой момент в ответе Андрея Гапона:

Код: Выделить всё

Правда сейчас я осознал одну непрятную вещь: есть вероятность, что при удалении
проблематичного файла может удалиться и какой-то другой случайный файл в той же
файловой системе. Поэтому, лучше перепроверить все ли файлы на месте, если есть
такая возможность.
И еще такой момент (в письме от Андрея):

Код: Выделить всё

Как я писал ранее, один из патчей может устранить причину, а значит он кандитат
на попадание в код. Второй патч это просто хак, чтобы как-то обойти последствия,
он в код не попадет.
И еще такой момент (в письме от Андрея):

Код: Выделить всё

Если пересобрать мир, то zdb тоже должен стать более устойчивым.
Ну мир это только на выходных.
А сейчас я поудалял ЧАСТЬ сбойных папок и файлов.
Сделал скраб и запустил повторно zdb -cc -AAA hdd

Хочу посмотреть, что он-таки выдаст мне,
а потом еще мир обновить,
а потом еще версию до 10.3 дотянуть.
В общем, еще на месяц...

Осталось выполнить п.7 когда все завершится.
Вот собственно и все, на текущий момент все...

Самурай без меча подобен самураю с мечом, но только без меча,
однако как-будто с мечом, которого у него нет,
но и без него он как с ним..

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

guest
проходил мимо

Странная проблема с zfs и samba 4.2, хотя в самбе-ли дело?

Непрочитанное сообщение guest » 2016-04-13 16:54:22

Demis писал(а):

Код: Выделить всё

kgdb /usr/obj/usr/src/sys/TEO/kernel.debug /usr/crash/vmcore.last
bt full
frame 5
p bp

set print pretty
fr 11
p/x *dn
fr 10
p/x *db
bt от backtrace
p от print
fr от frame
p/x не знаю от чего
p/x - print in hex (без параметров, print последнее значение как шестнадцатеричное)

Действия достойные инженера, терпение и последовательность - достойные уважения
человеческие качества, публикация итога в форуме - уважение к профессии, к разработчикам
и всем кто занимается или только начал заниматься данной профессией.

Примите признательность и уважение.

Удачи.

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

Странная проблема с zfs и samba 4.2, хотя в самбе-ли дело?

Непрочитанное сообщение Demis » 2017-12-25 16:31:35

Всем привет!
И с наступающими праздниками!

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

Во первых, спасибо гостю за комментарии и отзыв!

А во-вторых, млин, ребята, это целая история и ушло на нее более полутора лет...

Если кратко:
В случае если у Вас пул имеет cache-девайс на ssd то, по непонятным причинам,
это будет приводить к паникам ядра.

А если подробнее, то это целая детективная история....

Распишу все по порядку, как у меня происходило дальше, после оживления пула
и как с этим можно попытаться побороться.

После исправления от Андрия все работало замечательно.

Как Вы помните для поиска проблем диск ssd для кеша отключался и подключался.
И реакции на происходившее не давало.

Пересмотрев историю (zpool history) по пулу как-то
не обнаружил момента когда устройство кеша было из него выведено.
Хотя ввод обратно есть. Куда подевалось - х.з. ну и фиг с ним.

Пошла обычная работа и все-бы хорошо,
но через некоторое время опять пошли вылеты в панику.

Причем, как правило по ночам.
Часть каталога crash:

Код: Выделить всё

-rw-------  1 root  wheel  3281432576 20 май  2016 vmcore.5
-rw-------  1 root  wheel  3372572672  9 фев  2017 vmcore.6
-rw-------  1 root  wheel  3740594176 27 авг 03:37 vmcore.7
-rw-------  1 root  wheel  3502129152 15 ноя 03:23 vmcore.8
Как видите их не особо много, но они есть.

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

Каждый раз откладывали, мало-ли в следующий раз проскочит,
что-то за что можно будет зацепиться.

Если уж разработчик озадачился непониманием, то мне-то куда?

И тут, как всегда, вмешался его величество Случай.
Когда произошел последний, ноябрьский, краш Андрий возможно не сразу увидел мое письмо.
Потом началась переписка, что-то немного стало проясняться:

Код: Выделить всё

Да, интересный креш. Каким-то образом zio-предок был освобожден раньше чем его
zio-потомок, но понять как это могло произойти пока не могу. Из исходного кода
это кажется невозможным.
И тут буквально в это-же день, но поздно вечером,
появляется новое письмо в рассылке от Shiva Bhanujan тема сообщения "zio_done panic in 10.3"
https://docs.freebsd.org/cgi/getmsg.cgi ... freebsd-fs
Как выяснилось проблема с тем-же овальным предметом, только вид сбоку.

После отправки дополнительной информации Андрию:

Код: Выделить всё

Еще раз спасибо за информацию.
Уже есть теория, что именно произошло, но проблема сложная и патча пока нет.
Надо обсудить с другими разработчиками.
Собственно понимание к Андрию пришло видимо в этом письме:
https://docs.freebsd.org/cgi/getmsg.cgi ... freebsd-fs
Дословно это так:

Код: Выделить всё

Yes, kgdb-over-email turned out to be a far more efficient compression :-)
I already have an analysis based on the information provided by Shiva and by
another user who has the same problem and contacted me privately.
I am discussing possible ways to fix the problem with George Wilson who was very
kind to double-check the analysis, complete it and suggest possible fixes.

A short version is that dbuf_prefetch and dbuf_prefetch_indirect_done functions
chain new zio-s under the same parent zio (a completion of one child zio may
create another child zio).  They do it using arc_read which can create either a
logical zio in most cases or a vdev zio for a read from a cache device (2arc).
zio_done() has a check for the completion of a parent zio's children but that
check is not completely safe and can be broken by the pattern that dbuf_prefetch
can create.  So, under some specific circumstances the parent zio may complete
and get destroyed while there is a child zio.

I believe this problem to be rather rare, but there could be configurations and
workloads where it's triggered more often.
The problem does not happen if there are no cache devices.
После чего всколыхнулась целая волна сообщений, обсуждений, можно сказать заштормило.

В результате чего Андрием была запрошена помощь еще более старших товарищей (George Wilson).
Через некоторое время было найдено решение.

Андрий опубликовал патч для FreeBSD:
https://bugs.freebsd.org/bugzilla/show_ ... ?id=223803

Сам аттач патча:
https://bz-attachments.freebsd.org/atta ... ?id=188880

Патч сделан на основе кода George Wilson опубликованном на иллюмосе
https://www.illumos.org/issues/8857
( https://github.com/openzfs/openzfs/pull/505 )

И адаптирован под FreeBSD.

При этом внимательный просмотр кодов привел меня к мысли, что патч либо на основе стабла, либо на основе 10.4
И не стыкуются с 10.3. Пока на этим думал и написал об этом Андрию.
Шива сам выложил патч для 10.3
https://bz-attachments.freebsd.org/atta ... ?id=188952

Правда насколько он верный, т.е. без ошибок, я не понимаю.
Но вроде никто шума пока не поднял.
Андрий на запрос о применимости для 10.3 пока так и не ответил.

Когда все эти патчи докатятся до релизности - не знаю.
Но в любом случае, лед тронулся.

По некоторым обстоятельствам не могу пропатчится сейчас, конец года все-таки.
Важно чтобы пока работало "как есть". Но уже запланировал.

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

Ничего не поделаешь - специфика работы.
Т.к. если работаем мы, то пользователи отдыхают:).

Держите руки на пульсе и да пребудет с Вами FreeBSD!

С наступающим Новым годом!!!

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Странная проблема с zfs и samba 4.2, хотя в самбе-ли дело?

Непрочитанное сообщение snorlov » 2017-12-25 18:00:34

Demis,
А может действительно взять да обновиться на 10.4...

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

Странная проблема с zfs и samba 4.2, хотя в самбе-ли дело?

Непрочитанное сообщение Demis » 2017-12-26 12:02:38

snorlov писал(а):Demis,
А может действительно взять да обновиться на 10.4...
Да, наверное, вполне можно. Тоже думал об этом.
Уже можно "подтягивать" версию по актуальнее...
И м.б. так и сделаю.

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

Странная проблема с zfs и samba 4.2, хотя в самбе-ли дело?

Непрочитанное сообщение Demis » 2018-01-09 13:38:56

snorlov писал(а):Demis,
А может действительно взять да обновиться на 10.4...
Приподнялся немного, теперь uname -a:

Код: Выделить всё

FreeBSD teo.чего-то.там 11.1-RELEASE-p6 FreeBSD 11.1-RELEASE-p6 #0: Sun Jan  7 00:54:01 MSK 2018     /usr/obj/usr/src/sys/GENERIC  amd64
Но интересную штуку словил на кастомном ядре машина ребутится при старте zfs (и сказал-бы - "по необычному"), а на генерике работает "ок". Когда переносил свои опции в копию нового генерика, то увидел что crypto теперь идет по умолчанию и закоментарил его. А вот что еще может давать панику с таким выхлопом:

Код: Выделить всё

Fatal double fault
rip = 0xffffffff81864f88
rsp = 0xfffffe0291d44000
rbp = 0xfffffe0291d44010
cpuid = 6; apic id = 14
panic: double fault
не понимаю. из добавленного:

Код: Выделить всё

#rv
options         IPDIVERT
options         IPFIREWALL
#options                IPFIREWALL_FORWARD
options         IPFIREWALL_NAT
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=10
options         DUMMYNET
options         HZ=1000
options         IPSEC
options         LIBALIAS
options         NETGRAPH
options         NETGRAPH_ETHER
options         NETGRAPH_SOCKET
options         NETGRAPH_TEE
options         NETGRAPH_MPPC_ENCRYPTION
#
# 2018-01-07
# rv - now crypto by default
#device         crypto
device          smbus
options         GEOM_ELI
options         TEKEN_UTF8
# for debug
options         DDB
options         KDB_UNATTENDED
#options                INVARIANTS
#options                ZFS_DEBUG
options         OPENSOLARIS_WITNESS
##############################
Кто-нибудь знает где посмотреть, почитать, что еще запилено в код 11.1-ой по умолчанию и может теперь мешаться? При этом все остальное работает, ну вроде, работает...

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Странная проблема с zfs и samba 4.2, хотя в самбе-ли дело?

Непрочитанное сообщение snorlov » 2018-01-09 18:53:39

А мне не понравилась 11.1, я сижу на 10.4, выйдет 11.2 поглядим... Хотя 11.1 тестирую...

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

Странная проблема с zfs и samba 4.2, хотя в самбе-ли дело?

Непрочитанное сообщение Demis » 2018-01-09 20:23:26

snorlov писал(а):А мне не понравилась 11.1, я сижу на 10.4, выйдет 11.2 поглядим... Хотя 11.1 тестирую...
Не знаю, будем поглядеть. Пока вроде работает как нужно. Понравилось, что в общем обошлось без лишних бубнов. По сути это только два критических момента окаазлось: разобраться что с кастомом происходит и самбу перекинутую с 4.2 до 4.6 оживить (причем больше ломал голову, чем потом делал, когда допер в чем именно дело, завелось на ура без лишних телодвижений). Все остальное в легкую. Портов там

Код: Выделить всё

pkg version -v|wc -l
     275
Т.е. не много. Все старые, с апреля 2016 года. Остальное посмотрим, поработаем, понаблюдаем. Нужно привыкнуть. Время покажет.

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Странная проблема с zfs и samba 4.2, хотя в самбе-ли дело?

Непрочитанное сообщение snorlov » 2018-01-10 14:09:23

Demis прадвда не по теме, но у меня почему-то самба 4.6 тормозит по сравнению с 4.4 ....

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

Странная проблема с zfs и samba 4.2, хотя в самбе-ли дело?

Непрочитанное сообщение Demis » 2018-01-10 15:19:01

snorlov писал(а):Demis прадвда не по теме, но у меня почему-то самба 4.6 тормозит по сравнению с 4.4 ....
Сложно сказать.
Пока обновлялся где-то проскочило, что 4.6 теперь (чуть-ли не с нового 2018 года) будет базисом "by default".
Потому и решил что 4.4 не стоит ставить.

Из тормозов пока наблюдал только тупость при применении "двойных" галок.
Что имею ввиду?

Когда открываем свойства безопасности некой директории на шаре,
видим серые (неизменяемые по полиси) галки, есть галки активные, снимаю, под ней прячется серая,
жмем применить, вот тут-то и возникает тупость минут, так, на десять. После чего пишет акцесс дениед.
Просто специально проверял не полетели-ли пермишенсы, когда все заработало.
Но поскольку галочками вручную не рулю, то и пофиг.
А в остальном пока все нормально, ну т.е. еще пока не наткнулся на кирпич.

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

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

Странная проблема с zfs и samba 4.2, хотя в самбе-ли дело?

Непрочитанное сообщение Demis » 2018-01-30 17:31:07

Demis писал(а): Но интересную штуку словил на кастомном ядре машина ребутится при старте zfs (и сказал-бы - "по необычному"), а на генерике работает "ок"
Все оказалось очень прозаично...
Потратив несколько дней на поиски почему ребутится кастом выяснил, что:

Код: Выделить всё

#options         IPFIREWALL
#options         NETGRAPH
#options         NETGRAPH_ETHER
#options         NETGRAPH_SOCKET
#options         NETGRAPH_TEE
#options         NETGRAPH_MPPC_ENCRYPTION
#options         DDB
#options         DDB_NUMSYM
#options         GDB
#options         OPENSOLARIS_WITNESS
Теперь никак не живут в оном. Проверял на каждой, пока добился устойчивой работы. Почему так х.з. Внятного описания тоже не нашел.
Если с ipfw еще как-то догадаться можно с https://www.freebsd.org/releases/11.1R/relnotes.html
, где отписано, что:

Код: Выделить всё

5.4. Kernel Modules

cloudabi(4) has been updated to allow running 32-bit binaries within 64-bit userland environments when the kernel configuration file
has the COMPAT_CLOUDABI32 option present. [r307144]

The ipsec and tcpmd5 kernel modules have been added. [r315514] (Sponsored by Yandex LLC)
Note:

Following the addition of the tcpmd5 module, it is now necessary to have a security association (SA) entry for both inbound and
outbound directions.

The ipfw(4) packet filter has been updated to add support for named dynamic states. [r316274] (Sponsored by Yandex LLC)

The ipfw_nptv6 kernel module has been added, implementing Network Prefix Translation for IPv6 as defined in RFC 6296. [r316444]
(Sponsored by Yandex LLC)

The ipfw_nat64 kernel module has been added, implementing stateless and stateful NAT64. [r316446] (Sponsored by Yandex LLC)
запилено теперь прямо в ядро, то по остальным, так и не нашел. В итоге

Код: Выделить всё

11.1-STABLE FreeBSD 11.1-STABLE #18: Tue Jan 23 18:06:13 MSK 2018 amd64
uptime

Код: Выделить всё

17:25  up 6 days, 22:50, 2 users, load averages: 5,13 5,12 5,10
Не удивляйтесь #18 - это сколько раз я его пересобирал пока заработало... Патч от Андрия на стаблу 11-ой (в отличии от релизной 11.1) применился без ошибок. Будьте внимательны к опциям в ядре!

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Странная проблема с zfs и samba 4.2, хотя в самбе-ли дело?

Непрочитанное сообщение snorlov » 2018-01-30 17:50:26

Т.е. надо ждать 11.2 чтоб переползать на 11-уб ветку....

pitart
проходил мимо
Сообщения: 4
Зарегистрирован: 2016-11-14 12:17:09

Странная проблема с zfs и samba 4.2, хотя в самбе-ли дело?

Непрочитанное сообщение pitart » 2018-03-01 13:31:33

guest писал(а):
Demis писал(а):

Код: Выделить всё

kgdb /usr/obj/usr/src/sys/TEO/kernel.debug /usr/crash/vmcore.last
bt full
frame 5
p bp

set print pretty
fr 11
p/x *dn
fr 10
p/x *db
bt от backtrace
p от print
fr от frame
p/x не знаю от чего
p/x - print in hex (без параметров, print последнее значение как шестнадцатеричное)

Действия достойные инженера, терпение и последовательность - достойные уважения
человеческие качества, публикация итога в форуме - уважение к профессии, к разработчикам
и всем кто занимается или только начал заниматься данной профессией.

Примите признательность и уважение.

Удачи.
Я вот тоже мимо проходил и восхитился. Въедливость, терпение, настойчивость и профессионализм. Всем бы нашим коллегам такими быть.

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

Странная проблема с zfs и samba 4.2, хотя в самбе-ли дело?

Непрочитанное сообщение Demis » 2018-03-01 17:30:30

pitart писал(а): Я вот тоже мимо проходил и восхитился. Въедливость, терпение, настойчивость и профессионализм. Всем бы нашим коллегам такими быть.
Спасибо, огромное!

Первый день Весны приносит нам маленькие радости!
(Главное чтобы одну букву не сглазить)

Сегодня прошли коммиты в стаблах :
10-ки https://svnweb.freebsd.org/base?view=re ... ion=330238
и 11-ой https://svnweb.freebsd.org/base?view=re ... ion=330237 !

Специально перепроверил код по проблеме https://svnweb.freebsd.org/base?view=re ... ion=329314, тоже попало в стаблу 11-ой.
На https://bugs.freebsd.org/bugzilla/show_ ... ?id=223803 появилось "Status: Closed FIXED "!

Класс! Молодцы ребята!

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

Странная проблема с zfs и samba 4.2, хотя в самбе-ли дело?

Непрочитанное сообщение Demis » 2018-08-01 19:03:42

Demis писал(а):
2018-01-10 15:19:01
А в остальном пока все нормально, ну т.е. еще пока не наткнулся на кирпич.
А вот и красно-коричневое прилетело...
Есть паника и она от самбы. Ну по крайней мере мне так думается:

Код: Выделить всё

GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "amd64-marcel-freebsd"...

Unread portion of the kernel message buffer:


Fatal trap 12: page fault while in kernel mode
cpuid = 15; apic id = 35
fault virtual address   = 0x0
fault code              = supervisor write data, page not present
instruction pointer     = 0x20:0xffffffff8288e184
stack pointer           = 0x28:0xfffffe0294537a10
frame pointer           = 0x28:0xfffffe0294537ab0
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 5096 (smbiod0)
trap number             = 12
panic: page fault
cpuid = 15
KDB: stack backtrace:
#0 0xffffffff80ac1637 at kdb_backtrace+0x67
#1 0xffffffff80a7b5a6 at vpanic+0x186
#2 0xffffffff80a7b413 at panic+0x43
#3 0xffffffff80ef7f22 at trap_fatal+0x352
#4 0xffffffff80ef7f79 at trap_pfault+0x49
#5 0xffffffff80ef77e6 at trap+0x2c6
#6 0xffffffff80ed7c80 at calltrap+0x8
#7 0xffffffff8288e9ae at smb_iod_sendrq+0xfe
#8 0xffffffff8288eee7 at smb_iod_sendall+0x87
#9 0xffffffff8288fa04 at smb_iod_thread+0x2e4
#10 0xffffffff80a3f762 at fork_exit+0x82
#11 0xffffffff80ed89be at fork_trampoline+0xe
Uptime: 134d22h24m31s
Dumping 5658 out of 24531 MB:..1%..11%..21%..31%..41%..51%..61%..71%..81%..91%

Reading symbols from /boot/kernel/if_tap.ko...Reading symbols from /usr/lib/debug//boot/kernel/if_tap.ko.debug...done.
done.
Loaded symbols for /boot/kernel/if_tap.ko
Reading symbols from /boot/kernel/if_bridge.ko...Reading symbols from /usr/lib/debug//boot/kernel/if_bridge.ko.debug...done.
done.
Loaded symbols for /boot/kernel/if_bridge.ko
Reading symbols from /boot/kernel/bridgestp.ko...Reading symbols from /usr/lib/debug//boot/kernel/bridgestp.ko.debug...done.
done.
Loaded symbols for /boot/kernel/bridgestp.ko
Reading symbols from /boot/kernel/if_lagg.ko...Reading symbols from /usr/lib/debug//boot/kernel/if_lagg.ko.debug...done.
done.
Loaded symbols for /boot/kernel/if_lagg.ko
Reading symbols from /boot/kernel/ichsmb.ko...Reading symbols from /usr/lib/debug//boot/kernel/ichsmb.ko.debug...done.
done.
Loaded symbols for /boot/kernel/ichsmb.ko
Reading symbols from /boot/kernel/smbus.ko...Reading symbols from /usr/lib/debug//boot/kernel/smbus.ko.debug...done.
done.
Loaded symbols for /boot/kernel/smbus.ko
Reading symbols from /boot/kernel/ipmi.ko...Reading symbols from /usr/lib/debug//boot/kernel/ipmi.ko.debug...done.
done.
Loaded symbols for /boot/kernel/ipmi.ko
Reading symbols from /boot/kernel/nmdm.ko...Reading symbols from /usr/lib/debug//boot/kernel/nmdm.ko.debug...done.
done.
Loaded symbols for /boot/kernel/nmdm.ko
Reading symbols from /boot/kernel/vmm.ko...Reading symbols from /usr/lib/debug//boot/kernel/vmm.ko.debug...done.
done.
Loaded symbols for /boot/kernel/vmm.ko
Reading symbols from /boot/kernel/zfs.ko...Reading symbols from /usr/lib/debug//boot/kernel/zfs.ko.debug...done.
done.
Loaded symbols for /boot/kernel/zfs.ko
Reading symbols from /boot/kernel/opensolaris.ko...Reading symbols from /usr/lib/debug//boot/kernel/opensolaris.ko.debug...done.
done.
Loaded symbols for /boot/kernel/opensolaris.ko
Reading symbols from /boot/kernel/ums.ko...Reading symbols from /usr/lib/debug//boot/kernel/ums.ko.debug...done.
done.
Loaded symbols for /boot/kernel/ums.ko
Reading symbols from /boot/kernel/ipfw.ko...Reading symbols from /usr/lib/debug//boot/kernel/ipfw.ko.debug...done.
done.
Loaded symbols for /boot/kernel/ipfw.ko
Reading symbols from /boot/kernel/smbfs.ko...Reading symbols from /usr/lib/debug//boot/kernel/smbfs.ko.debug...done.
done.
Loaded symbols for /boot/kernel/smbfs.ko
Reading symbols from /boot/kernel/libiconv.ko...Reading symbols from /usr/lib/debug//boot/kernel/libiconv.ko.debug...done.
done.
Loaded symbols for /boot/kernel/libiconv.ko
Reading symbols from /boot/kernel/libmchain.ko...Reading symbols from /usr/lib/debug//boot/kernel/libmchain.ko.debug...done.
done.
Loaded symbols for /boot/kernel/libmchain.ko
#0  doadump (textdump=<value optimized out>) at pcpu.h:229
229     pcpu.h: No such file or directory.
        in pcpu.h
(kgdb)
Как видим аптайм был "134d22h24m31s".
Прикольность вылета пока немного "странна". Но возможно это совпадение.

Прикол заключается в том, что есть отдельный, одиночный, ms сервер - контроллер домена.
Вчера днем он себя как-то странно повел.
При копировании папки с файлами на, примерно, 10Gb начал жутко тупить под конец процесса. Виндовый эксплорер начал подвисать по 5-10 минут. Остальное все работало.
В таком состоянии сервак был брошен "до вечера", т.к. проблем авторизации или чего-то иного не наблюдалось.
Т.е. со стороны сети все выглядело красиво.
Вечером были погашены все тяжеловесные службы, что-бы быстрее перезапуск прошел (стараюсь всегда так делать).
И отправлен на перезагрузку, а сам домой, бывало так не раз, хотя последний раз в прошлом или позапрошлом году, не суть.
Нас утро встречает прохладой, курчавая что-ж ты не рада...

По утру, приехав, наблюдаю - висит паразит.
Почесав правой рукой за левым ухом оный был выключен по питанию.
Пока чай, да кофе, прошло минут пять-десять (у него только инициализация железа минут пять занимает и это нормально, в данном случае) пошла загрузка.
Загрузка в обычном режиме минут 20-ть, а в заресеченом 45-50-60 (и это тоже нормально, в данном случае).
Так вот на момент когда уже прошло минут 10 загрузки и произошла паника на втором серваке.
Совпадение? М.б., х.з.

Пока пришла только мысль, что возможно самбе не понравилось "пропадание" КД, хотя раньше такого не наблюдал.

Код: Выделить всё

Samba version 4.6.12Samba version 4.6.12
pkg version -v|grep samb
samba-nsupdate-9.8.6_1             =   up-to-date with index
samba46-4.6.12                     =   up-to-date with index
Странновато, что:

Код: Выделить всё

uname -a
FreeBSD 11.1-STABLE FreeBSD 11.1-STABLE #0: Mon Feb 19 17:02:43 MSK 2018     qqq@qqq.qqq.qu:/usr/obj/usr/src/sys/GENERIC  amd64
#18 куда-то пропал. Но м.б. это отсутствие выполненного fsck -fy. Сейчас очень большая горячка и не до него. Примерно сутки нужны когда смогу прочекаться. Других мыслей пока не пришло. Была еще мысля обратиться к разработчикам самбы, но пока стремаюсь. Не понимаю насколько совпадение случайно. С железом проблем не отмечено, но специально не проверял.
Есть у кого соображения?

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

Странная проблема с zfs и samba 4.2, хотя в самбе-ли дело?

Непрочитанное сообщение Demis » 2020-05-14 17:10:27

Прочитал статью по новые типы дисков, с технологией SMR, и пришел в ужОс.
Оригинал:
https://www.ixsystems.com/community/res ... rives.141/
На русском:
https://habr.com/ru/post/500214/
https://www.opennet.ru/opennews/art.shtml?num=52867
https://2gusia.livejournal.com/599007.html#cutid1

Описание технологии SMR (2015 год):
https://www.nix.ru/computer_hardware_ne ... ?id=190645

В кратце суть такова: не берите диски с технологией SMR для работы с ZFS.
Но, с другой стороны, как написано в одной из ссылок :
"Внешние диски (обычно в USB подключении) - отдельная история. Там SMR IMHO вскоре станет повсеместной практикой."

И тогда - вообще не берите...
Запостил, чтобы самому не забыть про эти грабли...

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

Странная проблема с zfs и samba 4.2, хотя в самбе-ли дело?

Непрочитанное сообщение Demis » 2021-01-29 18:34:12

Эх, блин, такой казус...
Электричество рубанули на несколько часов позавчера.
Аптайм сервера, на тот момент, составил 460 дней :

Код: Выделить всё

Local system status:
3:01AM  up 460 days, 13:39, 1 user, load averages: 10.99, 11.00, 10.99


Disk status:
Filesystem              Size    Used   Avail Capacity  Mounted on
/dev/mfid0p2            1.9G    1.7G     65M    96%    /
devfs                   1.0K    1.0K      0B   100%    /dev
/dev/mfid0p4             54G     26G     24G    51%    /var
/dev/mfid0p5             12G    112K     11G     0%    /tmp
/dev/mfid0p6            366G    242G     95G    72%    /usr
hdd                     1.3T    270K    1.3T     0%    /hdd
hdd/usr                 1.8T    477G    1.3T    26%    /hdd/usr
hdd/usr/distrib         1.3T    356M    1.3T     0%    /hdd/usr/distrib
hdd/usr/wf              7.0T    5.7T    1.3T    82%    /hdd/usr/wf

Checking status of zfs pools:
NAME   SIZE  ALLOC   FREE  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
hdd   13.6T  11.0T  2.62T         -      -    80%  1.00x  ONLINE  -

all pools are healthy

Network interface status:
Name    Mtu Network       Address              Ipkts Ierrs Idrop    Opkts Oerrs  Coll  Drop
igb0   9000 <Link#1>      00:25:90:57:a5:48 247469490     0     0 3422863266     0     0     0 
igb1   9000 <Link#2>      00:25:90:57:a5:48 2003924537     0     0 856510320     0     0     0 
lagg0  9000 <Link#4>      00:25:90:57:a5:48 2251580879     0     0 4279373586    29     0     0 
lagg0     - *.*.*.*/ teo               2197097041     -     - 4274486252     -     -     - 
bridg  9000 <Link#5>      02:20:41:79:1f:00 34358687     0     0 4291572400    28     0     0 
bridg     - *.*.*.0 *.*.*.3            0     -     -        0     -     -     - 
tap0   9000 <Link#6>      00:bd:cd:09:f7:00  1605123     0     0 15937812     0     0     0 
bridg  9000 <Link#7>      02:20:41:79:1f:01       55     0     0        0     0     0     0 


zpool status
  pool: hdd
 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 repaired 0 in 117h32m with 0 errors on Tue Jan 12 19:24:47 2021
config:

        NAME         STATE     READ WRITE CKSUM
        hdd          ONLINE       0     0     0
          raidz2-0   ONLINE       0     0     0
            mfid1p1  ONLINE       0     0     0
            mfid2p1  ONLINE       0     0     0
            mfid3p1  ONLINE       0     0     0
            mfid4p1  ONLINE       0     0     0
            mfid5p1  ONLINE       0     0     0
        logs
          ada0p5     ONLINE       0     0     0
        cache
          ada0p6     ONLINE       0     0     0

errors: No known data errors

Аватара пользователя
skeletor
майор
Сообщения: 2548
Зарегистрирован: 2007-11-16 18:22:04

Странная проблема с zfs и samba 4.2, хотя в самбе-ли дело?

Непрочитанное сообщение skeletor » 2021-02-01 13:54:02

А вам не стрёмно при таком размере пула держать всего один диск для logs? Если он вылетит, то прощай данные.

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

Странная проблема с zfs и samba 4.2, хотя в самбе-ли дело?

Непрочитанное сообщение Demis » 2021-02-01 15:07:02

Нет, не стрёмно.

Когда-то давно присматривался к статистике и динамике использования logs и cache.
Именно на предмет нагрузки на оные, тогда понял, что, в моем случае, вроде не критично.
Сейчас уже трудно подробно вспомнить, но там примерно такой "разброс" (под активной нагрузкой в моих условиях) был: 150-250 Кб и около 6-7,5 Мб (но не вспомнить уже какая именно цифиря относилась к logs).
Т.е. порядок значений, был настолько низкий по сравнению с размером ada0p5 в 120Гб, что я перестал об этом думать.

Понятно, что SSD не вечен и может отказать.
Ну откатится пара-тройка транзакций при перезагрузке и фиг с ними.
Если очень и очень потребуется, то нужный файл можно и из снапшота выдернуть.
Баз, где подобное было-бы критично, на ZFS у меня нет.

Аватара пользователя
skeletor
майор
Сообщения: 2548
Зарегистрирован: 2007-11-16 18:22:04

Странная проблема с zfs и samba 4.2, хотя в самбе-ли дело?

Непрочитанное сообщение skeletor » 2021-02-01 15:37:25

При таком rps'e смысла в logs не вижу. Зачем вообще его нужно было делать? Он реально даёт такой прирост в производительности, чем без него?

Demis
прапорщик
Сообщения: 496
Зарегистрирован: 2015-05-25 14:36:32

Странная проблема с zfs и samba 4.2, хотя в самбе-ли дело?

Непрочитанное сообщение Demis » 2021-02-01 17:54:40

skeletor писал(а):
2021-02-01 15:37:25
При таком rps'e смысла в logs не вижу.
Сложно сказать.
skeletor писал(а):
2021-02-01 15:37:25
Зачем вообще его нужно было делать?
Когда железо гонял на производительность, то было отмечено,
что на больших директориях (у меня там файлопомойка на самбе) перенос папок происходит быстрее в несколько раз.
Ждать, условно, 1 час или 10-15 минут, разница все таки есть.
Причем гонка делалась не только как через шару, но и в консоли тоже.
И мы-же помним, что ZFS это CoW (copy-on-write), т.е. данные всегда сначала пишутся (опускаю копирование), а потом фиксируются.
Поэтому и было внедрено.
А в остальных режимах еще легче.
Сейчас получается так:

Код: Выделить всё

dd if=/dev/urandom of=/hdd/usr/distrib/testfile.txt bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes transferred in 42.869454 secs (24459747 bytes/sec)

dd if=/dev/urandom of=/hdd/usr/distrib/testfile.txt bs=128k count=10000
10000+0 records in
10000+0 records out
1310720000 bytes transferred in 55.087095 secs (23793594 bytes/sec)
23Мб/сек конечно тоже не очень быстро, но это под общей нагрузкой "на всех" и при соблюдении ряда условий которые дополнительно делает сервер.
Т.о. - терпимо. (К тому-же помним, что железо 2012 года, а ZFS там в работе с 2013-го...)

Код: Выделить всё

zpool history
History for 'hdd':
2013-03-02.01:29:33 zpool create hdd raidz2 /dev/gpt/disk0.nop /dev/gpt/disk1.nop /dev/gpt/disk2.nop /dev/gpt/disk3.nop /dev/gpt/disk4.nop