Tipps und Tricks zur Virtualisierung

Clevere Tipps zu Microsofts Hyper-V

10.09.2012 von Thomas Joos, Moritz Jäger und Thomas Rieske
Wer seine Systeme per Microsoft Hyper-V virtualisiert, sollte in der Praxis einige Punkte beachten, um den optimalen Betrieb zu gewährleisten. Insbesondere bei der Netzwerkkonfiguration und der Sicherung von virtuellen Servern will die Vorgehensweise bedacht sein. Wir haben hilfreiche Tipps für Sie nachfolgend zusammengefasst.

Die folgenden Tipps widmen sich unterschiedlichsten Themengebieten von der Sicherung über die Netzwerkkonfiguration bis hin zur Migration. Wie Sie die Microsoft-Virtualisierungslösung richtig fürs Netzwerk einrichten, verrät Ihnen der Workshop Virtualisierung in der Praxis: Hyper-V fürs Netzwerk optimal konfigurieren.

Wie Hyper-V eingerichtet und remote verwaltet wird, erläutert der Praxisbeitrag Mit dem kostenlosen Microsoft Hyper-V Server 2008 R2 virtualisieren detailliert. Doch genug der Vorrede, gehen wir gleich in medias res.

Virtuelle MAC-Adressen bei virtuellen Netzwerkkarten

Wichtig sind die Einstellungen für virtuelle MAC-Adressen in den Einstellungen der virtuellen Netzwerkkarten. Hier müssen Sie bezüglich der Live-Migration, beim Betrieb von Hyper-V im Cluster und vor allem im Hinblick auf die Aktivierung des Betriebssystems von virtuellen Servern Einstellungen vornehmen, da Sie ansonsten ständig die Server neu aktivieren müssen.

Außerdem spielen diese Einstellungen auch in NLB-Clustern mit Exchange Server 2010 und auch für SharePoint Server 2010 eine Rolle. Verschieben Sie einen virtuellen Server mit aktivierten dynamischen MAC-Adressen im Cluster auf einen anderen Host durch die Live-Migration, ändert sich dessen MAC-Adresse beim nächsten Start dieser virtuellen Maschine. In einem entsprechenden MSDN-Beitrag finden Sie dazu umfangreiche Informationen.

Bildergalerie:
Hyper-V
Die Hyper-V-Migrationstools unterstützen beim Handling von Servern
Hyper-V
Sie können den Speicherort für die Snapshots selbst festlegen.
Hyper-V
Nach der Installation von Hyper-V finden Sie im Ereignisprotokoll eine neue Ansicht mit den entsprechenden Ereignissen.
Hyper-V
Aktivieren Sie TCP Chimney Offload für Netzwerkkarten.
Hyper-V
Ändern Sie den Synchronisierungs-Server für die Uhrzeit auf Servern.
Hyper-V
Nutzen Sie den Autorisierungs-Manager in Windows Server 2008 R2.

Jeder Hyper-V-Host hat einen eigenen Pool aus dynamischen MAC-Adressen. Welcher das ist, sehen Sie im Hyper-V-Manager über den Manager für virtuelle Netzwerke im Bereich MAC-Adressbereich. Microsoft beschreibt dieses Problem an dieser Stelle noch genauer. Aus diesem Grund ist es empfehlenswert, die statische Zuordnung von MAC-Adressen für virtuelle Server zu aktivieren. Sie finden diese Einstellung im Bereich Netzwerkkarte der einzelnen virtuellen Server im Hyper-V-Manager.

MAC-Adressbereich anpassen

Den MAC-Adressbereich eines Hyper-V-Hosts sehen Sie im Manager für virtuelle Netzwerke bei MAC-Adressbereich. Der Pool wird beim Installieren der Hyper-V-Rolle erstellt. Welche MAC-Adressen im Pool enthalten sind, können Sie auch in der Registry anpassen. Die Einstellungen finden sich im Schlüssel HKLM\Software\Microsoft\Windows NT\CurrentVersion\Virtualization.

Hier finden Sie die Werte MinimumMacAddress und MaximumMacAddress. Wollen Sie Hyper-V-Hosts klonen, sollten Sie das Image zum Klonen vor der Installation der Hyper-V-Rolle installieren. Sie können für virtuelle Server aber auch statische MAC-Adressen aktivieren. Diese Einstellung nehmen Sie im Bereich Netzwerkkarte der einzelnen virtuellen Server im Hyper-V-Manager vor.

