Mit Zusatztools und Bordmitteln lässt sich Windows Server 2008 R2 skripten Hyper-V in der PowerShell optimal verwalten

Autor / Redakteur: Thomas Joos / Elke Witmer-Goßner

Auch wenn die meisten Administratoren Hyper-V in der grafischen Oberfläche verwalten, ist die PowerShell eine brauchbare Alternative, um Einstellungen vorzunehmen oder zu skripten. Es gibt zudem Erweiterungen, welche die PowerShell um zusätzliche Commandlets, kurz CMDlets, für Hyper-V ergänzen. Diese sind sogar von Microsoft offiziell empfohlen.

Firmen zum Thema

Mit Hilfe der Skriptsprache Microsoft Powershell lassen sich ganze Systeme unter Umgehung der grafischen Oberfläche zentral verwalten, beispielsweise auch virtuelle Server.
Mit Hilfe der Skriptsprache Microsoft Powershell lassen sich ganze Systeme unter Umgehung der grafischen Oberfläche zentral verwalten, beispielsweise auch virtuelle Server.
(© Nmedia - Fotolia.com)

Wer sich etwas mit den Befehlen in der PowerShell auseinandergesetzt hat, sieht schnell, wie einfach der Umgang ist und nimmt zukünftig sicher den Weg über die PowerShell anstatt über die grafische Oberfläche. Sie haben zum Beispiel die Möglichkeit, virtuelle Server über das Exportieren per PowerShell-Skript zu sichern.

Auf der Seite des Hyper-V-Blogs erhalten Sie ein PowerShell-Skript und eine ausführliche Anleitung und Diskussion, wie sich solche Export-Vorgänge vollständig über Skripte automatisieren lassen. Mit dem Skript fahren Sie virtuelle Server automatisch herunter, exportieren den Server in eine Datei und starten den Server wieder. Es ist auch möglich, dass Sie die Sicherungsdateien auf eine Netzfreigabe speichern.

Bildergalerie

Zusätzliche CMDlets für die Verwaltung von Hyper-V

Sie benötigen für das Skript zusätzlich die PSHyperV-Library von James O’Neill. Die Library enthält zusätzliche CMDlets, welche die Verwaltung von Hyper-V in der PowerShell deutlich erleichtern. Das heißt, die Erweiterung macht nicht nur für das Sicherungsskript einen Sinn, sondern generell für die Verwaltung von Hyper-V in der PowerShell. Das Skript zur Datensicherung von Hyper-V-Servern baut auf diese CMDlets auf.

Um die zusätzlichen CMDlets zu integrieren, gehen Sie folgendermaßen vor: Laden Sie sich die Datei HyperV_Install.zip herunter. Ein weiteres Tool, welches Sie unter Umständen benötigen, ist Streams von Sysinternals. Das Tool kann unnötige Datenströme von der Installationsdatei entfernen. Dazu entpacken Sie das Streams-Archiv und kopieren die Datei streams.exe und die Datei HyperV_Install.zip in ein Verzeichnis auf der Festplatte des Hyper-V-Hosts. Starten Sie dann eine Befehlszeile und geben Sie den Befehl streams -d HyperV_Install.zip ein. Extrahieren Sie dann die ZIP-Datei und installieren Sie die Library durch Rechtsklick auf install.cmd und der Auswahl Als Administrator ausführen. Installieren Sie das Skript nicht auf einem Windows Server 2008 R2-Core-Server, sondern auf einer vollständigen Installation von Windows Server 2008 R2, erhalten Sie zwei Fehlermeldungen, die Sie aber ignorieren können.

Ist die Installation abgeschlossen, während der der Assistent auch Einträge in der Registry vornimmt, startet die PowerShell. Geben Sie den Befehl get-command -module HyperV ein, um die Installation zu überprüfen. Das Fenster zeigt Ihnen anschließend die verfügbaren PowerShell-CMDlets an, auf denen das PowerShell-Sicherungsskript aufbaut. Diese Befehle können Sie unabhängig vom entsprechenden Skript nutzen.

Auf der Microsoft-Technet Internetseite finden Sie ein Video-Tutorial zu den CMDlets. Über die Downloadseite finden Sie alle verfügbaren CMDlets, welche die Erweiterung mit sich bringt. Microsoft bietet auch noch einen Webcast zum Thema an, in dem auch auf den Virtual Machine Manager eingegangen wird (siehe Abb. 1).

Eine weitere Erweiterung für die PowerShell ist Powershell Configurator for Server Core R2. Mit der Sammlung verwalten Sie vor allem Core-Server mit Windows Server 2008 R2 oder Hyper-V Server 2008 R2. Natürlich lassen sich mit den CMDlet-Sammlungen auch komplett installierte Server verwalten. Die PowerShell-Skript-Seite in Technet enthält ebenfalls zahlreiche Links und Hilfen zum generellen Erstellen von Skripten in der PowerShell.

