Как восстановить базу Ldap сервера?

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
stilgar
рядовой
Сообщения: 12
Зарегистрирован: 2008-12-15 18:47:34

Как восстановить базу Ldap сервера?

Непрочитанное сообщение stilgar » 2009-04-24 11:39:28

Здравствуйте уважаемые! Может кто-нибудь знает как решить возникшую проблему. Суть собственно вот в чем: ночью рубанулось электричество, upsd отправил команду shutdown, комп благополучно отключился, а вот с базой Ldap случился казус.
Вот кусок debug.log

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

bdb(dc=my-domain,dc=ru): file id2entry.bdb has LSN 1/3375037, past end of log at 1/2465137
bdb(dc=my-domain,dc=ru): Commonly caused by moving a database from one database environment
bdb(dc=my-domain,dc=ru): to another without clearing the database LSNs, or by removing all of
bdb(dc=my-domain,dc=ru): the log files from a database environment
bdb(dc=my-domain,dc=ru): /var/db/openldap-data/id2entry.bdb: unexpected file type or format
bdb_db_open: database "dc=my-domain,dc=ru": db_open(/var/db/openldap-data/id2entry.bdb) failed: Invalid argument (22).
backend_startup_one: bi_db_open failed! (22)
bdb_db_close: database "dc=my-domain,dc=ru": alock_close failed
slapd stopped.
Буду очень признателен за любую помощь,поскольку контора с утра не работает.

Хостинговая компания 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/

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Как восстановить базу Ldap сервера?

Непрочитанное сообщение hizel » 2009-04-24 11:52:20

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

db_verify <file>
db_recover -v <file>
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

stilgar
рядовой
Сообщения: 12
Зарегистрирован: 2008-12-15 18:47:34

Re: Как восстановить базу Ldap сервера?

Непрочитанное сообщение stilgar » 2009-04-24 12:02:37

Может я что-то не так делаю, но результат вот такой:

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

fserv# ./db_verify /var/db/openldap-data/
db_verify: /var/db/openldap-data/: unexpected file type or format
db_verify: Encrypted database: no encryption flag specified
db_verify: Page 0: metadata page corrupted
db_verify: Page 0: could not check metadata page
db_verify: /var/db/openldap-data/: DB_VERIFY_BAD: Database verification failed

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Как восстановить базу Ldap сервера?

Непрочитанное сообщение hizel » 2009-04-24 12:04:27

файл! файл ему суйте! /var/db/openldap-data/id2entry.bdb :pardon:
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

stilgar
рядовой
Сообщения: 12
Зарегистрирован: 2008-12-15 18:47:34

Re: Как восстановить базу Ldap сервера?

Непрочитанное сообщение stilgar » 2009-04-24 12:08:50

Вот такая штука вылезла

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

fserv# ./db_verify -h /var/db/openldap-data/ id2entry.bdb
db_verify: file unknown has LSN 1/3375037, past end of log at 1/2465561
db_verify: Commonly caused by moving a database from one database environment
db_verify: to another without clearing the database LSNs, or by removing all of
db_verify: the log files from a database environment
db_verify: Page 0: metadata page corrupted
db_verify: Page 0: could not check metadata page
db_verify: id2entry.bdb: DB_VERIFY_BAD: Database verification failed

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Как восстановить базу Ldap сервера?

Непрочитанное сообщение hizel » 2009-04-24 12:28:26

ну дык db_recover её, не ?
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

stilgar
рядовой
Сообщения: 12
Зарегистрирован: 2008-12-15 18:47:34

Re: Как восстановить базу Ldap сервера?

Непрочитанное сообщение stilgar » 2009-04-24 14:50:45

После всех манипуляций с восстановлением ситуация с запуском ldap не изменилась. База проверяется, все файлы проверяются, все вроде нормально:

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

fserv# /usr/local/bin/db46/db_recover -v
Finding last valid log LSN: file: 1 offset 120
Recovery complete at Fri Apr 24 15:46:00 2009
При запуске ldap опять лезут ошибки:

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

bdb(dc=my-domain,dc=ru): file id2entry.bdb has LSN 1/3375037, past end of log at 1/2465137
528]: bdb(dc=my-domain,dc=ru): Commonly caused by moving a database from one database environment
528]: bdb(dc=my-domain,dc=ru): to another without clearing the database LSNs, or by removing all of
528]: bdb(dc=my-domain,dc=ru): the log files from a database environment
528]: bdb(dc=my-domain,dc=ru): /var/db/openldap-data/id2entry.bdb: unexpected file type or format
528]: bdb_db_open: database "dc=my-domain,dc=ru": db_open(/var/db/openldap-data/id2entry.bdb) failed: Invalid argument (22).
528]: backend_startup_one: bi_db_open failed! (22)
528]: bdb_db_close: database "dc=my-domain,dc=ru": alock_close failed
528]: slapd stopped.
Вот такие вот успехи

