Verzeichnisdienste: OpenLDAP 2.6 als Loadbalancer nutzen

OpenLDAP 2.6 vereinfacht das Einrichten eines Multiprovider-Clusters. Mit dem Modul lloadd bringt sie einen protokollbasierten Loadbalancer mit.

Artikel verschenken
In Pocket speichern vorlesen Druckansicht 3 Kommentare lesen
Lesezeit: 17 Min.
Von
  • Stefan Kania
Inhaltsverzeichnis

Immer wenn mehrere OpenLDAP-Server als Multiprovider eingerichtet sind oder mehrere Consumer denselben Datenbestand bereitstellen, kommt die Frage auf: Wie kann ich dafür sorgen, dass die LDAP-Server gleichmäßig genutzt werden? Wenn man die Zugriffe der Clients über Round-Robin-DNS verteilt, ist eine genaue Lastverteilung aufgrund der vorgegebenen Anzahl der Verbindungen nicht möglich. Daher fällt die Wahl häufig auf einen Loadbalancer. Nicht jeder möchte dafür eigene Hardware verwenden, gerade wenn die nur für LDAP benötigt wird.

OpenLDAP bietet seit der Version 2.5 über das Modul lloadd die Option des Loadbalancing, das aber erst in OpenLDAP 2.6 die sogenannten sticky Sessions (coherency) beherrscht. Damit lässt sich eine Clientverbindung dauerhaft oder über einen gewissen Zeitraum an einen bestimmten LDAP-Server weiterleiten. Ohne diese Funktion kann es passieren, dass jede Anfrage eines Clients immer an einen anderen LDAP-Server geleitet wird. An dieser Stelle muss dann die Entscheidung gefällt werden: Soll das LTS-Release 2.5 oder die aktuelle Version 2.6 zum Einsatz kommen? Um die volle Loadbalancing-Funktion zeigen zu können, setzt dieser Artikel auf Letztere. Da derzeit keine Linux-Distribution aktuelle OpenLDAP-Pakete bereitstellt, kommen in diesem Artikel die Pakete der Firma Symas zum Einsatz, die kostenfrei für verschiedene Distributionen zum Download bereitstehen.

Mehr zu Servern und Einrichtung
Stefan Kania

Stefan Kania ist ausgebildeter Informatiker und seit 1997 freiberuflich als Consultant und Trainer tätig. Seine Schwerpunkte liegen in der Implementierung von Samba und LDAP sowie in Schulungen zu beiden Themen.

Das Modul lloadd ist bewusst für den Einsatz mit OpenLDAP geplant und kennt die Eigenschaften des LDAP-Protokolls. Dadurch lassen sich LDAP-Lasten pro Operation und nicht pro Verbindung ausgleichen. lloadd verteilt die Last auf eine Reihe von OpenLDAP-Servern. Clients verbinden sich mit dem Loadbalancer, der die Anfrage an einen der Server weiterleitet und die Antwort an den Client zurückschickt. Für Letzteren wirkt es so, als würde er direkt mit dem LDAP-Server kommunizieren.