Вы просматриваете: » » Репликация LDAP
Категория: Информация, Unix, опубликовал: rob96, добавлено: 16-03-2015, 08:46
 



Репликация доступна через механизм Syncrepl. Он позволят синхронизировать изменения используя модель Потребитель - Поставщик. Специфический вид репликации, который мы будем реализовывать в этом руководстве, является комбинацией следующих режимов: refreshAndPersist и delta-syncrepl. Это подразумевает что Потребитель передает измененные записи Поставщику, как только они появляются, но при этом посылаются только актуальные изменения, а не все записи.

Настройка Поставщика


1. Создайте файл LDIF со следующим содержимым и назовите его provider_sync.ldif:
# Add indexes to the frontend db.
dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: entryCSN eq
-
add: olcDbIndex
olcDbIndex: entryUUID eq
#Load the syncprov and accesslog modules.
dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: syncprov
-
add: olcModuleLoad
olcModuleLoad: accesslog
# Accesslog database definitions
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=example,dc=com
olcDbIndex: default eq
olcDbIndex: entryCSN,objectClass,reqEnd,reqResult,reqStart
# Accesslog db syncprov.
dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpNoPresent: TRUE
olcSpReloadHint: TRUE
# syncrepl Provider for primary db
dn: olcOverlay=syncprov,olcDatabase={1}hdb,cn=config
changetype: add
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpNoPresent: TRUE
# accesslog overlay definitions for primary db
dn: olcOverlay=accesslog,olcDatabase={1}hdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcAccessLogConfig
olcOverlay: accesslog
olcAccessLogDB: cn=accesslog
olcAccessLogOps: writes
olcAccessLogSuccess: TRUE
# scan the accesslog DB every day, and purge entries older than 7 days
olcAccessLogPurge: 07+00:00 01+00:00


Замените rootDN в LDIF файле на соответствующий вашему каталогу.

2. Профиль apparmor для slapd нужно будет отрегулировать для расположения базы accesslog. Отредактируйте /etc/apparmor.d/local/ usr.sbin.slapd, добавив следующее:
/var/lib/ldap/accesslog/ r,
/var/lib/ldap/accesslog/** rwk,


Создаём каталог, устанавливаем файл настроек базы данных и
перезагружаем профиль apparmor:
sudo -u openldap mkdir /var/lib/ldap/accesslog
sudo -u openldap cp /var/lib/ldap/DB_CONFIG /var/lib/ldap/accesslog
sudo service apparmor reload


3. Добавляем новый контент и, поскольку изменили apparmor, перезапускаем сервис:
sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f provider_sync.ldif
sudo service slapd restart


Настройка Потребителя


1. Установим программное обеспечение как указано в Раздел 1.1, «Установка» [108]. Убедитесь, что база slapd-config аналогична базе Поставщика. Особенно проверьте, что одинаковы схемы и суффикс базы.

2. Создайте файл LDIF со следующим содержимым и назовите его consumer_sync.ldif:
dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: syncprov
dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: entryUUID eq
-
add: olcSyncRepl
olcSyncRepl: rid=0 provider=ldap://ldap01.example.com bindmethod=simple binddn="cn=admin,dc=example,credentials=secret searchbase="dc=example,dc=com" logbase="cn=accesslog"
logfilter="(&(objectClass=auditWriteObject)(reqResult=0))" schemachecking=on
type=refreshAndPersist retry="60 +" syncdata=accesslog
-
add: olcUpdateRef
olcUpdateRef: ldap://ldap01.example.com


Убедитесь, что следующие атрибуты имеют правильные значения:
• provider (hostname сервера Поставщика — в этом примере — или IP-
адрес)
• binddn (DN администратора, которым вы пользуетесь)
• credentials (пароль для DN администратора, который вы используете)
• searchbase (суффикс базы, которую вы используете)
• olcUpdateRef (hostname сервера Поставщика или его IP адрес)
• rid (Replica ID, уникальное трёхзначное число, идентифицирующее
данную копию. Каждый Потребитель должен иметь минимум один rid)

3. Добавьте новое содержимое:
sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f consumer_sync.ldif

Теперь две базы (суффикс: dc=example,dc=com) будут синхронизированы.


Тестирование


Как только репликация стартует, вы можете отслеживать ее запустив:

ldapsearch -z1 -LLLQY EXTERNAL -H ldapi:/// -s base contextCSN

dn: dc=example,dc=com
contextCSN: 20120201193408.178454Z#000000#000#000000

как на Поставщике, так и на Потребителе. Как только вывод (20120201193408.178454Z#000000#000#000000в примере выше) на обеих машинах
совпадет, вы провели репликацию. Каждый раз, как происходят изменения на Поставщике, это значение будет изменяться и должно стать таким же на Поставщике.
Если ваше соединение медленное и/или ваша база LDAP велика, процесс приведения в соответствие contextCSN Потребителя и Поставщика может быть протяженным. Но, вы должны знать, что процесс запускается как только contextCSN Потребителя неизбежно увеличивается.
Если contextCSN Потребителя отсутствует или не совпадает со значением Поставщика, вы должны остановиться и понять причину проблемы перед тем как продолжить. Попробуйте проверить slapd (syslog — системный журнал) и файлы журналов аутентификации Поставщика, чтобы увидеть удачны ли были запросы аутентификации Потребителя и не возвращались ли ошибки в ответ на запросы данных (они будут видны как множество записей ldapsearch).
Чтобы проверить, что всё работает, просто запросите на Потребителе DN из базы:
sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b dc=example,dc=com dn

Вы должны увидеть пользователя 'john' и группу 'miners', также как ноды 'People' и 'Groups' из описания настройки LDAP

взять тексты provider_sync.ldif и consumer_sync.ldif

     Комментариев оставлено: (0)    Просмотров: 1457   
Теги:   Linux, Ldap, server

Другие новости по теме:

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

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

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

Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Вставка ссылкиВставка защищенной ссылки Картинка Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Введите два слова, показанных на изображении:


управление аккаунтом
Профиль пользователя
, вы вошли как гость


Если вы на сайте впервые, то вы можете зарегистрироваться!

Вы забыли пароль?
самые интересные новости
Популярные новости
Материалы данного ресурса принадлежат пользователям и предназначены для расширения кругозора всех желающих
Unix Windows Техника Железо Mobile For Games Сплетни Net
  • Шпаргалки