Одна из распространённых проблем репликации

LDAP
Если ваша база OpenLDAP упорно отказывается реплицироваться, запустите сервер, на который вы хотите залить реплику, с ключом -d 16384 (отладка механизма репликации). И если там будет явная «ругань» на то, что с мастер-сервера невозможно получить entryUUID для некоторых записей, это значит, что в исходном каталоге не хватает служебных атрибутов, без которых репликация действительно не пойдёт. Отложим обсуждение вопроса о том, почему так бывает, просто пофиксим эту проблему:
Если база относительно небольшая, переведите её в read-only и сделайте полный slapcat:
$ echo 'dn: olcDatabase={номер_базы}тип_бэкенда,cn=config changeType: modifyreplace: olcReadOnlyolcReadOnly: TRUE' | \ ldapmodify -x -D cn=config -Wbr /&
$ slapcat -F /path/to/config/dir -n номер_базы & my_db.ldif

А теперь… физически удалите файлы базы и залейте LDIF-дамп базы, полученный на шаге 1, обратно:
rm -f /path/to/db/files/*
slapadd -F /path/to/config/dir -n номер_базы -l my_db.ldif
chown -R openldap_user.openldap_group /path/to/db/files/

Примечание: под «номером базы» подразумевается то число, которое проставлено для этой базы в cn=config
То есть, например, для DN=olcDatabase={3}hdb,cn=config номер базы соответственно равен трём. Для самой cn=config номер всегда равен нулю (т.е. это всегда olcDatabase={0}config,cn=config)

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.