Ratgeber Hyper-V

So sichern Sie Daten von virtuellen Servern

13.04.2011 von Thomas Joos
Stellt man virtuelle Server über Hyper-V mit Windows Server 2008 beziehungsweise Windows Server 2008 R2 zur Verfügung, sollte man sein Konzept zur Datensicherung überarbeiten.

Wer virtuelle Server in Bezug auf Datensicherung genau wie physische Server behandelt, sollte sein Vorgehen überdenken. Zwar lassen sich virtuelle Server vergleichsweise einfach sichern, die prinzipielle Vorgehensweise ist jedoch eine andere als bei physischen Servern. Wer beispielsweise auf den physischen Hyper-V-Hosts virtuelle Server über herkömmliche Backup-Clients anbindet, muss mit I/O-Problemen rechnen. Darüber hinaus kann eine solche Sicherung, abgesehen von der fehlenden Effizienz, auch Stabilität und Leistung der Server negativ beeinflussen. So sichern Lösungen, die Hyper-V unterstützen, Server auf der Ebene des Hypervisors. Diese können dann auch, um ein Beispiel herauszugreifen, automatisiert Snapshots von virtuellen Servern erstellen und sichern.

Daten sichern mit dem Volume Shadow Copy Service

Hyper-V unterstützt in Bezug auf virtuelle Maschinen den VSS (Volume Shadow Copy Service). Sie sollten jedoch auf jeden Fall darauf achten, VSS auf dem Server entsprechend zu konfigurieren und den VSS-Writer, über den die Shadow Copies erstellt werden, für Hyper-V zu aktivieren. Dies können Sie entweder über eine Änderung in der Registry oder die Installation eines Hotfixes erreichen. Sie sollten auf jeden Fall darauf achten, dass VSS die VHD-Dateien der virtuellen Server auf dem Host konsistent im Bereich der Schattenkopien des physischen Servers sichert. So können Sie Backups von Hyper-V-Servern erstellen, ohne dass Sie die Sicherung innerhalb der virtuellen Maschine starten müssen oder Host und physische Server unnötig belasten.

Voraussetzungen und Fallstricke

Zur Sicherung über VSS müssen auf den Servern die Hyper-V-Integrationsdienste installiert sein. Ohne diese Dienste speichert Hyper-V die Maschine zur Sicherung in den Saved-State. Das bedeutet, die Anwender werden von den Servern getrennt. Mit installierten Hyper-V-Integrationsdiensten läuft die Servermaschine weiter; dazu muss dazu aber mindestens Windows Server 2003, besser Windows Server 2008 oder Windows Server 2008 R2, installiert sein.

Maschinen, die VSS nicht unterstützen, also auch alle Windows-Versionen vor Windows Server 2003, speichert Hyper-V zur Sicherung ebenfalls ab. Zwar lassen sich Server auch ohne den erwähnten Fix oder die manuelle Änderung der Registry sichern, allerdings identifiziert dann die Sicherung Hyper-V nicht korrekt und bereitet unter Umständen Probleme bei einer eventuellen Wiederherstellung.

Ein Problem könnte in diesem Fall zum Beispiel für Datenbanken entstehen, deren Konsistenz bei solchen Sicherungen gefährdet ist. Lesen Sie sich dazu auch den TechNet-Artikel zur Sicherung von Hyper-V-Servern sowie den entsprechenden MSDN-Eintrag durch. Achten Sie darauf, dass die Backup-Anwendung Hyper-V und VSS unterstützen muss, um eine optimale Sicherungsstrategie zu erreichen, wenn Sie auf ein anderes Backupprogramm setzen als das Windows-eigene. Ein Beispiel hierfür ist Symantec Backup Exec, das über den Sicherungsagenten auf dem Hyper-V-Server auch die einzelnen virtuellen Server sichern kann. Die Sicherung der virtuellen Server enthält anschließend die VHD-Dateien und die Konfigurationsdateien des Servers.

Sicherung der Daten

Ablage: In den Hyper-V-Einstellungen legen Sie den Speicherort der Konfigurationsdateien und VHD-Dateien fest.

Dazu können Sie mit der Software die Daten auf Band oder auf anderen Festplatten oder auf Freigaben (Backup-To-Disk) sichern. Standardmäßig speichert der Assistent zum Erstellen neuer virtueller Computer die Daten des Computers im Datenverzeichnis von Hyper-V auf der Systempartition. Hierbei handelt es sich standardmäßig um das Verzeichnis C:\ProgramData\Microsoft\Windows\Hyper-V.

