Backup und Recovery bei virtuellen Maschinen: Herkömmliche Methoden oder spezielle VM-Software?
Backup und Recovery von VM bringen Firmen oft zu einer entscheidenden Frage: Traditionelle Methoden oder Spezial- Software – was ist der richtige Weg?
Die meisten Organisationen arbeiten bei virtuellen Maschinen immer noch mit traditioneller Software für Backup und Recovery. Doch dieses Vorgehen hat seine Nachteile. Dieser Artikel aus dem Storage-Magazin erklärt die besten Methoden für Backups virtueller Maschinen – ob mit herkömmlichen Optionen oder neuer Backup-Software speziell für virtuelle Maschinen.
Bei den meisten IT-Anwendern werden virtuelle Server zunächst gesichert wie zuvor physische. Doch mit einer zunehmenden Zahl an virtuellen Servern kommen traditionelle Backup-Methode schnell an ihre Grenzen. Die Tatsache, dass eine einzelne physische Maschine sehr viele VMs aufnehmen kann, schafft Herausforderungen, dies es beim Backup dedizierter physischer Server schlicht nicht gibt.
Wenn mehrere VMs um Rechen-, Storage- und Netzwerk-Ressourcen konkurrieren, sind Konflikte um diese Ressourcen die größte Herausforderung bei Backups dieser virtuellen Server. Gleichzeitige Backup-Jobs auf mehreren VMs können die Performance der Anwendungen auf diesen VMs ernsthaft beeinträchtigen. Zudem muss man bei den traditionellen Methoden auf spezielle Möglichkeiten verzichten, etwa auf anwendungskonsistente Datensicherung und die Fähigkeit, nicht nur komplette VMs wiederherzustellen, sondern auch einzelne Objekte wie etwa Dateien. Die zunehmende Verbreitung von virtuellen Servern in Rechenzentren sollte für IT-Manager also Anlass genug sein, ihre Backup-Strategie zum effizienten Schutz ihrer VMs und der darauf laufenden Anwendungen zu überdenken.
Backup-Optionen für virtuelle Maschinen
Für die Sicherung von aktuellen Umgebungen mit virtuellen Servern kommen drei Backup-Methoden in Frage:
- Backup-Agenten auf den VMs
- kontinuierliche Datensicherung (CDP)
- Backup von VM-Images auf dem Hypervisor mittels Backup-Proxyserver.
Backup-Agenten auf den VMs. Wenn Backups virtueller Maschinen von Agenten auf jeder VM erledigt werden, entspricht dies einer Übertragung der verbreitetsten Methode bei physischen Servern in den virtuellen Bereich. Dabei bekommt nicht nur jeder physische Server einen Backup-Agenten, sondern jede VM, und die einzelnen Backup-Jobs laufen völlig unabhängig voneinander. Dieser Ansatz funktioniert, solange die Zahl der VM niedrig ist. Mit einer zunehmenden Zahl von VMs pro Hypervisor aber wird Konkurrenz um Ressourcen zu Performance-Problemen führen. Für den Einsatz von Backup-Agenten spricht, dass sich damit bestehende Produkte und Verfahren weiterhin nutzen lassen. Zudem sind Backup-Agenten die einfachste Methode zur Sicherstellung von Anwendungskonsistenz. Vor allem bei Anwendungen, die nicht unter Windows laufen oder keine Integration mit Microsofts Volume Shadow Copy Service (VSS) haben, können sie die einzige Möglichkeit sein, diese Konsistenz zu erreichen.
Kontinuierliche Datensicherung. Einen ersten Fortschritt gegenüber Backup-Agenten für komplette und inkrementelle Backups stellen CDP-Produkte für die einzelnen VMs dar. Sie erfassen Änderung auf kontinuierlicher Basis und belasten so die Host-Maschine deutlich weniger als traditionelle Backups. CDP-Produkte arbeiten entweder auf Datei- oder auf Block-Ebene und bieten meist eine Integration mit verbreiteten Anwendungen, so dass eine Wiederherstellung auf konsistente Punkte in der Vergangenheit möglich ist. Angeboten werden sie zum einen von großen Herstellern von Backup-Anwendungen als Ergänzung zu ihren Suites für Datensicherung. Hinzu kommen CDP-Produkte von einer Reihe kleinerer Häuser wie FalconStor Software Inc., InMage Systems Inc. oder nach der Übernahme von Double-Take Software Vision Solutions.
Backups von VM-Images auf dem Hypervisor mit Backup-Proxyserver. VM-Images auf dem Hypervisor zu sichern, ist aus mehreren Gründen interessant: Es ermöglicht effiziente Backups mit geringem Overhead an Rechenleistung, macht die Installation und Verwaltung von Backup-Agents auf jeder VM verzichtbar und zentralisiert die Backups für alle VMs auf dem Host; dadurch lassen sie sich so koordinieren, dass Performance-Probleme und Konkurrenz um Ressourcen minimiert werden. Um den Hypervisor-Rechner von der Backup-Last zu befreien, werden Snapshots der VMs dazu meist auf einem Backup-Host oder Proxy-Server repliziert oder eingebunden, so dass die Performance durch Backups weniger beeinträchtigt wird.
Backups von VM-Images auf Host-Seite sind allerdings meist nur dann akzeptabel, wenn Backups der VMs in einem konsistenten Zustand möglich sind. Deshalb haben alle größeren Hypervisor-Anbieter die Möglichkeit geschaffen, VMs während der Anfertigung des Images stillzulegen. Eine weitere Herausforderung bei Backups von VM-Images liegt in der Feinheit der Wiederherstellung – nicht alle Backup-Produkte sind in der Lage, statt der gesamten VM auch einzelne Objekte wie Dateien wiederherzustellen. Auch die konsistente Datensicherung für Anwendungen auf den VMs ist bei Image-Backups schwieriger als bei eigenen Backup-Agenten auf jeder VM: Eine anwendungskonsistente Datensicherung ist meist nur bei Anwendungen möglich, die mit VSS integriert sind; andernfalls bleiben meist nur Crash-konsistente Backups. Wenn auf Anwendungskonsistenz nicht verzichtet werden kann, liegt die Lösung also weiter in Backup-Agenten auf den VMs.
Ohne Frage geht der Trend, verstärkt durch die zunehmende Zahl von virtuellen Servern, zu VM-Image-Backups auf Hypervisor-Ebene und zur Auslagerung der Backup-Aufgaben an Proxy-Server. Dabei unterscheiden sich die verwendeten Mechanismen und Funktionen bei den Produkten der einzelnen Anbieter erheblich. Zur Auswahl stehen hier unter anderem XenServer von Citrix Systems Inc., Hyper-V von Microsoft Corp. und VMware vSphere von VMware Inc.
Die vStorage-APIs zur Datensicherung von VMware
Für VMware war Datensicherung lange Zeit eine Schwachstelle, die erst mit vSphere 4 behoben wurde. Vorher gab es für die Auslagerung von Backups vom Hypervisor auf Proxy-Server das Produkt VMware Consolidated Backup (VCB), das aber aufgrund einiger gravierender Schwächen wenig Verbreitung fand. Mit VCB konnten Snapshots von Virtual Machine Disks (VMDK) angefertigt und vollständig auf einen Proxy-Server kopiert werden, auf dem dann die eigentlichen Backups erfolgten. Die Verschiebung auf den Proxy-Server minimierte zwar die Belastung der VMs, erforderte aber zusätzlichen Speicherplatz für die Snapshots.
„VCB war schwerfällig. Das größte Problem war die Bestimmung der richtigen Größe für den Proxy-Server, auf den all die Snapshots kopiert werden mussten“, erklärt Lauren Whitehouse, leitende Analystin bei der Enterprise Strategy Group (ESG) aus dem US-Bundesstaat Massachusetts.
Der verbesserte Nachfolger von VCB sind die vStorage APIs for Data Protection (VADP) für vSphere 4. Damit ist es nicht mehr nötig, Daten auf einen Proxy-Server zu kopieren. Stattdessen können die Snapshots in einen Proxy-Server eingebunden werden, über den dann Backups auf Festplatten oder Speicherbänder erstellt werden. Während mit VCB unabhängig vom Umfang der Änderungen nur vollständige Snapshots einer VMDK möglich waren, erlaubt VADP mittels der Funktion Changed Block Tracking jetzt effizientere Snapshots: CBT registriert Änderungen von VMDKs auf Block-Ebene, so dass Snapshots nur von diesen vorgenommen werden können.
Um bei VSS-fähigen Anwendungen auf virtuellen Maschinen auch anwendungskonsistente Snapshots zu ermöglichen, wurde vSphere 4 vollständig mit VSS integriert. Damit die Vorteile von VSS wirklich genutzt werden können, müssen zur Kommunikation von vSphere mit VSS auf den VMs allerdings die VMware Tools installiert sein.
Für das Backup einer VM über VADP wird an vSphere der Befehl „stilllegen“ geschickt, damit die VM Daten im Arbeitsspeicher auf die Festplatte schreibt und keine neuen Schreibvorgänge mehr zulässt. Wenn die VMware Tools installiert sind, können sie dieses Kommando an VSS-fähige Anwendungen auf der VM weitergeben, so dass auch diese eingefroren werden. Erst dann wird der Snapshot genommen. Nach dessen Fertigstellung wird der Stille-Zustand der VM und der VSS-fähigen Anwendungen wieder aufgehoben. Zuletzt wird der Snapshot in den Backup-Proxy eingebunden und von dort aus auf Festplatte oder Magnetbändern gespeichert.
Für VADP gibt es breite Unterstützung durch Backup-Anwendungen von Drittherstellern. Neben großen Backup-Anbietern wie Arkeia Software, CA, CommVault Systems Inc., EMC Corp., IBM, Quest Software Inc./BakBone Software Inc. oder Symantec Corp. zählen dazu auch kleinere wie PHD Virtual Technology oder Veeam Software. Zudem gibt es für vSpehre ein firmeneigenes Backup-Werkzeug namens VMware Data Recovery (VDR). Als virtuelle Appliance kümmert es sich um Snapshots und Deduplizierungen auf einer Ziel-Festplatte für Backups und ist eher als Low-end-Produkt positioniert.
Hyper-V und VSS von Microsoft
Dank VSS hat Microsoft Datensicherung für Hyper-V von Anfang an gut unterstützt. In vielerlei Hinsicht verläuft ein Backup-Zyklus mit VADP ganz ähnlich wie unter Hyper-V: Eine Backup-Anwendung sendet über VSS ein Still-Kommando an VMs unter Hyper-V, damit die Arbeitsspeicher-Daten auf der Festplatte gespeichert werden; dann nimmt VSS einen Snapshot und hebt die Stilllegung wieder auf. Ähnlich wie bei VADP kann der Snapshot repliziert oder einem dedizierten Proxy-Server für Backups zugewiesen werden. Die Stilllegung lässt sich auf VSS-fähige Anwendungen auf den VMs erweitern, wofür dort allerdings der so genannte Backup Integration Service installiert sein muss – wieder wie bei VADP, das in solchen Fällen die VMware Tools erfordert.
VSS besteht aus mehreren Hauptkomponenten: VSS-fähige Anwendungen müssen einen so genannten VSS-Writer enthalten, der unterschiedliche Komponenten so koordiniert, dass konsistente Schattenkopien eines oder mehrerer Volumes entstehen. Anwendungen wie die für Backups wiederum müssen einen VSS-Requestor implementieren, der Schattenkopien von Volumes anfordert. Die wichtigste Komponente aber ist der VSS-Provider, der die Schattenkopien (also Snapshots) anfertigt und pflegt. In den neuesten Windows-Betriebssystemen sind VSS-Provider bereits enthalten, doch Anbieter von Software und Storage-Hardware können auch eigene zur Verfügung stellen. Dabei ermöglichen Arrays aus Hardware-basierten VSS-Providern in Hyper-V-Umgebungen hochperformante und gut skalierbare Backups. Während also VMware erst Changed Block Tracking einführen musste, um effiziente Snapshots möglich zu machen, hängt dies bei VSS vom VSS-Provider ab. So macht der in Microsoft-Betriebssystemen integrierte Provider inkrementelle Snapshots über die Copy-on-Write-Methode: Wenn es eine Änderung beim Original-Volume gibt, wird der zu modifizierende Block gelesen und gespeichert, bevor die Änderung auf die Festplatte geschrieben wird.
Für VM-Backups auf Image-Ebene gibt es für Hyper-V nicht so viele Anwendungen von Drittanbietern wie für VADP. Tivoli Storage Manager (TSM) von IBM und PHD Virtual Backup zum Beispiel unterstützen diese Technologie derzeit nicht. Ähnlich wie VMware bietet auch Microsoft eine eigene Backup-Lösung für Hyper-V-Umgebungen – den System Center Data Protection Manager (DPM). Dieser bietet eine fast-kontinuierliche Datensicherung für virtuelle Maschinen auf Servern unter Hyper-V. Dabei gibt es fortschrittliche Funktionen wie Unterstützung für Disk-to-Disk und Disk-to-Tape, die Möglichkeit zur Wiederherstellung von Objekten unterhalb der VM-Ebene, Schutz von VMs während einer Live-Migration, Integration in das Microsoft System Center und Unterstützung für Cluster- und Standalone-Hyper-V-Systeme. Damit ist DPM im Gegensatz zu VMwares einfachem VDR als hochmodernes Produkt anzusehen.
Backups bei Citrix XenServer
Mit Hilfe der XenAPI (XAPI) können Backup-Anwendungen von Drittanbietern vollständige oder inkrementelle Snapshots von VMs unter CitirixXenServer initiieren. Diese sind meist nur Crash-konsistent und deshalb für die Erlangung einem konsistenten Zustand nach einer Wiederherstellung auf die Anwendungen angewiesen; in etwa entspricht dies dem Wiederanschalten eines Computers nach einem Stromausfall.
Mit XenServer 5.6 hat Citrix als neue Funktion Live-Snapshots vom Arbeitsspeicher eingeführt, mit denen auch der Zustand einer VM beim Anfertigen des Snapshot erfasst wird und eine Wiederherstellung auf einen früheren Zustand möglich ist. Die Funktion nutzt Microsofts VSS, ist also für VSS-fähige VMs mit Microsoft-Betriebssystemen verfügbar, nicht aber für virtuelle Linux-Maschinen.
Neben XenServer-Snapshots ermöglicht XenServer auf unterstützten Arrays auch Snapshots von geteiltem Storage. Solche Array-Snapshots sind die schnellste und am besten skalierbare Methode für die Datensicherung in einer XenServer-Umgebung; sie kommen aber nur in Frage, wenn die verwendete Storage-Infrastruktur von XenServer unterstützt wird.
Wie vSphere und Hyper-V bietet auch Citrix eine eigene Backup-Anwendung für VM-Images, genannt VM Protection and Recovery (VMPR). Eine einfache Version, bei der Funktionen wie Scheduling fehlen, wird bei allen Varianten von XenServer mitgeliefert, gegen Bezahlung gibt es die Vollversion mit Scheduling und Automation. Die Unterstützung von Backup-Anwendungen für XenServer auf Image-Ebene ist weniger breit als bei vSphere oder Hyper-V. Angebote gibt es aber von Arkeia Software, CommVault, PHD Virtual Technologies oder Veeam Software.
VM-Backups: Zusammenfassung
Block-basierte Image-Backups für VMs auf dem Hypervisor-Host, im Idealfall über einen Proxy-Server, werden zur wichtigsten Methode für Backups von virtuellen Servern. Die Hauptgründe dafür sind reifere Backup-APIs für vSphere, Hyper-V und XenServer sowie die zunehmende Nutzung dieser APIs und die Vorteile hinsichtlich Performance und Skalierbarkeit. Die meisten Unternehmen (mehr als 70 Prozent, sagt ESG-Analystin Whitehouse) betreiben mehr als einen Hypervisor sowie eine Mischung aus physischen und virtuellen Servern. Deshalb kommt es bei der Auswahl der passenden Backup-Anwendung für virtuelle Server oft auch darauf an, ob sie mehrere Hypervisoren und auch Backups physischer Server unterstützt.
Über den Autor: Jacob Gsoedl ist freiberuflicher Autor und Manager im Bereich Geschäftssysteme.