Standardmäßig blockiert die PowerShell bestimmte CMDlets und Skripte. Damit Sie Skripte nutzen können, sind Einstellungen in der PowerShell notwendig. Verwenden Sie den Befehl set-executionpolicy RemoteSigned, um Skripte mit neuen CMDlets zu erlauben. Sie können die Ausführungsrichtlinie mit dem CMDlet Set-ExecutionPolicy ändern und mit get-executionpolicy anzeigen. Die Ausführungsrichtlinie speichert ihre Daten in der Windows-Registrierung (siehe Abb. 2).

Sie können folgende Einstellungen vornehmen:

  • Restricted: Standardeinstellung, keine Skripte erlaubt.
  • AllSigned: Nur signierte Skripte erlaubt.
  • RemoteSigned: Bei dieser Einstellung müssen Sie Skripte für durch eine Zertifikatsstelle signieren lassen.
  • Unrestricted: Mit dieser Einstellung funktionieren alle Skripte.

Datensicherung mit PowerShell-Skript

Das Sicherungs-Skript HyperV-Backup.ps1 von der bereits erwähnten Seite entpacken Sie in ein Verzeichnis auf dem Hyper-V-Host. Wenden Sie aber auch hier vorher den Befehl streams -d an. Das Skript hinterlegen Sie als Aufgabe auf dem Hyper-V-Host oder können es auch manuell starten. Die Sicherung läuft vollkommen unabhängig von der Windows-Server-Sicherung und erstellt vollständige Export-Dateien, die sich auch auf anderen Hyper-V-Hosts schnell und einfach wieder integrieren lassen.

Allerdings kann das Skript keine Online-Sicherungen durchführen, sondern Server nur im ausgeschalteten oder gespeicherten Zustand sichern. Um sich eine Hilfe anzuzeigen, geben Sie den Befehl <Pfad>\HyperV-Backup.ps1 -? ein. Sie sehen in der PowerShell dann die verschiedenen Optionen und Beispiele zur Verwendung (siehe Abb. 3).

Wollen Sie zum Beispiel auf dem Hyper-V-Host die virtuelle Maschine sql exportieren, verwenden Sie den Befehl <Pfad>\HyperV-Backup.ps1 -VM sql -ExportPath <Pfad>. Wollen Sie zusätzlich die Sicherung noch im Netzwerk speichern, verwenden Sie den Befehl <Pfad>\HyperV-Backup.ps1 -VM <Name des Servers> -ExportPath <Lokaler Export-Pfad> -RemotePath \\<UNC der Freigabe> -verbose.

Mit der PowerShell verwalten Sie auch Hyper-V in einem Cluster und können über spezielle CMDlets Windows-Cluster in der PowerShell verwalten. Sie können einen Cluster mit Windows Server 2008 R2 so konfigurieren, dass die Clusterknoten den Netzwerkverkehr zwischen den Knoten und zu den CSV (Cluster Shared Volume) priorisiert.

Für einen schnellen Überblick, welche Netzwerkeinstellungen der Cluster zur Kommunikation mit dem CSV nutzt, starten Sie eine PowerShell-Sitzung auf dem Server und rufen das Cmdlet Get-ClusterNetwork auf. Allerdings funktioniert das Cmdlet erst dann, wenn Sie die Befehle zur Clusterverwaltung mit dem Befehl Add-Module FailoverClusters in die PowerShell integrieren (siehe Abb. 4).

Sie sehen auch in der Verwaltungskonsole des Clusters, welche Netzwerke vorhanden sind und der Server nutzen kann. Sie können auch die PowerShell für die Verwendung einer Livemigration verwenden. Öffnen Sie dazu eine PowerShell und laden mit dem Befehl Add-Module FailoverClusters zunächst die notwendigen Befehle für die Verwaltung von Clustern. Anschließend können Sie mit dem folgenden Befehl eine Livemigration im Cluster starten: Get-Cluster "<Clustername>" | Move-ClusterVirtualMachineRole -Name "<VM>" -Node" <Zielknoten>".

Hyper-V Network Command Line Tool für Core-Server

Mit dem kostenlosen Tool NVSPBIND können Sie Hyper-V auf einem Core-Server verwalten und die einzelnen Bindungen für Netzwerkprotokolle auf den Netzwerkkarten der Hyper-V-Server konfigurieren. Das Tool stammt von den Hyper-V-Entwicklern und funktioniert auf Core-Servern und für Hyper-V Server 2008 sowie Hyper-V Server 2008 R2.

Mit VM2DMP können Sie wiederum Fehler aus Dumpdateien auslesen, wenn ein virtueller Server nicht mehr funktioniert. Das Tool konvertiert dazu die Datei, sodass Sie diese mit den Microsoft Debugging Tools untersuchen können. Die Dateien lassen sich dann auch auf anderen Servern oder Computern analysieren. Das Tool unterstützt Windows 7 und Windows Server 2008 R2.


Mit dem Tool NVSPSCRUB können Sie 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 stehen für nvspcrub.js zur Verfügung:

  • /? -- Zeigt die Hilfe an
  • /v -- Löscht deaktivierte virtuelle Netzwerke
  • /p -- Löscht Einstellungen der virtuellen Netzwerke
  • /n -- Löscht ein spezielles Netzwerk

(ID:34507860)