[freebsd] openldap + Berkeley DB + freebsd 11.1 + zfs: "портятся" файлы базы данных.

Konstantin Stefanov cstef at mail.ru
Tue Jun 5 14:03:43 EEST 2018


On 05.06.2018 13:40, Eugene V. Boontseff wrote:
> Есть виртуалка на ESXi 5.5, на которой установлена FreeBSD 11.1 с zfs и
> работает сервер ldap (openldap-sasl-server-2.4.46_2).
> 
> В качестве бд использовалась bdb (db5-5.3.28_6).  Возникла проблема -
> после даже штатной остановки ldap-сервера при следующем старте возникает
> ошибка (в ~80% случаев):   bdb(o=wdc): BDB0060 PANIC: fatal region error
> detected; run recovery. При следующем старте файлы "чинятся" и сервер
> работает до следующей остановки. Иногда ошибки возникают прямо во время
> работы. Пробовал тюнить кешы бд и openldap, но результата не добился.
> Кардинально помог отказ от back_bdb и переход на back_mdb.
> Учитывая, что до этого тот же ldap стоял на аналогичной виртуалке на том
> же сервер, но система была 10.4, и проблем с порчей файлов бд не
> наблюдалось, вопрос: кто виноват? Не возникали ли у кого-нибудь похожие
> проблемы с файлами db5 под FreeBSD 11.1?
> Может быть есть особенности тюнинга zfs для работы db5? Хотя на 10.4
> была та же zfs..
> Какие есть методологические способы выяснить в чём проблема? Вопрос для
> меня не праздный, потому что собирался на этой виртуалке использовать
> другие приложения, пользующиеся db5.
Было подобное, только у меня не виртуалка, а прям на железе стоит. В
моем случае проблемы начались после не совсем корректного апгрейда
openldap-server вместе с ОС.

До апгрейда было 10.3, после апгрейда - 11.1. Вместе с апгредйом системы
был и апгрейд openldap-server, но версию, с которой апгрейдился, не
помню. Сейчас стоит openldap-server-2.4.46_1.

Для лечения я остановил сервер, прогнал db_recover и запустил снова.

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

-- 
Константин Стефанов

Не можешь прокормить жену - пропей.


More information about the freebsd mailing list