Sie können dieses Verzeichnis im Hyper-V-Manager über den Menüpunkt Hyper-V-Einstellungen anpassen. Hier nehmen Sie darüber hinaus weitere Einstellungen vor, die für Hyper-V selbst und alle virtuellen Computer gemeinsam gelten. Eine regelmäßige Sicherung dieser Daten kann bei eventuellen Problemen helfen, da Sie auf diesem Weg Ihre virtuellen Server wiederherstellen können, nicht nur die Daten auf den VHD-Dateien.

Unterstützung: Backup Exec 2010 kann auch virtuelle Server sichern.

Auf diese Weise lassen sich Server schnell und leicht wiederherstellen. Herkömmliche Backup-Agenten, die virtuelle Server wie physische Server behandeln, sind nicht in der Lage, die VHD-Dateien und die Konfigurationsdateien so zu sichern, dass Hyper-V das konsistent unterstützt.

Symantec stellt eine Testversion von Symantec Backup Exec 2010 zur Verfügung. Sie können mit der Software 60 Tage sichern. Neben Symantec Backup Exec kann auch der Microsoft Data Protection Manager (DPM) 2010 virtuelle Server sichern; erst ist speziell für Hyper-V optimiert. DPM 2010 kann zum Beispiel die neuen Cluster Shared Volumes (CSV) sichern, die Hyper-V R2 für die Live-Migration von virtuellen Computern zwischen Cluster-Knoten benötigt.

Die Microsoft-Sicherungslösung kann auch Daten von virtuellen Computern sichern, die zur Live-Migration vorgesehen sind. Darüber hinaus ist die Wiederherstellung einzelner Daten innerhalb von virtuellen Festplatten (VHD) möglich. Virtuelle Computer lassen sich nicht nur auf der ursprünglichen Host-Maschine wiederherstellen, sondern auf jedem anderen Hyper-V-Host in der Infrastruktur.

Erstellen und Verwalten von Snapshots von virtuellen Servern

Eine wichtige Funktion in Hyper-V ist die Möglichkeit, Snapshots von virtuellen Computern zu erstellen, also Schnappschüsse der aktuellen Konfiguration und der Daten. Diese Sicherung findet im Hyper-V-Manager statt. Bei einem solchen Snapshot erstellt Hyper-V eine Sicherung des aktuellen Zustands des Betriebssystems. Dieser Zustand lässt sich jederzeit wiederherstellen. Snapshots sind zum Beispiel vor der Installation von Patches oder Servicepacks sinnvoll. Sie können für jeden virtuellen Computer maximal 50 Snapshots erstellen.

Ordnung muss sein: Verwalten der Snapshots von virtuellen Servern

Snapshots erstellen Sie über das Kontextmenü des virtuellen Computers. Der Computer bleibt dabei gestartet, und Anwender können mit dem Server weiterarbeiten. Die erstellten Snapshots zeigt der Hyper-V-Manager im mittleren Bereich der Konsole an. Auch für die einzelnen Schnappschüsse steht ein Kontextmenü zur Verfügung, über das Sie diese steuern. Setzen Sie eine Hyper-V-kompatible Datensicherung ein, kann diese ebenfalls automatisiert einen solchen Snapshot erstellen und dessen Daten sichern.

Einstellungen: Hierüber rufen Sie die Einstellungen des virtuellen Computers auf, zu dem dieser Snapshot gehört.

Arbeiten mit Snapshots

Hyper-V speichert die Snapshots in dem Verzeichnis, das Sie in den Einstellungen des virtuellen Computers im Bereich Speicherort für Snapshot-Dateien angeben. Standardmäßig handelt es sich um das Verzeichnis C:\ProgramData\Microsoft\Windows\Hyper-V\Snapshots.

Nach der Erstellung eines Snapshots finden Sie in diesem Verzeichnis mehrere Dateien, darunter eine XML-Datei für jeden Snapshot. Rufen Sie den Befehl Zurücksetzen im Kontextmenü des virtuellen Computers auf, wendet Hyper-V den letzten erstellten Snapshot an und setzt den Computer auf diesen Stand zurück. Achten Sie beim Zurückspielen von Snapshots auf virtuellen Domänencontrollern darauf, dass das Active Directory beim Verwenden von Snapshots sehr empfindlich ist, da Daten verloren gehen können.

Grundsätzlich speichert ein Snapshot den aktuellen Zustand des Computers. Standardmäßig besteht ein virtueller Computer aus einer VHD-Datei (seiner Festplatte), einer XML-Datei, welche die Einstellungen des Servers enthält, sowie aus den Statusdateien mit den Endungen *.bin und *.vsv.

