Назад | Перейти на главную страницу

Добавление более одного DIT

Я разместил этот вопрос в dba.stackexchange.com но это считается не по теме, и люди предлагают мне опубликовать его здесь, поэтому я размещаю его здесь.

у меня есть openldap сервер запущен и работает на ubuntu 14.10 и мне удалось успешно добавить DIT в него, используя следующие ldif :

dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: hdb
olcDbDirectory: /var/lib/ldap
olcSuffix: dc=example,dc=com
olcRootDN: cn=Manager,dc=example,dc=com
olcRootPW: secret
olcDbIndex: objectClass eq

Ради тестирования нескольких DITs Я пытался добавить другую базу данных, используя другую ldif :

dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: hdb
olcDbDirectory: /var/lib/ldap
olcSuffix: dc=example1,dc=com
olcRootDN: cn=Manager,dc=example1,dc=com
olcRootPW: secret
olcDbIndex: objectClass eq

Сначала казалось, что все прошло хорошо, но когда я попытался выполнить поиск в своей первой базе данных, я получил сообщение об ошибке:

result: 80 Other (e.g., implementation specific) error
text: internal error

Не понимая этой ошибки, я запустил slapd -d и вот что у меня получилось:

bdb(dc=example,dc=com): BDB0060 PANIC: fatal region error detected; run recovery

Я даже установил db-utils и побежал db_recover безуспешно. Вопрос в том, что не так с моим openldap сервер?

Думаю, основная ошибка в том, что вы использовали тот же olcDbDirectory для обоих ДИТ. Попробуйте использовать разные каталоги для хранения данных (вам, вероятно, придется стереть текущие данные и начать заново).