Disaster Recovery für die virtualisierte Infrastruktur

Werbung
ITMAGAZINE
Disaster Recovery für die virtualisierte Infrastruktur
15. Februar 2008 - Weder Double-Take for VMware Infrastructure noch vReplicator haben im Failover-Test
vollständig überzeugt. Die zuverlässige, schnelle und leistungsfähige Wiederherstellung nach einem Totalausfall kann für virtualisierte
Umgebungen ebenso unternehmenskritisch sein wie für herkömmliche physikalische. Die Hersteller Double-Take
und Vizioncore haben entsprechende Lösungen für VMware Virtual Infrastructure 3 parat.
Disaster Recovery mit Hindernissen
Die Virtualisierungslösung VMware Virtual Infrastructure 3 (VI3) auf Basis des ESX Server 3 erfreut sich in
Unternehmen unterschiedlichster Grössenordnungen zunehmender Beliebtheit. Was jedoch bisher noch fehlte,
war eine einfache Lösung, um einen zuverlässigen, preiswerten und effizienten Disaster-Recovery-Mechanismus
für die virtuellen Maschinen zu realisieren. SAN-basierte Lösungen, die zu diesem Zweck in grösseren Unternehmen zum Einsatz kommen, sind zwar sehr
leistungsfähig, dabei jedoch häufig kostspielig oder komplex in der Bedienung.
Replikation ohne SAN
Abhilfe versprechen die softwarebasierten Replikationswerkzeuge «Double-Take for VMware Infrastructure»
(DTVI) und «vReplicator». Diese Tools kopieren die Inhalte der virtuellen Festplatten sowie die benötigten
Konfigura-tionsparameter über das LAN von einem ESX Server auf einen zweiten. SAN-Speicher ist hierfür nicht
erforderlich. Damit die replizierten Virtuellen Maschinen (VM) stets auf dem Stand der Produktivsysteme sind, nutzen die
Tools die Fähigkeit von VI3 zur Erzeugung von Snapshots im laufenden Betrieb. Die Snapshots werden
automatisch in konfigurierbaren Intervallen auf den Reserve-ESX-Server übertragen und anschliessend mit den
dort vorhandenen Daten verschmolzen. Da die Replikation nicht in Echtzeit geschieht, muss im Katastrophenfall bei beiden Lösungen mit einem
Datenverlust gerechnet werden, dessen Umfang vom Replikationsintervall abhängt. Dafür lässt sich die
Replikation jedoch über nahezu beliebige Distanzen durchführen, solange ausreichend Bandbreite zur Verfügung
steht.
Double-Take for VMware Infrastructure
Vor der Installation der Double-Take-Lösung waren auf den beiden ESX-Systemen vorbereitende Tätigkeiten
notwendig, die im erfreulich kurz gefassten und gut lesbaren Handbuch beschrieben sind. So mussten wir die
Secure-Shell-Konfiguration (SSH) der beiden ESX-Server so ändern, dass Remote-Login mit Root-Rechten
möglich wurde. Zudem mussten wir die Firewall-Konfiguration anpassen, um SSH-Client-Verbindungen
zuzulassen.
Anschliessend installierten wir die Client- und die Serverkomponente von Double-Take for VMware Infrastructure
auf einem Windows-2003-Server, was innerhalb weniger Minuten erledigt war. Mit der übersichtlichen, klar
gegliederten und über Assistenten bedienbaren Oberfläche kamen wir sofort und intuitiv zurecht und begannen
damit, Replikationsjobs für die virtuellen Maschinen einzurichten. Mit Hilfe einer übersichtlich gestalteten
Monitor-Ansicht behält der Systemverwalter den Überblick über alle eingerichteten Jobs, kann deren Status
erkennen und bei Bedarf eingreifen. Obwohl beide ESX-Server per Gigabit-Ethernet miteinander verbunden waren, nahm die erste Übertragung von
zwei insgesamt 16 GByte grossen virtuellen Maschinen (VM) mit je einer Oracle- und einer
Microsoft-SQL-Server-Datenbank gut eine Stunde in Anspruch. Dabei blieb die optionale Datenkompression
deaktiviert, wodurch sich die CPU-Auslastung der ESX-Server in Grenzen hielt. Verzögerungsfreies Arbeiten mit
den VMs war so auch während des Replikationsvorgangs möglich.
Die nach Abschluss der Replikation durchgeführten Umschaltversuche über die Failover-Funktion von
Double-Take verliefen zunächst ebenfalls erfolgreich. Die Software bietet zwei Failover-Varianten an: Zum einen
den «Test Failover», bei dem die VM auf dem Reserve-ESX-Server ohne Netzwerkanbindung gestartet wird,
während die Original-VM weiterläuft. Diese Variante eignet sich dazu, festzustellen, ob die Replikation
erfolgreich war und sich die replizierte Maschine überhaupt starten lässt.
Zum anderen gibt es den «Live Failover», bei dem die Original-VM zunächst heruntergefahren wird und
Double-Take dann die replizierte VM startet. Sofern kein Fehler vorliegt, kann der Systemverwalter sogar
angeben, ob ein gegebenenfalls noch offener Replikationszyklus noch zu Ende geführt werden soll oder nicht.
Wurde ein Live Failover erfolgreich durchgeführt und die replizierte VM erfolgreich gestartet, kann der
Systemverwalter zu jedem beliebigen Zeitpunkt auf «Reverse Protection» klicken, um die Replikation
umzukehren und den Urzustand wiederherzustellen.
Probleme in der Praxis
Um einen Fehlerfall zu simulieren, setzten wir die virtuellen Maschinen anschliessend unter Last, indem wir per
Skript bei beiden virtualisierten Datenbanksystemen in schneller Folge Tabelleneinträge hinzufügten.
Anschliessend warteten wir, bis DTVI die Replikation startete und etwa 25 Prozent des zu replizierenden
Datenvolumens übertragen hatte. Zu diesem Zeitpunkt schalteten wir den primären ESX-Server einfach ab,
warteten ein paar Minuten und klickten dann in der DTVI-Oberfläche auf «Live Failover» – aber nichts passierte.
Als auch nach zunächst einer Stunde und einer Nacht des Wartens noch immer keinerlei Reaktion erfolgte,
brachen wir die Replikationsjobs ab und versuchten, die replizierten VMs auf dem Reservesystem von Hand zu
starten.
Dies wurde vom ESX-Server zunächst mit einer Fehlermeldung und dem Hinweis auf eine defekte vmdk-Datei
quittiert. Nach dem Löschen des Redo-Logs liessen sich die VMs zwar starten, aber die NTFS-Dateisysteme der
VMs waren in Mitleidenschaft gezogen. Wir konnten sie zwar mit Hilfe des chkdsk-Kommandos reparieren und
auch auf die Datenbanken zugreifen, jedoch wirkte dieser Test nicht gerade vertrauenserweckend. Hinzu kam,
dass wir das Problem beliebig oft nachstellen konnten. Es handelt sich hierbei also definitiv um einen Bug. Der
eilends hinzugezogene Hersteller-Support bestätigte nach einigem Hin und Her das Fehlerbild und versprach,
dass sich die Entwickler des Problems annehmen würden. Eine Lösung lag bis zur Drucklegung dieses Artikels
allerdings nicht vor.
vReplicator
Die vorbereitenden Tätigkeiten für die Installation des Vizioncore-Produkts unterschieden sich nur geringfügig
von denen bei DTVI. Auch hier war es nötig, Anpassungen an der Secure-Shell- und Firewall-Konfiguration des
ESX-Servers vorzunehmen. Allerdings waren die entsprechenden Informationen im Handbuch nur mit etwas
Mühe zu finden. Anders als DTVI benötigt vReplicator für den Betrieb zusätzlich eine Datenbank, in der
Konfigurationsinformationen und Logging-Daten abgelegt sind. Sofern im Unternehmen kein
Microsoft-SQL-Server vorhanden ist, installiert vReplicator Microsoft SQL 2005 Express.
Trotz des zusätzlichen Aufwands für die Datenbank nahm die Installation nur wenige Augenblicke in Anspruch.
Über einen Wizard konfigurierten wir unsere beiden ESX-Server und begannen mit der Einrichtung der
Replika-tionsjobs. Dabei fiel auf, dass die Oberfläche des vReplicator einen weniger aufgeräumten und
übersichtlichen Eindruck hinterliess wie der Mitbewerber. Es empfiehlt sich dringend, die Kommentarfelder zu
nutzen, damit man später noch weiss, welche VM von welcher Quelle zu welchem Ziel repliziert wird. Die Initialreplikation ging beim vReplicator allerdings spürbar schneller vonstatten als bei Double-Take. In
unserem Fall dauerte der Vorgang knapp 25 Minuten und war damit fast doppelt so schnell. Ähnlich wie DTVI
bietet auch vReplicator zwei Failover-Modi. Diese werden mit «Test Failover» und «Failover» bezeichnet und
entsprechen in Funktionsweise ihren Pendants bei DTVI. Beide funktionierten im Normalbetrieb, also ohne den
simulierten Ausfall eines ESX-Servers, problemlos. Die Replikationsrichtung lässt sich nach kurzem Deaktivieren
des Replikationsjobs umdrehen, so dass die Ausfallsicherheit nach einem Failover wieder hergestellt werden
kann. Um nach mehrfachem Hin- und Herschalten und bei mehreren VMs den Überblick nicht zu verlieren, muss
der Systemverwalter allerdings genau hinsehen und eventuell mit VMware Virtual Center gegenprüfen, welche
VM denn nun wo läuft und wie die Replikation konfiguriert ist.
Ausfalltest ebenfalls problematisch
Abschliessend führten wir auch mit dem vReplicator noch den Ausfalltest durch, an dem DTVI gescheitert war.
Überraschenderweise hatte auch das Vizioncore-Produkt ein Problem damit, wenn der primäre ESX-Server
während eines Update-Replikationsdurchlaufs einfach ausgeschaltet wurde. Ein Klick auf den Failover-Button
zeigte nämlich keinerlei Wirkung. Allerdings waren wir in der Lage, die replizierten virtuellen Maschinen von
Hand zu starten, indem wir auf dem Ersatz-ESX-Server die Dateien mit der Endung *.DO-NOT-POWER-ON nach
*.vmx umbenannt und die Rechte an der vmx-Datei mit dem Unix-Kommando chmod u=rwx,g=rx,o=rx *.vmx
neu gesetzt hatten. Die Dateien finden sich auf dem ESX-Server unter /vmfs/volumes/ /. Danach liessen sich
die replizierten VMs problemlos starten. Da wir das Problem selbst recht einfach durch einen Workaround lösen
konnten, verzichteten wir in diesem Fall auf eine Support-Anfrage beim Hersteller.
Fazit: Nicht perfekt
Beide Produkte konnten im Praxistest bei einem simulierten Ausfall nicht überzeugen, da der Failover nicht wie
versprochen funktionierte. Dies führt zu einer deutlichen Abwertung bei den Kriterien Funktionalität und
Bedienung. Bei Double-Take wurde die Situation noch dadurch verschärft, dass eine Datenkorruption nicht
auszuschliessen war. Beim vReplicator liess sich die Situation zwar mit ein paar ma-nuellen Handgriffen retten,
was zu einer insgesamt besseren Bewertung führte, jedoch ist die Vorgehensweise in einer Stresssituation nur erfahrenen Systemverwaltern zuzumuten. Da davon auszugehen ist, dass beide Hersteller ihre Produkte nachbessern werden, sollten Interessenten der an
sich sinnvollen Lösungen auf jeden Fall die jeweils neueste Version nochmals auf Herz und Nieren prüfen.
So wurde getestet
Für den Praxistest haben wir folgende Testumgebung aufgebaut: Der primäre ESX-Server wurde auf einem
Fujitsu-Siemens-Server Primergy RX 300 S2 installiert (2x3,6-Ghz-Xeon, 4 GB RAM). Der zweite ESX-Server lief
auf einem Dell Poweredge 840 mit einer 2,4-GHz-Dual-Core-Xeon-CPU und zwei GByte RAM. Beim ESX-Server
handelte es sich um die Version 3.0.2. Die Replikationssoftware wiederum installierten wir unter Windows 2003
Server auf einem Dell Poweredge 440SC mit einer 2,4-GHz-Dual-Core-Xeon-CPU und 4 GByte RAM. Um die
Replikation zu testen, verwendeten wir zwei virtuelle Maschinen auf Basis von Windows 2003 Server, wobei eine
mit Oracle 10g ins-talliert war und die andere mit dem Microsoft SQL Server 2005. Jede der beiden virtuellen
Maschinen verfügte dabei über eine Plattenkapazität von insgesamt 8 GByte. Zwei Disaster-Recovery-Tools für VMware Virtual Infrastructure 3 im Vergleich
Copyright by Swiss IT Media 2017 
Herunterladen