Wenn Sie einen Snapshot anfertigen, erstellt der Hyper-V-Manager zunächst eine neue virtuelle Platte, eine *.avhd-Datei oder auch Differencing Disk. Eine solche Datei verwendet als Basis die herkömmliche VHD-Datei, welche die eigentlichen Daten des Servers enthält. Der Snapshot schreibt nur Änderungen in diese AVHD-Datei. Künftig verweist dann die XML-Datei des virtuellen Servers auf die *.avhd-Datei, welche die Änderungen seit dem Snapshot enthält. Setzen Sie den Snapshot zurück, benötigt Hyper-V die AVHD-Datei nicht mehr und verwendet wieder die originale VHD-Datei. Sie sehen den Verweis zur AVHD-Datei auch in der XML-Konfigurationsdatei der virtuellen Maschine.

Haben Sie zum Beispiel drei Snapshots erstellt und wollen den Computer zurücksetzen, indem Sie den Zustand nach dem zweiten Snapshot wiederherstellen, müssen Sie zunächst einen weiteren Schnappschuss erstellen. Machen Sie dass nicht, gehen alle Snapshots verloren, die Sie nach dem zweiten Snapshot erstellt haben. Dieser neue Snapshot zeigt auf den ersten Schnappschuss, den Sie erstellt haben.

Als Administrator müssen Sie dazu keine Aktion durchführen, diese Aufgabe übernimmt Hyper-V. Dazu erstellt der Server beim Anwenden eines Snapshots zunächst eine Kopie der Dateien des Snapshots und wendet diese Kopien an. So stellt Hyper-V sicher, dass der Server nach dem Zurücksetzen den ausgewählten Zustand hat, aber alle verfügbaren Snapshots weiterhin funktionieren.

Exportieren und Importieren von virtuellen Computern

Eine weitere Möglichkeit der Sicherung in Hyper-V ist die Möglichkeit, virtuelle Computer auf einem Server zu exportieren und auf einem anderen Server wieder zu importieren. Dabei besteht die Möglichkeit, den kompletten virtuellen Computer mit Snapshots, Konfigurationsdateien und VHD-Datei in ein Verzeichnis zu kopieren. Sie starten diesen Vorgang über das Kontextmenü des virtuellen Servers. Diese Möglichkeit steht aber nur dann zur Verfügung, wenn der virtuelle Server nicht gestartet ist.

Bei gestarteten Servern steht der Befehl zum Exportieren nicht im Kontextmenü zur Verfügung. Wenn Sie den Export starten, wählen Sie zunächst ein Exportverzeichnis aus. Daraufhin erstellt der Assistent automatisch ein neues Verzeichnis mit dem Namen des virtuellen Computers. Dieses Verzeichnis enthält die VHD-Datei,die Snapshots und die Einstellungen des virtuellen Computers.

Ausgabe: Exportieren von virtuellen Servern in Hyper-V

Die Größe der Exportdateien entspricht jedoch exakt der Größe der Quelldateien, Hyper-V führt keine Komprimierung durch. Das bedeutet dass Sie beim Exportieren von mehreren Servern entsprechend Speicherplatz bereitstellen müssen. Außerdem dauert der Export entsprechend lange, je nach Größe der VHD-Datei. Sie müssen bei virtuellen Servern teilweise mit über 30 Minuten Exportzeit rechnen.

Ein solcher Exportvorgang eines virtuellen Servers beeinträchtigt unter Umständen auch alle anderen virtuellen Server. Da der Assistent eine Kopie des Servers, vor allem der VHD-Datei, erstellt, ist die Festplatte des Hosts deutlich mehr belastet als im Standardbetrieb. Das Hyper-V-Blog stellt ein PowerShell-Skript und eine Anleitung, wie Sie solche Exportvorgänge vollständig über Skripte automatisieren können, zur Verfügung. Zwar ist ein solcher Export nicht als Ersatz für ein echtes Backup geeignet, bietet aber eine zusätzliche Sicherheit.

Wollen Sie auf einem anderen Server einen virtuellen Computer wieder importieren, wählen Sie den Menüpunkt Virtuellen Computer importieren aus und verwenden das Verzeichnis mit den Dateien des virtuellen Computers. Anschließend liest Hyper-V die notwendigen Daten in den Zielserver ein.

Sie können einen solchen Export auch auf eine Netzwerkfreigabe durchführen. Allerdings müssen Sie in diesem Fall die Berechtigungen dieser Freigabe beachten. Hyper-V führt den Exportvorgang nicht mit dem Benutzerkonto aus, mit dem Sie am Server angemeldet sind, sondern mit dem Hyper-V-Systemkonto. Hat das Konto nicht genügend Berechtigungen, erhalten Sie eine Fehlermeldung mit der Nummer 0x80070005. In diesem Fall können Sie einfach die NTFS-Berechtigungen der Freigabe anpassen und dem Computerkonto des Hyper-V-Hosts Schreibrechte auf der Freigabe erteilen. Sie müssen dazu die NTFS-Rechte und die Freigaberechte anpassen. (mje)

Dieser Artikel basiert auf einem Beitrag der CW-Schwesterpublikation TecChannel.