Load Balancing mit DNS Round Robin und Bind

von Christopher Korn | 0 | 15701 Aufrufe

Anzeige Hier werben

Bei großen Projekten oder in Unternehmen ist die oftmahls Auslastung der einzelnen Server ein Problem. Große Zugriffszahlen und Ressourcen hungrige Applikationen treiben die Last oftmals in gefährliche Bereiche. Zwar kann man durch neuere Hardware oder der Aufrüstung der bestehenden Infrastruktur gegensteuern, doch wird dies schnell sehr teuer.

Eine Alternative zur ständigen Aufrüstung der Server ist die Einführung eines DNS Round Robin Verfahrens. Dieses ermöglicht die Nutzung von mehreren, kleineren (und daher oftmals kostengünstigeren), Servern. Der DNS Service Bind verteilt hierbei alle Anfragen für einen Hostnamen gleichmäßig auf diese Server.

Konfiguration

Die Einrichtung von Load Balancing mit Bind ist sehr simpel. Es reicht hierbei meist, statt nur einer IP Adresse mehrere für einen Host zu hinterlegen.

Beispiel Zonenkonfiguration für FTP  
Text
1
2
3
4
ftp   IN  A   10.0.0.10
ftp   IN  A   10.0.0.11
ftp   IN  A   10.0.0.12
ftp   IN  A   10.0.0.13

Bei der Einführung eines solchen Verfahrens ist allerdings darauf zu Achten, dass alle angeboten Services von allen angegeben Servern vollständig zur Verfügung gestellt werden können (Beispiel: Alle Daten sind auf allen FTP Servern). Dies erfordert unter Umständen eine zusätzliche Änderung der bestehenden IT Infrastruktur (z.B. NAS).

E-Mail

Neben der weiter obenen beschriebenen Möglichkeit mehrere IP Adressen für ein und den selben Hostnamen zu hinterlegen, ist es für E-Mailserver ebenfalls möglich mehrere MX Einträge mit der selben Priorität zu hinterlegen. Auch in diesem Fall kümmert sich Bind um die korrekte Lastverteilung.

Beispiel Zonenkonfiguration für Mail  
Text
1
2
3
4
5
6
7
IN  MX  10  mail01.webmasterpro.de.
IN  MX  10  mail02.webmasterpro.de.
IN  MX  10  mail03.webmasterpro.de.

mail01   IN  A   10.0.1.100
mail02   IN  A   10.0.1.101
mail03   IN  A   10.0.1.102

Verteilungsreihenfolge

Über die Option rrset-order [Reihenfolge; Reihenfolge; ...] kann sehr fein gesteuert werden, in welcher Reihenfolge BIND diese Round Robin Anweisungen abarbeitet. Wobei Reihenfolge hierbei die folgenden Angaben zulässt: [class klassen_name ][ type typ_name ][ name "domain_name"] order sortierungsart;

Als Werte für order sind fixed (Reihenfolge wie in der Zonendatei), random (Zufällig) und cyclic (Round Robin Art) erlaubt.

Beispiele

Simple rrset-order Anweisung  
Text
1
rrset-order {order cyclic;};
Erweiterte rrset-order Anweisung  
Text
1
rrset-order {type MX order fixed name "webmasterpro.de"; order cyclic};
Über den Autor: Christopher Korn
Christopher Korn arbeitet seit mehr als 4 Jahren für die Landeshauptstadt München im Bereich Software Administration und IT Service Management.
Profilseite betrachten