Migraton per PowerShell

Microsoft unterstützt Unternehmen, die migrieren wollen, mit den Windows-Server-Migrations-Tools.

Hilfreich: Die Hyper-V-Migrations-Tools unterstützen den Admin beim Handling von Servern.

Mit den Tools können Sie auch virtuelle Server von Windows Server 2008/2008 R2 zu Windows-Server-2008-R2-Ziel-Servern migrieren. Bei den Tools handelt es sich um eine Sammlung verschiedener CMDlets für die PowerShell. Geben Sie auf dem Ziel-Server mit Windows Server 2008 R2 den Befehl

import-module servermanager

ein und anschließend den Befehl

add-windowsfeature migration

um die Tools in Windows Server 2008 R2 zu aktivieren. Durch die Aktivierung ist eine Migration über die PowerShell möglich. Die Tools befinden sich im Verzeichnis C:\Windows\System32\ServerMigrationTools.

Patches auf heruntergefahrenem Server installieren

Auch wenn Sie einen virtuellen Server heruntergefahren haben, können Sie auf ihm Patches installieren. Mit Virtual Machine Servicing Tool 3.0 lassen sich virtuelle Maschinen auch dann mit Patches versorgen, wenn diese ausgeschaltet sind, zum Beispiel nach der Sicherung.

Das Tool kann ausgeschaltete Server, die über den System Center Virtual Machine Manager angebunden sind, an die Windows Server Update Services anbinden und Patches auch offline installieren. Der Download enthält neben dem Tool auch Anleitungen und Hilfen für den Einsatz.

Sicherung und Schattenkopiedienst

Bei der Sicherung von Hyper-V spielt der Schattenkopiedienst eine wichtige Rolle, da die Sicherung auf Schnappschüssen des Servers und der virtuellen Server aufbaut.

Mit aktiviertem Schattenkopiedienst lassen sich Hyper-V-Server sichern, inklusive der laufenden virtuellen Server. Im Microsoft-Knowledge-Base-Artikel lesen Sie, wie Sie die Einstellungen zur Sicherung mit der Windows-Sicherung vornehmen und die Registry des Hosts anpassen.

Weitere Artikel, die sich ausführlich mit dem Thema beschäftigen, sind der Microsoft-Blog im TechNet und des Microsoft Enterprise Support-Teams. Mit diesen Anleitungen können Sie einen Hyper-V-Host direkt mit der Windows-Server-Sicherung sichern. Der Webcast des Virtualisierungsteams von Microsoft zeigt Ihnen ebenfalls interessante Tipps zur Sicherung von Hyper-V.

XML-Dateien mit Einstellungen sichern

Zu jedem virtuellen Server gehört eine XML-Datei mit den Einstellungen der VM. Diese finden Sie entweder im Verzeichnis C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines oder im Unterverzeichnis des virtuellen Servers. Aus diesem Grund ist es für Hyper-V-Hosts sehr empfehlenswert, wenn Sie alle Festplatten sichern lassen, auch die Systemfestplatten.

Snapshots erstellen

Mit Hyper-V lassen sich Snapshots erstellen, auch ohne dass Sie Zusatzanwendungen installieren. Die Snapshots bieten zum Beispiel die Möglichkeit, einen Server vor einer Konfigurationsänderung zu sichern. Sie können für jeden virtuellen Computer in Hyper-V maximal 50 Snapshots erstellen. Den entsprechenden Befehl finden Sie im Kontextmenü der virtuellen Computer im Hyper-V-Manager.

Ablage: Den Speicherort für die Snapshots können Sie selbst festlegen.

Während Sie den Snapshot erstellen, bleibt der Computer online und steht weiterhin den Anwendern zur Verfügung. Die erstellten Snapshots zeigt der Hyper-V-Manager im mittleren Bereich der Konsole an. Hyper-V speichert die Snapshots in dem Verzeichnis, das Sie in den Einstellungen des virtuellen Computers im Bereich Speicherort für Snapshotdateien angeben.

Standardmäßig handelt es sich um das Verzeichnis C:\ProgramData\Microsoft\Windows\Hyper-V\Snapshots.

Wenn Sie den Befehl Zurücksetzen im Kontextmenü des virtuellen Computers aufrufen, wendet Hyper-V den jeweils letzten erstellten Snapshot an und setzt den Computer auf diesen Stand zurück. Snapshots ersetzen allerdings keine Datensicherung, sondern bieten nur eine Rückversicherung vor einer Konfigurationsänderung auf dem Server.