Аватара пользователя
hizel
дядя поня
Сообщения: 9032
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Как восстановить базу Ldap сервера?

Непрочитанное сообщение hizel » 2009-04-24 14:56:23

хм а если

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

db_recover -h  /var/db/openldap-data/
?
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

stilgar
рядовой
Сообщения: 12
Зарегистрирован: 2008-12-15 18:47:34

Re: Как восстановить базу Ldap сервера?

Непрочитанное сообщение stilgar » 2009-04-24 15:16:16

Команда выполняется, никаких сообщений не выводится (так и должно быть?)

При запуске Ldap лезут те же ошибки.

Видимо придется заливать базу по новой :cry:

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

Re: Как восстановить базу Ldap сервера?

Непрочитанное сообщение maximos » 2011-06-30 8:50:01

Тоже нарвался на подобную ситуацию.
Мне помогло следующее решение:

(1) Stop the ldap server
/etc/init.d/ldap stop

Just to be sure the server is stopped,
killall slapd

(2) Make a backup of your existing directory structure:
tar -cvzf ldap.tar.gz /var/lib/ldap/*

Put it someplace safe in case something goes wrong with this procedure.

(3) Perform a recovery:
db_recover -h /var/lib/ldap -v

(4) Dump the directory structure to a text file
slapcat -l ldap.ldif
(sometimes it is needed to delete all bdb files, _but_ "dn2id" and "id2entry", being able to "slapcat" the files)

(5) Verify that the resultant file (ldap.ldif) contains directory entries. If it does not, or if slapcat returned errors in step 4, try running db_recover in catastrophic mode:
db_recover -h /var/lib/ldap -v -c
После этого выполнить шаг 4 еще раз.)

(6) Delete the corrupted LDAP directory with the following command:
rm -fr /var/lib/ldap/*

(7) Recreate the DB_CONFIG file, which contains some basic informations for the bdb backend:
echo -en "set_cachesize 0 15000000 1\nset_lg_bsize 2097152\n" >/var/lib/ldap/DB_CONFIG

(8) Reload the LDAP directory from the ldap.ldif file you produced in step 4 with the following command:
slapadd -l ldap.ldif

(9) The files have to be owned by the user "ldap", hence we have to run
chown -R ldap: /var/lib/ldap

(10) Start the LDAP server
/etc/init.d/ldap start

Взято отсюда.

Естественно, проставить корректные пути, у slapcat и slapadd откорректировать параметры по необходимости. Содержимое файла DB_CONFIG редактировать по своему усмотрению.
Возможно, кому-нибудь пригодится.

Кнопочник
проходил мимо

Re: Как восстановить базу Ldap сервера?

Непрочитанное сообщение Кнопочник » 2011-07-05 17:57:39

помогите пожалуйста админ свалилс работы а мне в наследство оставил домен на Free 7.2 c свихнувшеимся LDAP все пользователи заходят нормально и на шару и в домен с утра ошибок обычно не бывает(на клиентских тачках) но в лог debug log постоянно сыпятся ошибки класса(смотреть в приложение) я только начинающий Фряшник... гугл ничего нормального на эту тему не сказал... я уже записался на курсы по фрибсд но они начнутся через неделю и пока мы дойдем до доменов все может рухнуть... да и людей жалко... принимаются любые советы по помощи... в том числе и в гугл... скажите какие конфиги выложить все покажу.... заранее спасибо...
Вложения
debug.txt
(43.72 КБ) 69 скачиваний

Аватара пользователя
gabell
рядовой
Сообщения: 25
Зарегистрирован: 2010-04-30 10:51:00
Откуда: Питер

Re: Как восстановить базу Ldap сервера?

Непрочитанное сообщение gabell » 2011-07-07 18:09:21

Кнопочник писал(а):помогите пожалуйста админ свалилс работы а мне в наследство оставил домен на Free 7.2 c свихнувшеимся LDAP все пользователи заходят нормально и на шару и в домен с утра ошибок обычно не бывает(на клиентских тачках) но в лог debug log постоянно сыпятся ошибки класса(смотреть в приложение) я только начинающий Фряшник... гугл ничего нормального на эту тему не сказал... я уже записался на курсы по фрибсд но они начнутся через неделю и пока мы дойдем до доменов все может рухнуть... да и людей жалко... принимаются любые советы по помощи... в том числе и в гугл... скажите какие конфиги выложить все покажу.... заранее спасибо...
Где там ошибки?

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

Re: Как восстановить базу Ldap сервера?

Непрочитанное сообщение snorlov » 2011-07-07 20:25:26

А это не ошибки, просто уровень логирования в ldap отличен от нуля. Надо установить в /usr/local/etc/openldap/slapd.conf

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

loglevel 0
и не забыть перестартовать ldap

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

/usr/local/etc/rc.d/slapd restart