Gajus - Fotolia
Die wichtigsten PowerShell-Cmdlets für Hyper-V Health Checks
Über die PowerShell ist es möglich, Health Checks für Hyper-V durchzuführen. Mit diesen Cmdlets erhalten Hyper-V-Admins Einblick in ihre Umgebung.
Administratoren, die noch nicht mit der seit Windows Server 2008 verfügbaren PowerShell gearbeitet haben, besitzen – freundlich formuliert – Seltenheitswert. Die PowerShell wird seit damals und bis heute immer wichtiger: Microsoft setzt sie inzwischen unter anderem für die Interaktion mit Rollen und Features von Windows Server genauso ein wie für Office 365 oder Azure. Nicht alle Hyper-V-Administratoren hingegen wissen, dass die PowerShell auch eine komplette Zustandsüberprüfung für Hyper-V-Hosts und den darauf gehosteten virtuellen Maschinen (VMs) möglich macht.
Hyper-V-Administratoren sollten zumindest die folgenden Aufgaben der Hyper-V-Administration über die PowerShell beherrschen:
- Den Health Check von Hyper-V-Hosts;
- Den Health Check von virtuellen Maschinen;
- Installierte Rollen und Features auf Hyper-V-Hosts abfragen.
Im Folgenden gehen wir genauer auf diese Aufgaben ein und zeigen die hierfür nötigen PowerShell-Skripte und –Befehle.
Health Check für Hyper-V Hosts
Ein Health Check von Hyper-V-Hosts umfasst das Hyper-V-Betriebssystem, das Service Pack des Hyper-V-Betriebssystems, die Speichernutzung, die Prozessornutzung, die Hyper-V-Uptime, den Gesamtumfang des Speichers, den genutzten Speicher und den verfügbaren Speicher. Es gibt jede Menge PowerShell-Cmdlets, die solche Informationen bereitstellen können.
Dabei gilt es aber sicherzustellen, dass die Informationen von allen Hyper-V-Hosts abgerufen werden können. Für alleinstehende Hyper-V-Hosts lassen sich die einzelnen PowerShell-Cmdlets einfach ausführen. Um aber Informationen aus einem Hyper-V-Cluster zu erhalten, wird das Cmdlet Get-ClusterNode benötigt:
Als Ergebnis dieses Cmdlets sollte ein Bericht wie in Abbildung 2 ausgegeben werden.
VM Health Check per PowerShell
Beim Health Check virtueller Maschinen auf Hyper-V-Hosts gibt es eine Reihe interessanter Auswertungen. Dazu gehören der Zustand der VM, die Version der Integration Services, die Uptime der VM, ob die VM geclustert ist oder nicht, virtuelle Prozessoren und Speicherkonfiguration für die VM sowie letztlich der Dynamic-Memory-Status der VM.
Die meisten dieser Informationen können über das PowerShell-Cmdlet Get-VM abgefragt werden. Das nachfolgende PowerShell-Skript nutzt dieses Cmdlet zur Sammlung von Zustandsinformationen über die VMs in einem Hyper-V-Cluster.
Dieses Skript generiert einen CSV-Bericht im Ordner C:\Temp. Darin finden sich für jede virtuelle Maschine der Name, der gegenwärtige Zustand, die Uptime, die Version der Integration Services und der Gesamtzustand der VM.
Installierte Rollen und Features abfragen
Mehr als die tatsächlich zwingend notwendigen Rollen sollte kein Hyper-V-Host ausführen. Unnütze Rollen vergrößern die Angriffsfläche und kosten Speicherplatz und CPU-Zeit, ohne dass ein Gegenwert dafür erkennbar wäre. Die für einen Hyper-V-Host zwingend notwendige Rolle ist die Rolle Hyper-V Server, als Feature ist Failover Clustering unerlässlich. Die PowerShell hilft beim Abrufen der installierten Rollen und Features mit dem Cmdlet Get-WindowsFeature. In der Praxis sieht dies folgendermaßen aus:
Die PowerShell-Skripte dieses Artikels lassen sich alle für Hyper-V-Cluster einsetzen. Je nach Anforderung der spezifischen Umgebung gibt es womöglich aber weitere oder andere Zustandsinformationen, die interessant sind – beispielsweise zu Hyper-V Replica. Die wichtigsten und grundlegendsten Bestandteile eines Hyper-V Health Check sind aber hiermit zusammengefasst.
Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!