Durch die zunehmende Verwendung virtualisierter Server stellt sich häufiger die Frage, was beim Einsatz von CONZEPT 16-Hot-Standby (HSB) in diesen Umgebungen zu beachten ist.
Das betrifft sowohl den Fall wenn beide Datenbankserver in virtuellen Maschinen (VMs) laufen als auch die Kombination von VM und physikalischem Server.
Direktverbindung
Im Regelfall ist eine VM nicht direkt mit dem physikalischen Netzwerkadapter verbunden sondern verwendet einen “Virtual Network Switch”. An diesen virtuellen Switch können auf der einen Seite mehrere VMs und auf der anderen Seite auch mehrere physikalische Netzwerkadapter angeschlossen werden. Allerdings kann dadurch der Link-Status eines physikalischen Anschlusses nicht an die VMs weitergegeben werden, der Ausfall des Mastersystems wird daher über einen Timeout festgestellt (Standardwert ist 60 Sekunden).
Für HSB sollte am besten eine eigener virtueller Switch verwendet werden, über den nicht der normale LAN-Verkehr läuft. Durch den Anschluss von mehreren Adaptern an den virtuellen Switch kann außerdem eine Redundanz der HSB-Verbindung erreicht werden.
Alternativ ist zwar auch der direkte Anschluss eines Netzwerkadapters an eine VM realisierbar (beispielsweise mit vmware DirectPath I/O), dadurch wird die Flexibilität der VM aber erheblich eingeschränkt und ist daher nicht empfehlenswert.
Single-Host-Systeme
Der Betrieb von HSB in zwei VMs auf einem gemeinsamen Host bringt nur eine geringe Verbesserung der Verfügbarkeit, da beim Hardwaredefekt des Hosts natürlich beide VMs ausfallen – ein solches Szenario ist allenfalls zu Testzwecken sinnvoll.
Shared Storage
Die Verwendung eines gemeinsamen Storage-Systems für Master- und Standby-Datenbank ist möglich, bei Ausfall des SANs ist dann jedoch keine Datenbank mehr verfügbar. Entweder sollte daher das SAN über eine entsprechend hohe Ausfallsicherheit verfügen (redundante Netzteile, Controller und Hostanbindung) oder die Datenbank des Standby-Servers wird auf lokalem Speicher des Hosts abgelegt.
Anhalten (Suspend)
Beim Anhalten einer VM muss vorher unbedingt der Datenbankserver gestoppt werden. Dies erfolgt am besten über ein Skript, welches vor dem Suspend in der VM ausgeführt wird. Analog kann beim Wiederanfahren der VM der Datenbankserver auch wieder automatisch gestartet werden. Das Stoppen des Datenbankserver verhindert zum einen nicht abgeschlossene Datenbanken und vor allem die Gefahr eines Master-Master-Betriebs, der beispielsweise durch ein kurzzeitiges Anhalten der Master-VM enstehen könnte.
Verschieben (Move)
Bei aktuellen Virtualisierungsplattformen beträgt die effektive Unterbrechungszeit beim Verschieben einer VM deutlich unter einer Sekunde. Von daher können sowohl das Primär- als auch das Sekundärsystem im laufenden Betrieb problemlos verschoben werden, ohne das es zu Verbindungsabbrüchen mit Client oder zwischen den Servern kommt.
2 Antworten
@Kilian
Bei einem Master-Master-Szenario würde die Primär- als auch die Sekundär-Datenbank im Master-Betrieb geöffnet sein. In diesem Fall könnten sich CONZEPT 16-Clients an beiden Datenbanken anmelden.
Was ist denn unter "Master-Master-Betrieb" zu verstehen?