Syncrepl

Aus xinux.net
Zur Navigation springen Zur Suche springen

ldap master

dump the config database to a text file

  • master:$ slapcat -F /etc/ldap/slapd.d -b cn=config -l config.ldif

replicate account

erstellen

cat admin.ldif

dn: ou=admins,dc=linuggs,dc=de
objectClass: organizationalUnit
ou: admins
       
dn: uid=replicate,ou=admins,dc=linuggs,dc=de
cn: replicate
objectClass: posixAccount
objectClass: shadowAccount
objectClass: Account
objectClass: top
uid: replicate
uidNumber:  9001
gidNumber:  9001
homeDirectory: /home/replicate
loginShell: /bin/bash
  • ldapadd -xD cn=admin,dc=linuggs,dc=de" -w geheim -f admin.ldif

acl anpassen

cat acl.ldif

dn: olcDatabase={1}hdb,cn=config
changetype: modify
replace: olcAccess
olcAccess: {2}to * by self write by dn="cn=admin,dc=xinux,dc=de" write by dn="uid=replicate,ou=admins,dc=xinux,dc=de" read   by * read
  • ldapmodify -Y EXTERNAL -H ldapi:/// -f acl.ldif

syncprov hinzufügen

modul

cat syncprov.ldif

dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: syncprov
  • ldapmodify -Y EXTERNAL -H ldapi:/// -f syncprov.ldif
objekt

cat syncprov.ldif

dn: olcOverlay={0}syncprov, olcDatabase={1}hdb,cn=config
changetype: modify
objectclass: olcSyncProvConfig
olcOverlay: syncprov
olcSpCheckpoint: 100 10
-
add: olcSpSessionlog
olcSpSessionlog: 100
  • ldapmodify -Y EXTERNAL -H ldapi:/// -f syncprov.ldif

kopieren auch den slave

  • master:$ scp config.ldif slave:

ldap slave

  • slave:$ service slapd stop

anpassen der TLS parameter

config.ldif

olcTLSCACertificateFile: /etc/ldap/ssl/lin-ca.crt
olcTLSCertificateFile: /etc/ldap/ssl/slave.linnugs.de.crt
olcTLSCertificateKeyFile: /etc/ldap/ssl/slave.linuggs.de.key

einspielen der datenbank

  • slave:$ rm -r /etc/ldap/slapd.d/*
  • slave:$ slapadd -F /etc/ldap/slapd.d -b cn=config -l config.ldif
  • slave:$ chown -R openldap.openldap /etc/ldap/slapd.d
  • slave:$ service slapd start

slave konfigurieren

cat syncprov.ldif

dn: cn=module{0},cn=config
changetype: modify
add: olcModuleLoad
olcModuleLoad: syncprov
  • ldapmodify -Y EXTERNAL -H ldapi:/// -f syncprov.ldif

cat index.ldif

# syncrepl specific indices
dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: entryUUID eq
  • ldapmodify -Y EXTERNAL -H ldapi:/// -f index.ldif

cat syncrepl.ldif

# syncrepl specific indices
dn: olcDatabase={1}hdb,cn=config
changetype: modify
replace: olcSyncRepl
olcSyncRepl: rid=00 provider=ldap://master.linuggs.de type=refreshAndPersist retry="5 5 300 +" searchbase="dc=linuggs,dc=de"  attrs="*,+"   bindmethod=simple binddn="uid=replicate,ou=admins,dc=linuggs,dc=de" credentials=suxer
  • ldapmodify -Y EXTERNAL -H ldapi:/// -f syncrepl.ldif
Syntax
rid=00 Replizierungs-ID
provider=ldaps://master.linuggs.de Masterslapd (Hier über ldaps)
type=refreshAndPersist 2 Optionen: "refresh" und "RefreshAndPrsist". Siehe Unten.
retry="20 5 300 +" siehe unten
searchbase="dc=linuggs,dc=de" Zu replzierende Wurzel
attrs="*,+" repliziere alles
bindmethod=simple einfache Authentifizierung
binddn="uid=replicate,ou=admins,dc=linuggs,dc=de" Account auf dem Masterslapd
credentials=suxer Passwort auf dem Masterslapd

Refresh

Beim Type Refresh führt der Slave im festgelegten Intervall einen Abgleich zum Master aus. D.h. er baut eine Verbindung auf, gleicht die Daten ab und schließt die Verbindung wieder. Die Defaulteinstellung ist alle 24h.

RefreshAndPersist

Bei diesem Type schließt der Slave die Verbindung nach dem Abgleich nicht, sie bleibt also aktiv. Dadurch kann der Master alle Änderungen direkt an den Slave schicken (Provider-Push)

retry

Hier wird festgelegt, ob und wann ein neuer Abgleich gestartet wird, sollte ein Fehler auftreten.

  • Erste und Dritte Stelle: Zeit in Sekunden zwichen den Wiederholungsversuchen
  • Zweite und Vierte Stelle: Anzahl der Wiederholungsversuche (+ steht für unbegrenzt)

Falls nach den Wiederholungsversuchen aus 1+2 keine erfolgreicher Abgleich erfolgt sein, werden entsprechend die Versuche nach 3+4 begonnen. Hier werden in der Regel längere Zeitabstände und mehr Wiederholungen genutzt.

Links