Oracle Failover Cluster – Teil 1
Oracle Fail Safe (OFS) bietet mithilfe des Windows Server Failover Clustering eine wirklich einfach zu implementierende Failover Absicherung der Datenbank in der Windows Domäne. Innerhalb kurzer Zeit hat man ein funktionierendes Failover Cluster aufgebaut, Datenbanken eingebunden und das ganze getestet – Erfolgreich. Dazu braucht es auch keine wundersamen Kräfte, nur ein möglichst Raid-gesichertes NAS oder SAN, mit dem genügend Cluster Storage zur Verfügung gestellt werden kann. Auf diesem liegen dann die Datenbanken.
Natürlich bietet OFS nicht die umfangreichen Funktionen wie ein Oracle RAC, zu nennen wäre da in jedem Fall der „Transparent Application Failover“. Dafür ist es aber einfach zu handhaben und schon ab der Standard Edition One nutzbar. Microsoft hingegen setzt für den Einsatz seines Failover Clustering Features mindestens Windows Server 2008 R2 Enterprise oder Datacenter voraus. Mit Windows Server 2012 gibt es auch diese Beschränkung nicht mehr, das Feature kann in allen Editionen verwendet werden. Also auch hier keine unüberwindbaren Hürden. Oracle Fail Safe wird im Übrigen als „core feature included with every Oracle Database 12c licence for Windows 2008 R2 and Windows 2012“ auf Oracle.com angepriesen, somit ist klar, dass hier erstmal keine weiteren Lizenzen anfallen. Zudem ist die neueste Version OFS 4.1 auch mit Oracle 11g Release 2 kompatibel.
Testumgebung
Die meiste Geduld braucht es dann wohl erstmal für die Installation. Für eine funktionierende Testumgebung brauchen wir nicht nur Windows Server 2008 R2 Enterprise und am besten sämtliche Updates, sondern auch passende Oracle Datenbank-Software, in unserem Fall 11.2.0.4 und natürlich Oracle Fail Safe 4.1. Das alles auf mindestens zwei Servern und möglichst identisch. Zunächst müssen wir unser Netzwerk konfigurieren und beide Server in die Domäne einbinden. Eine ausgeschaltete Firewall erleichtert uns die Arbeit. Oracle Fail Safe nutzt entgegen früherer Versionen die Microsoft Management Konsole (MMC), so dass man parallel Windows Failover Cluster Manager und Oracle Fail Safe Manager in einer MMC verwalten kann. Mindestvoraussetzung laut OFS Dokumentation ist Net Framework 3.5, aufgrund von diversen Fehlermeldungen sollte man aber besser gleich auf Version 4.5 updaten. D.h. zunächst wird Net Framework 3.5 über den Server Manager als Feature hinzugefügt und dann werden unsere zwei Windows Server mit den aktuellsten Updates, vor allem in Bezug auf Net Framework ausgestattet. Bevor wir mit dem Oracle Teil anfangen sollten wir die Windows-Cluster-Konfiguration angehen und vollständig stehen haben. Dazu benötigen wir auf beiden Seiten noch ein entscheidendes Feature nämlich Failover Clustering. Also am besten wieder über den Server Manager, Features hinzufügen und Failoverclustering zu deutsch Failover-Clusterunterstützung installieren. Dazu noch das entsprechende Tool, ganz logisch versteckt unter Remote Server Administration > Feature Administration Tools > Failover Clustering Tools und Multipath I/O bzw. im Deutschen Multipath E/A.
Windows Failover Cluster
Bis jetzt haben wir also zwei taufrische Windows Server, mit aktuellen Updates, idealerweise schon in die Domäne eingebunden und beide können schließlich auch miteinander kommunizieren. Für unser Cluster benötigen wir mindestens ein weiteres getrenntes Netzwerk für den Cluster-Heartbeat, das heißt beide Server müssen über mindestens zwei Netzwerkkarten verfügen. Will man zusätzlich den Storage-Traffic vom allgemeinen Netzwerk trennen braucht es eine dritte Netzwerkkarte. Grundsätzlich reichen aber erstmal Netzwerk und interner Cluster-Heartbeat. In unserem Fall stellen wir über ein NAS-System genau zwei iSCSI LUNs mit jeweils einer zugehörigen Target IQN zur Verfügung. Wir brauchen für die Verwaltung des Clusters eine sogenannte Quorum Disk (1 Gigabyte reichen hierfür vollkommen aus) und natürlich eine Cluster Disk auf der später unsere gesamte Datenbank inklusive Datafiles, Fast Recovery Area, Diagnostic Repository und Auditing liegen soll. Hier muss man also eine Wette auf die Zukunft eingehen und abschätzen wie groß die Datenbank einmal wird. Wobei sich die Cluster Disks nachträglich vergrößern lassen sollten sofern physischer Platz vorhanden ist. Zu guter Letzt sollte man bei der Konfiguration darauf achten, dass die Targets mehrere Sitzungen von einem oder mehreren iSCSI-Initiatoren zulassen, andernfalls scheitert das Cluster an dieser Stelle.
Nun geht es also zurück auf den ersten Windows Server auf dem wir in der Verwaltung einen Service namens iSCSI-Initiator finden. Dank wunderschöner Übersetzung aus dem Englischen gibt es unter dem Reiter „Suche“ den Button „Portal ermitteln…“. Hier tragen wir unseren NAS Server ein und erhalten nach einer Aktualisierung unter dem Reiter „Ziele“ unsere erstellten Target IQNs. Jetzt verbinden wir beide. Um die Disks sichtbar zu machen, müssen wir in die Datenträgerverwaltung. Beiden Disks wird ein Master Boot Record verpasst und sie werden formatiert. Danach sollten beide nutzbar sein. Auf dem zweiten Server sollten die Disks nach dem ‚Online‘ bringen in der Datenträgerverwaltung ebenfalls fertig formatiert erscheinen. Ich empfehle Ihnen, sich an dieser Stelle mit den Konfigurationsmöglichkeiten, Stichwort Multipath, die eine Einbindung Ihrer Storage-Umgebung bietet, auseinander zu setzen. Das Thema würde diesen Blog aber sicherlich sprengen.
Damit geht es zum Failover Cluster Manager (zu deutsch Failoverclusterverwaltung), der wieder unter Verwaltung zu finden ist, sofern wir das Failoverclustering Feature zuvor erfolgreich installiert haben. Zunächst sollten wir unser zukünftiges Cluster überprüfen: Dazu unter Verwaltung „Konfiguration überprüfen…“ auswählen und anschließend unsere beiden Server angeben. Ich empfehle den gesamten Test vorher durchlaufen zu lassen. Dieser benötigt zwar ein paar Minuten mehr Zeit, dafür prüft er wirklich die gesamte Konfiguration ab und gibt anschließend auch eine hilfreiche Übersicht, sollte es Schwachstellen oder Probleme in der zukünftigen Konfiguration geben. Ist die Überprüfung erfolgreich abgeschlossen, können wir unseren „Cluster erstellen…“. Der Schrittweise Assistent ist meiner Meinung nach selbsterklärend. An dieser Stelle wird die Überprüfung nochmals vorgenommen, hier sollten jetzt aber keine Warnungen mehr aufschlagen. Oder nur solche, die wir zuvor schon überprüft und für verschmerzbar erachtet haben. Für die Erstellung unseres Clusters müssen wir dann lediglich einen Namen vergeben, eine freie IP bereithalten und die Daumen drücken. Wenn bis hier hin alles erfolgreich abgeschlossen ist steht unser Windows Cluster auch schon. Wir könnten jetzt unseren Cluster weiter verwalten und weitere Dienste und Anwendungen konfigurieren, aber stattdessen legen wir jetzt alles bei Seite und kümmern uns um den Oracle Teil im nächsten Blog-Abschnitt Oracle Failover Cluster – Teil 2.