Was bisher geschah: Nach der Installation von Hyper-V finden Sie im Ereignisprotokoll eine neue Ansicht mit den entsprechenden Ereignissen.

Hyper-V-Ereignisse kontrollieren

Es kann sinnvoll sein, nachträglich zu kontrollieren, ob bei der Installation alles wie geplant abgelaufen ist. Nach der Installation von Hyper-V erstellt der Assistent im Ereignisprotokoll des Servers eine neue Ansicht, die nur die Hyper-V-Ereignisse enthält. Sie finden diese Ereignisse über Benutzerdefinierte Ansichten/Serverrollen/Hyper-V.

TCP Chimney Offload aktivieren

Windows Server 2008 R2 unterstützt TCP Chimney Offload. Bei dieser Technik lassen sich Berechnungen für den Netzwerkverkehr vom Prozessor zu den Netzwerkkarten delegieren, was die Leistung des Rechners für Anwendungen und im Netzwerk erheblich beschleunigen kann.

Rechnungsdelegation: Aktivieren Sie TCP Chimney Offload für Netzwerkkarten.

Damit diese Technik optimal arbeitet, müssen Sie sicherstellen, dass Hyper-V-Host und die einzelnen virtuellen Maschinen für TCP Chimney Offload konfiguriert sind. Geben Sie auf dem Hyper-V-Host und den virtuellen Servern den Befehl

netsh int tcp set global chimney=enabled

ein. Um die Funktion zu deaktivieren, verwenden Sie den Befehl

netsh int tcp set global chimney=disabled

Um sich generell die Einstellungen anzeigen zu lassen, geben Sie

netsh int tcp show global

ein.

In der Befehlszeile sehen Sie über

netstat -t

ob es funktioniert. Rufen Sie im Gerätemanager der virtuellen Server und des Hosts die Eigenschaften der Netzwerkkarte auf, für die Sie die Funktion aktivieren wollen. Wechseln Sie auf die Registerkarte Erweitert und suchen Sie nach der Funktion TCP-Prüfsummenabladung. Stellen Sie sicher, dass Rx & Tx-aktiviert eingestellt ist.

Zeitsynchronisierung anpassen

Es empfiehlt sich, die Zeitsynchronisierung der virtuellen Server anzupassen. Rufen Sie die Einstellungen auf und klicken Sie auf Integrationsdienste. Hier können Sie bestimmen, ob sich die virtuellen Server mit dem Host synchronisieren sollen.

Auf Kurs: Ändern Sie den Synchronisierungsserver für die Uhrzeit auf Servern.

Den Host lassen Sie am besten mit einer Atomuhr im Internet oder einer Funkuhr synchronisieren. Wenn Sie auf die Uhr im Info-Bereich der Taskleiste klicken, zeigt Windows den Kalender und eine Uhr an. Erst wenn Sie auf den Link Datum- und Uhrzeiteinstellungen ändern gehen, können Sie die Uhrzeit und das Datum von Windows ändern.

Auf der Registerkarte Internetzeit bei der Konfiguration des Datums und der Uhrzeit können Sie über die Schaltfläche Einstellungen ändern erkennen, dass Windows seine Zeit vom Server time.windows.com erhält. Dieser Server steht allerdings nicht immer zuverlässig zur Verfügung. Sie können an dieser Stelle auch den Server ptbtime1.ptb.de der Physikalisch-Technischen Bundesanstalt Braunschweig eintragen. Wenn Sie auf die Schaltfläche Jetzt aktualisieren klicken, können Sie testen, ob der Verbindungsaufbau funktioniert. Das Ganze funktioniert übrigens auch in Windows 8 Server.

Nachträglich Treiber installieren

Um nachträglich Treiber auf einem Core-Server oder Hyper-V Server 2008 R2 zu installieren, muss der entsprechende Treiber entpackt vorliegen. Mit dem Befehl

Pnputil -i -a <*.inf-Datei>

installieren Sie den Treiber auf dem System. Um sich eine Liste aller Treiber anzuzeigen, verwenden Sie den Befehl

Sc query type= driver

Sie müssen ein Leerzeichen hinter dem Gleichheitszeichen tippen. Um einen bestimmten Treiber vom System zu entfernen, geben Sie den Befehl

