OpenLDAP and MySQL

PatrickBaer

Well-Known Member
Servus,

ich bin hier am Haare ausraufen mit diesem Mist...

Versuche OpenLDAP mit dem sql-backend zum Laufen zu bringen. der ldap aus den ports sagt mir "unknown database <sql>" und die original-source bricht beim configure ab mit: configure: error: BerkeleyDB version incompatible with BDB/HDB backends

Hat zufällig jemand diese Kombination (7.0, OpenLDAP, MySQL) am Laufen und kann mir sagen, wo ich falsch liege?

Gruss

Patrick
 
Also ich kenn niemanden, der MySQL als OpenLDAP Backend verwenden möchte.
Ich habe mehrere OpenLDAP-Server, mit Replikation und allem möglichen Dideldei - aber MySQL als Backend. Lass es lieber!
Die standardmäßig verwendete BDB ist schneller und reicht für alles, was man mit LDAP machen kann / will völlig aus.

So long...

Der Indy
 
Du hast den OpenLDAP-Server mit ODBC (With SQL backend) kompiliert (aus den Ports)?
Der MySQL-Server läuft? Benutzer und Passwort erzeugt und in slapd.conf eingetragen?
Fragen über Fragen...

Deine Infos sind recht spärlich. Schreib uns doch, bei welcher Aktion der Fehler genau auftritt (Port kompilieren, slapd starten, ldapsearch, ...). Poste ausserdem deine slapd.conf (ausser Passwörter :eek:).

mousaka
 
Also ich kenn niemanden, der MySQL als OpenLDAP Backend verwenden möchte.
Ich habe mehrere OpenLDAP-Server, mit Replikation und allem möglichen Dideldei - aber MySQL als Backend. Lass es lieber!


Ich hör das immer wieder, aber so wirklich beantworten kann mir die Frage nach dem Grund anscheinend keiner!

Die Motivation ist folgende: Habe hier zwei Allroundserver für etwa 50 User stehen, die LDAP, IMAP, SMTP usw. machen. Die replizieren sich mit drbd, was in der Vergangenheit mehr oder weniger regelmäßig in die Hosen ging.

Die neuen Maschinen sollen ebenfalls redundant laufen, wobei IP-abhängige Services über heartbeat/carp und Application X (noch keine Ahnung wie ich Dienste am besten überwachen könnte) überwacht und aktiviert werden. (virtuelle IP wird dem aktiven zugeordnet. Daher möchte ich dbmail und ldap über MySQL laufen lassen, damit ich den ganzen summs mit master/slave replication, file-locks usw. vermeiden kann!

PS: Die Mysql-DB läuft mit einem master-master cluster, um die Redundanz zu gewährleisten.

Wie gesagt, wenn mir einer eine simplere und bessere Vorgehensweise sagen kann?
 
Last edited:
Öhm, so richtig verstanden habe ich nicht, was du da treibst.
Aber die Fähigkeiten von OpenLDAP zur Replikation sind denen von MySQL deutlich überlegen.
Master-Master kann MySQL ohnehin nicht out-of-the-box, insbesondere nicht, wenn Konsistenzen wichtig sind (was IMHO immer der Fall ist, aber das ist philosophisch...)

Überwachung machst du am besten mit Nagios, der kann Probleme handhaben und Applikationen zwischen verschiedenen Rechnern switchen.

Meine Frage wäre:
Was genau speicherst Du denn im LDAP und weshalb ist eine Master-Slave-Replikation nicht ausreichend?

So long...

Der Indy
 
Aber die Fähigkeiten von OpenLDAP zur Replikation sind denen von MySQL deutlich überlegen.

Inwiefern?

Master-Master kann MySQL ohnehin nicht out-of-the-box, insbesondere nicht, wenn Konsistenzen wichtig sind (was IMHO immer der Fall ist, aber das ist philosophisch...)

Habe mich hieran gehalten: http://www.howtoforge.com/mysql_master_master_replication

Inkonsistenzen halte ich für ausgeschlossen, die Datenbanken würden ja mit einer, wenn auch minimalen, schreiben.

Überwachung machst du am besten mit Nagios, der kann Probleme handhaben und Applikationen zwischen verschiedenen Rechnern switchen.

Applikationen? Wie soll das denn gehen? Wenn der imapd runterkracht, soll dann der andere imapd mit derselben IP anspringen, während der Rest bei der ersten Maschine bleibt? Port-based ip-adress? :)

