Wenn Sie die Load-Balancer-Funktion für hohe Verfügbarkeit verwenden, kann eine Partnermaschine den Lastausgleich übernehmen, falls der primäre Partner ausfällt oder heruntergefahren wird. Für die Aufrechterhaltung der Verbindungen zwischen den Partnern mit hoher Verfügbarkeit werden zwischen den beiden Maschinen Verbindungssätze übergeben. Wenn der Ausweichpartner die Lastausgleichsfunktion übernimmt, wird die Cluster-IP-Adresse von der Ausweichmaschine entfernt und zur neuen primären Maschine hinzugefügt. Diese Übernahmeoperation kann durch diverse Aspekte der Ablaufsteuerung und der Konfiguration beeinflusst werden.
Die folgenden Tipps sind hilfreich für eine erfolgreiche Konfiguration der hohen Verfügbarkeit auf Ihren Load-Balancer-Maschinen.
dscontrol highavailability heartbeat add ... dscontrol highavailability backup add ... dscontrol highavailability reach add ...
In den meisten Fällen müssen Sie die Definitionen für hohe Verfügbarkeit an das Ende der Datei stellen. Die Anweisungen cluster, port und server müssen vor den highavailability-Anweisungen stehen. Dies ist notwendig, weil die hohe Verfügbarkeit nach den Cluster-, Port- und Serverdefinitionen sucht, wenn bei der Synchronisation ein Verbindungssatz empfangen wird.
Sind Cluster, Port und Server nicht vorhanden, wird der Verbindungssatz gelöscht. Wenn eine Übernahme stattfinden soll und der Verbindungssatz nicht auf der Partnermaschine repliziert wurde, scheitert die Verbindung.
Eine Ausnahme von dieser Regel bilden verknüpfte Server, die mit der Weiterleitungsmethode MAC konfiguriert sind. Bei diesen Servern müssen die highavailability-Anweisungen vor den Anweisungen für verknüpfte Server stehen. Falls die highavailability-Anweisungen nicht vor den Anweisungen für verknüpfte Server stehen, kann Load Balancer eine Anforderung an den verknüpften Server empfangen, interpretiert diese jedoch wie eine ankommende Anforderung für den Cluster und unterzieht sie dem Lastausgleich. Auf diese Weise können die Pakete in einer Schleife im Netz gesendet werden und unnötigen Datenverkehr verursachen. Wenn die highavailability-Anweisungen vor dem verknüpften Server angegeben sind, weiß Load Balancer, dass ankommender Datenverkehr nur weitergeleitet werden muss, wenn er den Status AKTIV hat.
Korrigieren Sie dieses Verhalten, indem Sie zum goActive-Script eine sleep-Verzögerung hinzufügen. Die jeweilige Verzögerungszeit ist von der Implementierung abhängig. Beginnen Sie zunächst mit einer Verzögerungszeit von 10.
dscontrol executor set hatimeout <value>
Alte Verbindungen dürfen daher nicht längere Zeit im Speicher verbleiben. Probleme hat es insbesondere mit LDAP-Ports und großen staletimeout-Zeiträumen (länger als ein Tag) gegeben. Wird ein großer staletimeout-Zeitraum festgelegt, bleiben alte Verbindungen im Speicher. Dies hat zur Folge, dass bei der Synchronisation mehr Verbindungssätze übergeben werden und die Speicherauslastung auf beiden Maschinen steigt.
e xm 33 5 neues_ZeitlimitDieser Befehl wird nicht gespeichert, wenn Sie die Konfigurationsdatei speichern. Falls Sie diese Einstellung weiter verwenden möchten, müssen Sie sie nach jedem Systemabschluss manuell zur Konfigurationsdatei hinzufügen.
Das Zeitlimit wird in halben Sekunden gespeichert. Der Standardwert für neues_Zeitlimit liegt daher bei 100 (50 Sekunden).