Sc delete <Treiber>

ein.

Protokolle deaktivieren

Setzen Sie bei Hyper-V-Clustern in den Einstellungen der Netzwerkverbindung die Option NetBIOS über TCP/IP deaktivieren, da NetBIOS die interne Kommunikation eines Clusters stören kann.

Außerdem können Sie den E/A-Treiber für Verbindungsschicht-Topologieerkennung deaktivieren. Das Protokoll dient nur der Anzeige des Servers in Überwachungs-Tools, zum Beispiel der Netzwerkübersicht in Windows 7. In einem Cluster-Netzwerk benötigen Sie das Protokoll nicht; das gilt auch für Antwort für Verbindungsschicht-Topologieerkennung.

Das Protokoll Microsoft virtueller Netzwerkswitch lässt sich ebenfalls deaktivieren. In sehr großen Umgebungen können Sie noch weiter gehen und die Kommunikation mit dem CSV (gemeinsamer Datenträger) und dem Heartbeat ebenfalls durch dedizierte Adapter voneinander trennen. Für CSV und Heartbeat verwenden Sie die gleichen Protokolle.

Tools fürs Netzwerk

Mit dem kostenlosen Tool NVSPBIND können Sie die einzelnen Bindungen für Netzwerkprotokolle auf den Netzwerkkarten der Hyper-V-Server verwalten. Das ist vor allem für Core-Server sinnvoll. Mit dem Tool NVScrub lassen sich alle Hyper-V Netzwerke und Verbindungen löschen. Vor allem beim Betrieb von Hyper-V auf Core-Servern ist das Tool hilfreich, wenn der Hyper-V-Manager nicht zur Verfügung steht. Folgende Optionen bietet nvspscrub:

• /? -- Zeigt die Hilfe an

• /v -- Löscht deaktivierte virtuelle Netzwerke

• /p -- Löscht Einstellungen der virtuellen Netzwerke

• /n -- Löscht ein spezielles Netzwerk

Rechte delegieren

Hyper-V bietet die Möglichkeit, auf Basis der Windows-Gruppenzugehörigkeit oder des Benutzernamens bestimmte Rechte an Administratoren zu delegieren.

Delegation: Nutzen Sie den Autorisierungsmanager in Windows Server 2008 R2.

Dies ist zum Beispiel sinnvoll, wenn nicht jeder Administrator alle Rechte an einem Server haben soll. Um diese Rechte zu delegieren, verwenden Sie den Autorisierungsmanager von Windows Server 2008 R2.

Diesen starten Sie am schnellsten, indem Sie den Befehl azman.msc in das Suchfeld des Startmenüs eintippen. Alternativ können Sie den Autorisierungsmanager auch als Snap-In in einer MMC öffnen.

Netzwerkverwaltung von Hyper-V

Microsoft stellt ein sehr ausführliches Whitepaper zur Verfügung, über das Sie die Netzwerkverwaltung von Hyper-V verstehen lernen. In diesem Whitepaper finden Sie auch ausführliche Erläuterungen und Grafiken zu den verschiedenen Netzwerken.

Konfiguration von SCVMM überprüfen

Wer im Netzwerk System Center Virtual Machine Manager in den Editionen 2008 oder 2008 R2 einsetzt, sollte einen Blick auf den kostenlosen System Center Virtual Machine Manager 2008, 2008 R2 und 2008 R2 SP1 Configuration Analyzer riskieren. Mit dem Tool überprüfen Sie die Konfiguration und die Installation von SCVMM im Netzwerk.

Cluster verwalten

Das Befehlszeilenprogramm cluster.exe ermöglicht die Verwaltung von Clustern in der Eingabeaufforderung oder über Skripts. Eine ausführliche Hilfe über die Optionen erhalten Sie mit dem Befehl

cluster /?

Bei Microsoft bekommen Sie Informationen zu den Möglichkeiten der PowerShell in Windows Server 2008 R2.

Damit Sie Failover-Cluster in der PowerShell verwalten können, müssen Sie das Modul für Failovercluster in der PowerShell laden. Geben Sie dazu den Befehl

import-module failoverclusters

ein.

Windows-Firewall konfigurieren

In den erweiterten Eigenschaften der Windows-Firewall sollten Sie auf der Registerkarte Erweitert die Firewall für das private Clusternetz und für das Netzwerk zum Datenspeicher deaktivieren.

