Nützliche PowerShell-Befehle für Hyper-V
Virtuelle Maschinen und Hyper-V-Hosts lassen sich auch trefflich mit PowerShell-Befehlen konfigurieren und steuern. Fünf Beispiele zeigen, wie es in der Praxis funktioniert.
Es ist selbstverständlich möglich, Hyper-V-Hosts und VMs (virtuelle Maschinen) mit Hyper-V-Manager oder dem System Center Virtual Machine Manager (SCVMM) zu verwalten. In manchen Fällen ist es jedoch schneller und effizienter, die PowerShell dazu zu verwenden. Mit dieser interaktiven Kommandozeileneingabe und ihren Scripting-Fähigkeiten lassen sich viele Aktionen ebenfalls durchführen.
Dies reicht von einfachen Aufgaben wie dem Import einer VM und einem Konfigurationstest bis zu komplexeren Arbeiten wie dem Aktivieren der Replikation oder dem Erstellen von Checkpoints. Die folgenden fünf Tipps unterstützen Sie beim Einstieg in die PowerShell als nützliches Werkzeug für Hyper-V.
Importieren und exportieren von Hyper-V-VMs
Wenn Sie die Hyper-V-Rolle nicht installiert haben und trotzdem virtuelle Maschinen importieren oder exportieren müssen, können Sie auch die Hyper-V-Module für die PowerShell auf Ihrem Management-Server installieren. Zum Export einer einzelnen VM nutzen Sie dann den Befehl Export-VM. Dieses Kommando erstellt unter dem angegebenen Pfad ein Verzeichnis mit drei Unterordnern für Snapshots, virtuelle Festplatten und VMs. In ihnen befinden sich alle Dateien Ihrer virtuellen Maschine.
Es ist auch möglich, alle VMs auf einem Hyper-V-Host gemeinsam zu exportieren oder mehrere VMs festzulegen und dann auf einmal zu exportieren. Verwenden Sie dazu eine Textdatei mit den Namen der VMs sowie ein kleines Skript, das auf diese Datei zugreift.
Eine einzelne VM lässt sich mit dem Befehl Import-VM importieren. Die virtuelle Maschine wird dabei automatisch in Hyper-V registriert und auf ihre Kompatibilität mit dem Ziel-Host überprüft. Wenn die VM dort bereits vorhanden ist und denselben globalen Unique Identifier verwendet, wird sie mit der neuen Version überschrieben und neu registriert.
Überprüfen des Zustands und der Konfiguration von Hyper-V-Hosts und VMs
Mit PowerShell-Befehlen lassen sich auch der Zustand und die Konfiguration von Hyper-V-Hosts sowie VMs überprüfen. Dabei kommt es bei einem Host auf viele Faktoren wie das verwendete Betriebssystem, die installierten Service Packs, der belegte Speicher und die Nutzung der CPU sowie die Uptime des Systems an. Wenn nur der Zustand eines einzelnen Hosts geprüft werden soll, reicht ein einziger PowerShell-Befehl. Für einen ganzen Cluster lässt sich der Befehl Get-ClusterNode verwenden, um einen umfangreichen Bericht zu erstellen.
Auch beim Prüfen des Zustands einer einzelnen VM gibt es ein paar Punkte zu beachten: Status der virtuellen Maschine, Version der Integration Services, Uptime, virtuelle Prozessoren, Konfiguration des Speichers, Status des dynamischen Speichers und die Frage, ob sie Teil eines größeren Clusters ist. Mit dem Befehl Get-VM lassen sich diese Informationen abfragen. Mit Hilfe eines Skripts können auch die Infos eines gesamten VM-Clusters eingeholt werden.
Aktivieren der Replikation unter Hyper-V
Durch Replikation kann sichergestellt werden, dass ein wichtiges System bei einem Problem in kürzester Zeit vom Produktivserver auf eine Disaster-Recovery-Site umgestellt und dann wieder online gebracht werden kann. Um die Hyper-V-Replikation zu konfigurieren, werden mindestens zwei Hosts mit Windows Server 2012 oder aktueller benötigt. Der Vorgang ist relativ geradlinig, besteht aber aus mehreren Schritten. Zunächst muss auf dem Replica-Server ein Skript ausgeführt werden, um die Kopie zu konfigurieren und um die benötigten Firewall-Regeln zu aktivieren.
Dann wird ein Skript auf dem Hauptserver gestartet, um die Replikation für eine spezifische VM zu aktivieren. Sie wird im folgenden SQLVM genannt. Mit dem Befehl Start-VMInitialReplication –VMName SQLVM kann dann die eigentliche Replikation aktiviert werden. Nach diesem Vorgang wird die Kopie auf dem Replica-Server abgeschaltet, während das Original auf dem Hauptserver weiter seine Aufgaben erfüllt.
Erstellen von Checkpoints für Hyper-V
Um in Ruhe Applikationen zu testen oder um in bestimmten Fällen ein Sicherheitsnetz zu haben, können Checkpoints in Hyper-V aktiviert werden. Dadurch lassen sich Änderungen bis zu einem bestimmten Zeitpunkt rückgängig machen. Die Option, um so genannte Point-in-Time-Images zu erstellen, ist standardmäßig jedoch deaktiviert. Mit dem PowerShell-Befehl Set-VM lässt sie sich für eine einzelne VM aktivieren. Um so genannte produktive Checkpoints zu erstellen, muss zusätzlich die VM konfiguriert werden.
Danach steht der Befehl CheckPoint-VM zur Verfügung, um einen neuen Checkpoint zu erstellen. Der Eintrag enthält automatisch das Datum und die Uhrzeit, an der er erstellt wurde. Bedauerlicherweise funktioniert der Befehl nicht auf entfernten Hosts. Stattdessen kann aber ein kurzes Skript verwendet werden, um neue CheckPoints zu erstellen. Um einen Checkpoint wieder einzuspielen, muss die VM zunächst gestoppt und dann der Befehl Restore-VMSnapshot ausgeführt werden.
Einsatz von Port ACL-Regeln unter Hyper-V
Port Access Control Lists (ACLs) sind eine einfache Methode, um den Traffic einer VM von anderen virtuellen Maschinen zu isolieren. Das funktioniert jedoch nur unter Windows Server 2012 oder neuer. Außerdem muss die VM mit einem Hyper-V-Switch verbunden sein. Bevor neue Port ACL-Regeln mit PowerShell-Befehlen erstellt werden können, müssen zudem noch ein paar Informationen zusammengetragen werden. So sollte die Quelle des Traffics bekannt sein sowie seine Richtung, also ob er eingehend, ausgehend oder aus beiden Richtungen kommt. Außerdem muss feststehen, ob der Traffic erlaubt oder geblockt werden soll.
Anschließend kann der Befehl Add-VMNetworkAdapterACL – um die entsprechenden Parameter ergänzt – ausgeführt werden. Mit dem Befehl Get-VMNetworkAdapterACL lassen sich alle aktiven Port ACL-Regeln für eine VM auflisten. Soll eine Regel wieder entfernt werden, kann der Befehl Remove-VMNetworkAdapterACL eingesetzt werden. Um Zeit zu sparen, können die beiden zuletzt beschriebenen Cmdlets auch kombiniert werden, um die Port ACL-Regeln einer VM zu löschen.
Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!