Show TOC

HintergrundPolling-Konzept Dieses Dokument in der Navigationsstruktur finden

 

Motivation

Die meisten Softwarelösungen für Hochverfügbarkeit können nicht so konfiguriert werden, dass nach einem Failover sowohl Enqueue-Server als auch Replikationsserver umziehen. Dieses Problem löst die SAP-Software durch Starten von Replikationsservern auf vielen Rechnern und periodisches Nachfragen bei der HA-Software (polling), welcher Failover-Host gerade aktuell ist.

Weitere Informationen:

Konzept

Der Enqueue-Server wird durch die HA-Software kontrolliert. Durch entsprechende Konfiguration der HA-Software können Sie eine Gruppe von Rechnern festlegen, auf denen der Enqueue-Server nach einem Failover wieder hochgefahren werden kann. Dies sind dann die möglichen Failover-Hosts. Das System muss so konfiguriert sein, dass der Replikationsserver auf jedem Rechner dieser Gruppe gestartet wird.

Verhalten im laufenden Betrieb

Auf jedem möglichen Failover-Host läuft ein Replikationsserver. Jeder Replikationsserver pollt regelmäßig die HA-Software und prüft so, ob er auf dem derzeit aktuellen Failover-Rechner läuft. Dies ist der Rechner, auf dem der Enqueue-Server nach einem Failover wieder gestartet werden soll. Der Replikationsserver, der auf diesem Rechner läuft, aktiviert sich (Zustand active) und startet die Replikation, die anderen Replikationsserver tun nichts (Zustand inactive). Alle Replikationsserver fragen regelmäßig bei der HA-Software nach, ob sich der Failover-Rechner geändert hat (was jederzeit passieren kann). Bei einer Änderung deaktiviert sich der aktive Replikationsserver (schließt die Verbindung zum Enqueue-Server und löscht die Replikationstabelle), der bislang inaktive Replikationsserver auf dem aktuellen Failover-Rechner wird aktiv (verbindet sich mit dem Enqueue-Server und baut eine Replikationstabelle auf) .

Verhalten beim Failover

Tritt der Failover-Fall ein, wechseln alle Replikationsserver in einen hold-Zustand. Für die inaktiven Server ändert sich dadurch nichts, der aktive Server bricht die Verbindung zum Enqueue-Server ab, behält aber die Replikationstabelle. Die HA-Software muss den hold-Zustand solange halten, bis der neu gestartete Enqueue-Server die Replikationstabelle gelesen und eine neue Sperrtabelle aufgebaut hat.

Achtung Achtung

Setzt die HA-Software den hold-Status zu früh zurück, kann es passieren, dass der Replikationsserver die Replikationstabelle löscht, bevor der Enqueue-Server sich mit ihm verbunden hat. Dann sind die Enqueue-Daten nach dem Failover verloren!

Ende der Warnung.

Aus diesem Grund muss die HA-Software regelmäßig den Status des Enqueue-Servers abfragen. Der Enqueue-Server akzeptiert keinen Verbindungsaufbau, bevor er die Initialisierung abgeschlossen und die Replikationstabelle gelesen hat. Hierzu kann das Überwachungsprogramm ensmon verwendet werden.

Implementierung

Das Polling kann über Funktionen einer DLL realisiert werden, die Ihr HA-Softwarepartner zur Verfügung stellt. Der Parameter enque/enrep/ha_dll muss dann entsprechend gesetzt werden.

Für den Microsoft Cluster Server unter Windows liefert SAP eine eigene DLL mit aus (ensrepntha.dll).

Auf UNIX-Plattformen können Sie den Profilparameter enque/enrep/hafunc_implementation = script.

setzen. Dann wird das Polling über ein Shell-Skript realisiert und dessen Returncode ausgewertet wie folgt.

0: Replikationsserver läuft auf dem aktiven Failover Host (Zustand active)

1 - 4: Failover findet gerade statt (Zustand hold)

Sonst: Replikationsserver läuft nicht auf dem aktiven Failover Host (Zustand inactive)