Dynamic Memory einrichten

Eine wesentliche Neuerung in Hyper-V bringt die Installation des Service Pack 1 für Windows Server 2008 R2 mit sich. In diesem Service Pack integriert Microsoft unter anderem die neue Dynamic-Memory (DM)-Funktion für die Ressourcenzuteilung virtueller Server. Sie können für virtuelle Computer einen Minimalwert und einen maximalen Wert für den Arbeitsspeicher zuteilen. Zusätzlich lässt sich der Server noch gewichten, sodass Hyper-V entscheiden kann, welcher Server welche Menge an Arbeitsspeicher erhält.

Bildergalerie:
Dynamic Memory
Zuteilen des Arbeitsspeichers zu virtuellen Computern vor der Installation von SP1.
Dynamic Memory
Dynamisches Zuteilen des Arbeitsspeichers mit Dynamic Memory.
Dynamic Memory
Einlegen des Datenträgers für die Integrationsdienste.
Dynamic Memory
Starten der Aktualisierung der Integrationsdienste.
Dynamic Memory
Integration des dynamischen Arbeitsspeichers in der virtuellen Maschine,

Sie finden diese Einstellungen über das Kontextmenü von virtuellen Computern im Hyper-V-Manager, wenn Sie Einstellungen und dann Arbeitsspeicher aufrufen. Verbinden Sie sich zur Aktualisierung der Integrationsdienste mit der virtuellen Maschine und wählen Aktionen\Installationsdatenträger für Integrationsdienste einlegen. Nach der Aktualisierung der Gastsysteme finden Sie den neuen Eintrag Virtueller dynamischer Arbeitsspeicher unterhalb der Systemgeräte, wenn Sie den Gerätemanager des Gastservers aufrufen. Erst dann kann der virtuelle Computer Dynamic Memory nutzen.

Neu: Herausfinden, ob Windows in einem virtuellen System läuft

Wer auf einem entfernten System Fehlerdiagnose betreibt, tut gut daran zu ermitteln, ob es sich um eine Windows-Installation in einer virtuellen Umgebung handelt oder nicht. Per Kommandozeile und WMIC ist einfach machbar.

Mit Hilfe der Kommandozeile kann man relativ einfach herausfinden, ob Windows im Rahmen einer virtuellen Umgebung installiert ist.

Abfrage: Die Kommandozeile zeigt, ob die Installation auf einem virtuellem System erfolgt ist.

Dazu muss man auf dem jeweiligen System innerhalb der Kommandozeile folgenden Befehl eingeben:

wmic bios get serialnumber, version

Das jeweilige Ergebnis liefert anschließend Informationen zur jeweiligen Virtualisierungslösungen. Handelt es sich um eine VMware-Lösung, taucht das Wort VMWARE in der Seriennummer auf. Bei XEN sieht man dieses Wort im Bereich "Version". Bei Hyper-V liefert die Versionsangabe den Begriff VERSION.

Das funktioniert bei allen Windows-Versionen, solange die Windows Management Instrumentation Commandline installiert ist.

Neu: Abweichende Uhrzeit von Gastsystemen korrigieren

Wer die Hyper-V einsetzt, stellt fest, dass die Systemuhr von Gastbetriebssystemen binnen kürzester Zeit um mehrere Minuten abweicht. Das betrifft sowohl Windows- als auch Linux-Gäste.

Zeitfragen: Microsoft-Programm-Manager Ben Armstrong erklärt detailliert Ursachen und Workarounds für Zeitabweichungen in Hyper-V.

Eine einfache Möglichkeit, den Fehler für Windows-Gastsysteme zu beheben, existiert nicht. Gleichwohl bietet Microsoft verschiedene Möglichkeiten an, das Problem zu umgehen. Ben Armstrong, Programm-Manager von Hyper-V, geht in seinem umfangreichen MSDN-Blog detailliert auf das Thema ein und beschreibt abhängig von der Konfiguration eine Reihe von Optionen zur Abhilfe.

Speziell für Linux-Gastbetriebssysteme ist ein entsprechendes Bash-Skript verfügbar, das in regelmäßigen Abständen die Uhr mithilfe eines öffentlichen Zeitservers neu stellt. Das Skript unterstützt die Distributionen SUSE Linux Enterprise Server 10 SP2 und Red Hat Enterprise Linux 5.2, 5.3 und 5.4. (mje)