Meine Frage wäre:
Was genau speicherst Du denn im LDAP und weshalb ist eine Master-Slave-Replikation nicht ausreichend?


Naja was werde ich speichern, samba-user (pdc und remote-shares), mail-user usw. Master-Slave deshalb nicht, weil wozu? MySQL Replication kann ich zwischen zwei Maschinen simpel durch MySQL lösen. Und wozu soll ich mich mit Master-Slave rumschlagen?

Weshalb nicht ausreichend: Weil ich für den Fall des switches wieder eine read-only datenbank auf dem zweiten Rechner habe! Genau das haben wir ja jetzt. ein zig tausend Euro fail-over-super-solution, die inkonsistente Datenbanken hinterlässt und beim Ausfall nicht mehr admnistriert werden kann. Tolle Wurst.
 
> Weil ich für den Fall des switches wieder eine read-only datenbank auf dem zweiten
> Rechner habe! Genau das haben wir ja jetzt. ein zig tausend Euro fail-over-super-
> solution, die inkonsistente Datenbanken hinterlässt

Wenn Du eine Master-Slave-Replikation mit OpenLDAP aufsetzt und den LDAP das Replizieren überlässt, wirst du keine read-only-Situation haben.
Bei OpenLDAP kannst Du auch auf den Slave schreiben, der Master wird aktualisiert.
Das steht alles auf den Seiten zu OpenLDAP beschrieben.

Insofern braucht man keinerlei MySQL, die MySQL Replikation ist ohnehin Schrott.
Zu Fehleranfällig gegenüber dem Netzwerk, zu problematisch beim Handling von Inkonsistenzen.

So long...

Der Indy
 
Hm, ja, im Hinblick auf den ganzen Ärger beim Setup bin ich auch auf den Trichter gekommen, daß sich wegen der paar Millsekunden Verzögerung die MySQL Lösung nicht ganz lohnt.

Was aber MySQL angeht, das brauche ich auf jeden Fall wegen Mail. Wie sonst soll ich die Replikation zwischen den beiden Maschinen machen? drbd gibts ja leider für BSD nicht, jedenfalls kenne ich keinerlei Alternative, die mir ähnliches bieten würde :(
 
Imapsync geht z.B., oder man repliziert auf Dateisystemebene.
Mails in Datenbanken zu speichern ist i.d.R. ineffizient.

So long...

Der Indy
 
Imapsync geht z.B., oder man repliziert auf Dateisystemebene.

Gerne. Und wie?

drbd fällt aus weil is nich.

vrrbd oder wie der Apparat heisst erinnert mich irgendwie an eine Sekte. "vrrbd ist supertoll, das kann alles und Du wirst sehr glücklich damit werden". Nur was es genau macht weiss Jesus, ich kanns nicht erkennen :)

gmirror wird land auf land ab diskutiert, scheint aber auch nicht sonderlich gut anzukommen.

imapsync ist kein ha-tool.

Hab ich schon mal erwähnt, daß mir die failover-Funktionalität wichtig ist? ;)
 
Wenn Du Wert auf HA legst, dann investiere in ein Blade Center, ein SAN und nimm VMware ESX. Damit machen wir solche Sachen.

Alles andere, insbesondere Speichern in Datenbanken, wird Frickelei.

Beste Grüße

Der Indy
 
Back
Top