⇤ ← Revision 1 vom 2014-05-18 16:32:33
1865
Kommentar:
|
3855
Slave fertig
|
Gelöschter Text ist auf diese Art markiert. | Hinzugefügter Text ist auf diese Art markiert. |
Zeile 1: | Zeile 1: |
<<TableOfContents()>> |
|
Zeile 4: | Zeile 7: |
Dabei existiert ein ''Master'' - dies ist der LDAP-Server auf dem Schreib-Operationen erlaubt. Alle anderen LDAP-Server beziehen lediglich im Pull-Verfahren regelmäßig Änderungen von dem Master. |
|
Zeile 6: | Zeile 11: |
Üblicherweise müssen bei den Beispielen lediglich | In den Beispielen werden die folgenden Variablen verwendet - sie sind durch lokale Gegebenheiten zu ersezten: EXAMPLE und ORG:: die LDAP-Basis des Servers - beispielsweise für "dc=meine-domain,dc=de" wäre es {{{EXAMPLE=meine-domain}}} und {{{ORG=de}}} SYNCAGENT_SECRET:: Passwort des LDAP-Replikations-Accounts (beliebig) LDAP_MASTER:: der Name oder die IP des LDAP-Master-Servers |
Zeile 9: | Zeile 17: |
= Vorbereitung auf dem Master = == Überblick der folgenden Schritte == |
= Konfiguration des Masters = == Überblick == Folgendes ist zu tun: |
Zeile 55: | Zeile 64: |
ldappasswd -D cn=admin,dc=EXAMPLE,dc=ORG -W -S "cn=syncagent,dc=EXAMPLE,dc=ORG" | ldappasswd -D cn=admin,dc=EXAMPLE,dc=ORG -W -s "SYNCAGENT_SECRET" "cn=syncagent,dc=EXAMPLE,dc=ORG" |
Zeile 57: | Zeile 66: |
= Konfiguration des Clients = == Überblick == == Einzelschritte == 1. Sync-Modul aktivieren: {{{ dn: cn=module{0},cn=config changetype: modify add: olcModuleLoad olcModuleLoad: syncprov.la }}} 2. füge replikationsrelevante Attribute zum Index hinzu: {{{ dn: olcDatabase={1}hdb,cn=config changetype: modify add: olcDbIndex olcDbIndex: entryUUID,entryCSN eq }}} 3. Konfigurationsreplikation aktivieren: {{{ dn: olcDatabase={0}config,cn=config changetype: modify add: olcSyncrepl olcSyncrepl: {0}rid=1 provider=ldap://LDAP_MASTER type=refreshOnly bindmethod=simple binddn="cn=syncagent,dc=EXAMPLES,dc=ORG" credentials=SYNCAGENT_SECRET interval="00:00:03:00" retry="30 10 300 +" timeout=1 tls_reqcert=never schemachecking=off searchbase="cn=config" }}} 4. Datenbank-Replikation aktivieren: {{{ dn: olcDatabase={1}hdb,cn=config changetype: modify add: olcSyncrepl olcSyncrepl: {0}rid=2 provider=ldap://LDAP_MASTER type=refreshOnly bindmethod=simple binddn="cn=syncagent,dc=EXAMPLE,dc=ORG" credentials=SYNCAGENT_SECRET interval="00:00:03:00" retry="30 10 300 +" timeout=1 tls_reqcert=never schemachecking=off searchbase="dc=EXAMPLE,dc=ORG" }}} = Abschluss = Nun sollte der Slave-Server sich sofort mit dem Server synchronisieren. Fehlermeldungen finden sich auf der Slave-Seite unter {{{/var/log/debug.log}}}. |
Inhaltsverzeichnis
Überblick
Ziel ist die Verteilung einer LDAP-Datenbank auf mehr als einem Server. Dies erhöht die Ausfallsicherheit und verteilt die Last.
Dabei existiert ein Master - dies ist der LDAP-Server auf dem Schreib-Operationen erlaubt. Alle anderen LDAP-Server beziehen lediglich im Pull-Verfahren regelmäßig Änderungen von dem Master.
Die Dokumentation bezieht sich auf OpenLDAP v2.4 oder später. Alle Änderungen verwenden das neue LDIF-basierte Konfigurationsformat von OpenLDAP.
In den Beispielen werden die folgenden Variablen verwendet - sie sind durch lokale Gegebenheiten zu ersezten:
- EXAMPLE und ORG
die LDAP-Basis des Servers - beispielsweise für "dc=meine-domain,dc=de" wäre es EXAMPLE=meine-domain und ORG=de
- SYNCAGENT_SECRET
- Passwort des LDAP-Replikations-Accounts (beliebig)
- LDAP_MASTER
- der Name oder die IP des LDAP-Master-Servers
Konfiguration des Masters
Überblick
Folgendes ist zu tun:
- Synchronisations-Overlay für die Konfiguration und die Datenbank aktivieren
- einen Account für die Datenabfrage anlegen
Einzelschritte
Sync-Modul aktivieren:
dn: cn=module{0},cn=config changetype: modify add: olcModuleLoad olcModuleLoad: syncprov.la
füge replikationsrelevante Attribute zum Index hinzu:
dn: olcDatabase={1}hdb,cn=config changetype: modify add: olcDbIndex olcDbIndex: entryUUID,entryCSN eq
einen Account für die Replikationsabfrage hinzufügen:
dn: cn=syncagent,dc=EXAMPLE,dc=ORG cn: syncagent objectClass: top objectClass: person sn: syncagent
Zugriffsrechte für den sync-Account anlegen:
dn: olcDatabase={0}config,cn=config changetype: modify add: olcAccess olcAccess: to * by dn.base="cn=syncagent,dc=EXAMPLE,dc=ORG" read by * +0 break
sync-Provider für die LDAP-Datenbank aktivieren:
dn: olcOverlay=syncprov,olcDatabase={1}hdb,cn=config changetype: add objectClass: olcOverlayConfig objectClass: olcSyncProvConfig olcOverlay: syncprov
sync-Provider für die LDAP-Konfiguration aktivieren:
dn: olcOverlay=syncprov,olcDatabase={0}config,cn=config changetype: add objectClass: olcOverlayConfig objectClass: olcSyncProvConfig olcOverlay: syncprov
Passwort für den Sync-Account festlegen:
ldappasswd -D cn=admin,dc=EXAMPLE,dc=ORG -W -s "SYNCAGENT_SECRET" "cn=syncagent,dc=EXAMPLE,dc=ORG"
Konfiguration des Clients
Überblick
Einzelschritte
Sync-Modul aktivieren:
dn: cn=module{0},cn=config changetype: modify add: olcModuleLoad olcModuleLoad: syncprov.la
füge replikationsrelevante Attribute zum Index hinzu:
dn: olcDatabase={1}hdb,cn=config changetype: modify add: olcDbIndex olcDbIndex: entryUUID,entryCSN eq
Konfigurationsreplikation aktivieren:
dn: olcDatabase={0}config,cn=config changetype: modify add: olcSyncrepl olcSyncrepl: {0}rid=1 provider=ldap://LDAP_MASTER type=refreshOnly bindmethod=simple binddn="cn=syncagent,dc=EXAMPLES,dc=ORG" credentials=SYNCAGENT_SECRET interval="00:00:03:00" retry="30 10 300 +" timeout=1 tls_reqcert=never schemachecking=off searchbase="cn=config"
Datenbank-Replikation aktivieren:
dn: olcDatabase={1}hdb,cn=config changetype: modify add: olcSyncrepl olcSyncrepl: {0}rid=2 provider=ldap://LDAP_MASTER type=refreshOnly bindmethod=simple binddn="cn=syncagent,dc=EXAMPLE,dc=ORG" credentials=SYNCAGENT_SECRET interval="00:00:03:00" retry="30 10 300 +" timeout=1 tls_reqcert=never schemachecking=off searchbase="dc=EXAMPLE,dc=ORG"
Abschluss
Nun sollte der Slave-Server sich sofort mit dem Server synchronisieren. Fehlermeldungen finden sich auf der Slave-Seite unter /var/log/debug.log.