Репликация LDAP

Использовался материал с http://help.ubuntu.ru/wiki/samba_bdc_ldap_ubuntu_10_04

Допустим у нас есть настроенный Ldap сервер с вот такими параметрами:
Admin: cn=admin,dc=msk,dc=local,dc=net
Passwd: secert

Его мы назовем «Основным«. Нашей задачей является создание Резервного сервера!

Приступим!
На резервном сервере просто устанавливаем Ldap без настроек.

aptitude install ldap-utils

Далее необходимо сделать Buckup баз Ldap на основном, и Restore этой базы на резервном сервере как сказанно тут.

Настройки на основном сервере:

vi addindex.ldif
dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: entryCSN eq
-
add: olcDbIndex
olcDbIndex: entryUUID eq
ldapmodify -Y EXTERNAL -H ldapi:/// -f addindex.ldif
vi provider_sync.ldif
#Загрузка syncprov и accesslog модулей.
dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: syncprov
-
add: olcModuleLoad
olcModuleLoad: accesslog

# Создание БД Accesslog
dn: olcDatabase={2}hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {2}hdb
olcDbDirectory: /var/lib/ldap/accesslog
olcSuffix: cn=accesslog
olcRootDN: cn=admin,dc=msk,dc=local,dc=net
olcDbIndex: default eq
olcDbIndex: entryCSN,objectClass,reqEnd,reqResult,reqStart

# Добавление syncprov в БД Accesslog.
dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpNoPresent: TRUE
olcSpReloadHint: TRUE

#  Добавление syncprov в основную БД
dn: olcOverlay=syncprov,olcDatabase={1}hdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpNoPresent: TRUE

# Добавление определения accesslog для основной БД
dn: olcOverlay=accesslog,olcDatabase={1}hdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcAccessLogConfig
olcOverlay: accesslog
olcAccessLogDB: cn=accesslog
olcAccessLogOps: writes
olcAccessLogSuccess: TRUE
# Сканировать БД accesslog каждый день, и удалять записи старше 7 дней
olcAccessLogPurge: 07+00:00 01+00:00
vi /etc/apparmor.d/usr.sbin.slapd

Добавить:

/var/lib/ldap/accesslog/ r,
  /var/lib/ldap/accesslog/** rwk,

Создаём нужные для работы каталоги, скопировать DB_CONFIG и перезагружаем профиль apparmor

sudo -u openldap mkdir /var/lib/ldap/accesslog
sudo -u openldap cp /var/lib/ldap/DB_CONFIG /var/lib/ldap/accesslog/
sudo /etc/init.d/apparmor reload
ldapadd -Y EXTERNAL -H ldapi:/// -f provider_sync.ldif
/etc/init.d/slapd restart

Настройка репликаций на резервном сервере LDAP

vi consumer_sync.ldif
#Load the syncprov module.
dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: syncprov

# syncrepl specific indices
dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: entryUUID eq
-
add: olcSyncRepl
olcSyncRepl: rid=0 provider=ldap://pdc.msk.local.net bindmethod=simple binddn="cn=admin,dc=msk,dc=local,dc=net" credentials=iddqd searchbase="dc=msk,dc=local,dc=net" logbase="cn=accesslog" logfilter="(&(objectClass=auditWriteObject)(reqResult=0))" schemachecking=on  type=refreshAndPersist retry="60 +" syncdata=accesslog starttls=yes
-
add: olcUpdateRef
olcUpdateRef: ldap://pdc.msk.local.net

Внимание!!! credentials=< пароль для ldap>

ldapadd -c -Y EXTERNAL -H ldapi:/// -f consumer_sync.ldif
/etc/init.d/slapd restart

Всё!

Далее проверяем. Заведите на основном сервере в Ldap юзверя «supertest»
А на Резервном поищите его через несколько секунд:

ldapsearch -x -b ou=People,dc=msk,dc=local,dc=net "uid=supertest"

Должно найтись.

Запись опубликована в рубрике Debian, Ldap, Linux, Сервер с метками . Добавьте в закладки постоянную ссылку.

Один комментарий на «Репликация LDAP»

  1. Уведомление: LDAP + BDC | Linux

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Анти-спам: выполните заданиеWordPress CAPTCHA