1.4.2. Direktes Routing
Das Einrichten einer Load Balancer Add-On Konfiguration, die direktes Routing verwendet, bietet den Vorteil einer höheren Leistung im Vergleich zu anderen Netzwerktopologien für das Load Balancer Add-On. Direktes Routing ermöglicht den realen Servern, Pakete direkt zu verarbeiten und an einen anfragenden Benutzer zu routen, anstatt alle ausgehende Pakete durch den LVS-Router zu leiten. Direktes Routing vermindert die Wahrscheinlichkeit von Problemen bei der Netzwerkleistung, indem es den Job des LVS-Routers nur auf das Verarbeiten von eingehenden Paketen beschränkt.
Abbildung 1.4. Load Balancer Add-On implementiert mit direktem Routing
In einer typischen Load Balancer Add-On Konfiguration mit direktem Routing empfängt ein eingehender Server Anfragen über die virtuelle IP (VIP) und verwendet einen Scheduling-Algorithmus, um die Anfragen an die realen Server zu routen. Der reale Server verarbeitet die Anfrage und sendet die Antwort direkt an den Client und umgeht so die LVS-Router. Direktes Routing ermöglicht Skalierbarkeit, sodass reale Server hinzugefügt werden können, ohne dass der LVS-Router zusätzlich damit belastet wird, ausgehende Pakete vom realen Server zum Client zu routen, was bei hoher Netzwerkauslastung zu einem Engpass führen kann.
1.4.2.1. Direktes Routing und die ARP-Einschränkung
Auch wenn es bei der Verwendung von direktem Routing im Load Balancer Add-On viele Vorteile gibt, so existieren doch einige Einschränkungen. Das häufigste Problem mit direktem Routing im Load Balancer Add-On tritt beim Address Resolution Protocol (ARP) auf.
In typischen Situationen sendet ein Client aus dem Internet eine Anfrage an eine IP-Adresse. Netzwerk-Router senden Anfragen normalerweise an ihr Ziel, indem sie IP-Adressen mittels ARP mit einer MAC-Adresse eines Rechners in Beziehung bringen. ARP-Anfragen werden an alle im Netzwerk verbundenen Rechner verbreitet und der Rechner mit der korrekten IP-/MAC-Adresskombination erhält das Paket. Die IP-/MAC-Verbindungen werden in einem ARP-Cache gespeichert, welcher regelmäßig gelöscht (normalerweise alle 15 Minuten) und neu mit IP-/MAC-Verbindungen gefüllt wird.
Das Problem mit ARP-Anfragen in einer Load Balancer Add-On Konfiguration mit direktem Routing ist, dass aufgrund der Tatsache, dass eine Client-Anfrage an eine IP-Adresse mit einer MAC-Adresse verknüpft werden muss, damit diese Anfrage bearbeitet werden kann, die virtuelle IP-Adresse des Load Balancer Add-On Systems ebenfalls mit einer MAC verknüpft sein muss. Da aber sowohl der LVS-Router als auch die realen Server alle dieselbe VIP besitzen, wird die ARP-Anfrage an alle mit dem VIP verknüpften Rechner verbreitet. Dies kann zu einigen Problemen führen, z. B. dass die VIP direkt mit einem der realen Server verknüpft wird und Anfragen direkt weiterleitet und dabei den LVS-Router komplett umgeht, was dem Zweck der Load Balancer Add-On Konfiguration zuwider läuft.
Um dieses Problem zu lösen, vergewissern Sie sich, dass die eingehenden Anfragen immer an den LVS-Router gesendet werden statt an einen der realen Server. Sie erreichen dies, indem Sie entweder das Paketfilterungstool
arptables_jf
oder iptables
verwenden, denn:
arptables_jf
hindert ARP an der Verknüpfung von VIPs mit realen Servern.- Die
iptables
-Methode umgeht das ARP-Problem, indem VIPs gar nicht erst auf realen Servern konfiguriert werden.
Weitere Informationen über die Verwendung von
arptables
oder iptables
in einer Load Balancer Add-On Umgebung mit direktem Routing finden Sie in Abschnitt 3.2.1, »Direktes Routing und arptables_jf
« oder Abschnitt 3.2.2, »Direktes Routing und iptables
«.