VMware-Management mit...

24
POWERCLI: KONFIGURATION VSPHERE MANAGEMENT ASSISTANT EINFÜHRUNG: POWERCLI- CMDLETS CORE DUMP LÖSCHEN SRM AUTO- MATISIEREN VMware-Management mit PowerCLI-Scripting Viele Aufgaben in VMware-Umgebungen lassen sich durch PowerCLI-Cmdlets und Skripte automatisieren. Dieses E-Handbook zeigt die hierfür nötige Konfiguration sowie grundlegende PowerCLI-Befehle und ausgewählte Anwendungsfälle. COPYRIGHT: ANDREY KUZMIN - FOTOLIA

Transcript of VMware-Management mit...

Page 1: VMware-Management mit PowerCLI-Scriptingdocs.media.bitpipe.com/io_12x/io_128884/item_1269355/e...EDITORIAL POWERCLI: KONFIGURATION VSPHERE MANAGEMENT ASSISTANT EINFÜHRUNG: POWERCLI-CMDLETS

POWERCLI: KONFIGURATION

VSPHERE MANAGEMENT ASSISTANT

EINFÜHRUNG: POWERCLI- CMDLETS

CORE DUMP LÖSCHEN

SRM AUTO-MATISIEREN

VMware-Management mit PowerCLI-ScriptingViele Aufgaben in VMware-Umgebungen lassen sich durch PowerCLI-Cmdlets und Skripte automatisieren. Dieses E-Handbook zeigt die hierfür nötige Konfiguration sowie grundlegende PowerCLI-Befehle und ausgewählte Anwendungsfälle.

COP

YRIG

HT: A

NDRE

Y KU

ZMIN

- FO

TOLIA

Page 2: VMware-Management mit PowerCLI-Scriptingdocs.media.bitpipe.com/io_12x/io_128884/item_1269355/e...EDITORIAL POWERCLI: KONFIGURATION VSPHERE MANAGEMENT ASSISTANT EINFÜHRUNG: POWERCLI-CMDLETS

EDITORIAL

POWERCLI: KONFIGURATION

VSPHERE MANAGEMENT ASSISTANT

EINFÜHRUNG:

POWERCLI-CMDLETS

CORE DUMP LÖSCHEN

SRM AUTOMATISIEREN

ÜBER DIE AUTOREN

VMWARE-MANAGEMENT MIT POWERCLI-SCRIPTING2

EDITORIAL

Warum manuell erledigen, was auch automatisiert werden kann?

Vor allem in großen virtuellen Umgebungen kann das Management virtueller Maschinen äußerst zeitaufreibend werden, wenn eigentliche Routineaufgaben manuell für jeden Host einzeln erledigt werden müssen. Doch PowerShell und PowerCLI können in dieser Situation Abhilfe schaffen und ermöglichen die Automatisierung regelmäßig anfallender Arbeiten.

So gewinnt man nicht nur Zeit, sondern schafft auch einheitliche Workflows und ver-meidet Flüchtigkeitsfehler. Das oft unbeliebte PowerCLI-Scripting gehört also eigentlich in den Werkzeugkasten eines jeden VMware-Admins, und so zeigen wir Ihnen in diesem E-Handbook von der Konfiguration der vSphere-Umgebung über die wichtigsten Cmdlets bis hin zu Praxis-beispielen, wie Sie PowerCLI-Skripte auch in Ihrem Unternehmen gewinnbringend einsetzen können. Den Anfang macht eine PowerCLI-Einführung mit Hinweisen zur Konfiguration der

VMware-Umgebung. In manchen Fällen mag auch der VMware Management Assistant die bessere Wahl sein, den wir Ihnen daher im zweiten Artikel näher vorstellen.

Anschließend steigen wir tiefer in die Materie ein und zeigen Ihnen einige der wichtigsten PowerCLI-Befehle, vor allem auch mit Blick auf die neue Version PowerCLI 6.

Die letzten beiden Artikel gehen schließlich auf Anwendungsfälle ein und erklären, wie sich per PowerCLI mit wenigen Cmdlets gesperrte Core Dumps entfernen lassen und Recovery-Pläne des VMware Site Recovery Managers automatisiert werden können. Denn warum sollte man Aufgaben manuell erledigen, wenn man sie auch automatisieren kann? n

Wolfgang DietlOnline EditorTechTarget Deutschland

Page 3: VMware-Management mit PowerCLI-Scriptingdocs.media.bitpipe.com/io_12x/io_128884/item_1269355/e...EDITORIAL POWERCLI: KONFIGURATION VSPHERE MANAGEMENT ASSISTANT EINFÜHRUNG: POWERCLI-CMDLETS

EDITORIAL

POWERCLI: KONFIGURATION

VSPHERE MANAGEMENT ASSISTANT

EINFÜHRUNG:

POWERCLI-CMDLETS

CORE DUMP LÖSCHEN

SRM AUTOMATISIEREN

ÜBER DIE AUTOREN

VMWARE-MANAGEMENT MIT POWERCLI-SCRIPTING3

KONFIGURATION

Erste Schritte mit PowerCLI

VMware vSphere PowerCLI ist ein Kommandozeilen-Tool, mit dem Administratoren für verschiedene Verwaltungsaufgaben relativ leicht Skripte erstellen und damit vSphere-Umgebungen weitgehend automatisieren können.

PowerCLI ist dabei ein Zusatz für die Microsoft PowerShell, eine objektorientierte Skriptsprache und Kommandozeilenumgebung, die mittlerweile in vielen Rechenzentren aktiv zur Verwaltung von Serverprodukten wie Windows Server, Exchange oder auch SQL Server verwendet wird.

Damit die PowerShell effizient zur Verwaltung von vSphere genutzt werden kann, sollte mindestens die PowerCLI-Version 5.5 installiert sein. Im Vergleich zur Version 5.2 bietet PowerCLI 5.5 einige Vorteile. So hat VMware beispielsweise mehr Cmdlets integriert, und man kann ein Konsolenfenster für die virtuellen Server öffnen. Zudem können damit die Lizenzen der Virtualisierungs-Hosts verwaltet werden. Inzwischen ist bereits die neuere Version 6

erschienen. vSphere PowerCLI kann direkt bei VMware heruntergeladen werden.

Nach der Installation der PowerCLI wird diese über die Verknüpfung auf der Startseite beziehungsweise im Startmenü gestartet. In der PowerCLI-Konsole stehen auch die Cmdlets der restlichen PowerShell zur Verfügung. vSphere PowerCLI bietet unter anderem die folgenden Möglichkeiten:

• Cmdlets, die Aktionen oder Systembefehle auslösen,

• Skripte, die Strings von Cmdlets und der damit verbundenen Logik darstellen, und

• ausführbare Dateien, die Stand-alone-Anwendungen zur Verfügung stellen.

Mit vSphere PowerCLI können IT-Adminis-tratoren fast jede virtuelle Umgebung mit vSphere und so gut wie jede Aufgabe mit nahezu 200 VMware-spezifischen Cmdlets in verschiedenen Kombinationen verwalten. Diese erlauben auch, Skripte zur Automatisierung verschiedener

Page 4: VMware-Management mit PowerCLI-Scriptingdocs.media.bitpipe.com/io_12x/io_128884/item_1269355/e...EDITORIAL POWERCLI: KONFIGURATION VSPHERE MANAGEMENT ASSISTANT EINFÜHRUNG: POWERCLI-CMDLETS

EDITORIAL

POWERCLI: KONFIGURATION

VSPHERE MANAGEMENT ASSISTANT

EINFÜHRUNG:

POWERCLI-CMDLETS

CORE DUMP LÖSCHEN

SRM AUTOMATISIEREN

ÜBER DIE AUTOREN

VMWARE-MANAGEMENT MIT POWERCLI-SCRIPTING4

KONFIGURATION

Aufgaben zu erstellen. Eine Liste aller zur Verfügung stehenden Cmdlets zeigt der Befehl Get-VICommand an.

Skripte sind deshalb so nützlich für die Verwaltung virtueller Umgebungen, weil sie durch die Möglichkeit zur Automatisierung Prozesse durchführen, ohne dafür IT-Personal zu binden. Dazu kommt der Vorteil, dass automatisierte Skripte nicht so fehleranfällig sind wie manuelle Eingaben von Administratoren. Zudem können derart ressourcenintensive Aufgaben automatisiert außerhalb der Spitzen-zeiten ausgeführt werden.

Wenn ein Skript erst einmal richtig geschrieben ist, lässt es sich beständig weiterentwickeln, um den Nutzen noch weiter zu erhöhen. Natürlich sollte man sich für den Anfang zunächst mit den einzelnen Cmdlets der PowerCLI auseinandersetzen, bevor umfangreiche Skripte damit erstellt werden.

Sobald die PowerCLI gestartet wurde, muss zunächst mit Connect-VIServer eine Ver-bindung zum ESX-Host oder zu einem vCenter-Server aufgebaut werden. Hierfür wird folgender Befehl genutzt:

Connect-VIServer -Server <IP-Adresse> -Protocol https -User <Benutzername> -Password <Kennwort>

Die folgenden vier Skripte sind relativ einfach gehalten, bauen auf der PowerCLI auf und lassen sich so auch von Anfängern problemlos einsetzen. Zunächst sollten die Skripte aber in Testumgebungen integriert werden, um eine negative Beeinträchtigung der Produktivsysteme zu verhindern.

POWERCLI-SKRIPT 1: VCHECK (DAILY REPORT) V3

Stellen Sie sich vor, Sie erhalten noch vor dem Morgenkaffee einen detaillierten Bericht über Ihre virtuelle Infrastruktur. Natürlich vollkommen automatisiert, ohne dass Sie einen Finger krumm machen müssen. Mit dem beliebten Reporting-Skript von Alan Renouf bekommen Sie eine entsprechende tägliche Zusammenfassung Ihrer virtuellen Umgebung ganz bequem per E-Mail. Zusätzlich zur Auflistung aller Hosts, virtuellen Maschinen (VMs), Cluster und Datenspeicher kann vCheck

Page 5: VMware-Management mit PowerCLI-Scriptingdocs.media.bitpipe.com/io_12x/io_128884/item_1269355/e...EDITORIAL POWERCLI: KONFIGURATION VSPHERE MANAGEMENT ASSISTANT EINFÜHRUNG: POWERCLI-CMDLETS

EDITORIAL

POWERCLI: KONFIGURATION

VSPHERE MANAGEMENT ASSISTANT

EINFÜHRUNG:

POWERCLI-CMDLETS

CORE DUMP LÖSCHEN

SRM AUTOMATISIEREN

ÜBER DIE AUTOREN

VMWARE-MANAGEMENT MIT POWERCLI-SCRIPTING5

KONFIGURATION

auch aktive Warnungen, tote logische SCSI-Gerätenummern und vieles mehr anzeigen.

POWERCLI-SKRIPT 2:

WER HAT DIESE VM ERSTELLT?

Mit einem weiteren Skript von Alan Renouf können Sie für alle VMs in Ihrer Umgebung auslesen, welcher Administrator diese erstellt hat. Das bringt Ihnen vor allem dann einen großen Vorteil, wenn Sie in Ihrem Data Center einen starken Zuwachs von VMs bemerken.

Anstatt auf drastische Maßnahmen zurückzugreifen und beispielsweise die Admin-Rechte zur Erstellung von VMs zu beschränken, ermöglicht Ihnen dieses Skript auch ohne derlei massive Eingriffe, den Überblick über Ihre vorhandenen virtuellen Maschinen zu behalten. Durch das Hinzufügen von benutzerdefinierten

Feldern zu jeder VM erfasst dieses PowerCLI-Skript Informationen über die VM-Ersteller und das Erstellungsdatum in den VM-Anmerkungen. Außerdem können Sie dieses Skript verwenden, um herauszufinden, wie viele VMs in einem bestimmten Zeitraum erstellt wurden. Die so ausgelesenen Informationen können Sie anschließend exportieren.

POWERCLI-SKRIPT 3: VSWITCH-PORT ÜBERSICHT

Während einer Migration prüft VMware vMotion nicht, ob der neue Host genug Anschlüsse auf dem virtuellen Switch zur Verfügung hat. Erschwerend kommt hinzu, dass vMotion die Migration auch bei zu wenigen Anschlüssen durchführt und der Administrator keine Benach-richtigung darüber erhält. Als Ergebnis wird die virtuelle Netzwerkkarte vom Netzwerk getrennt.

Aus diesem Grund muss jeder vSwitch genügend Ports besitzen, um den Anforderungen von VMs auf Hosts gerecht zu werden, bei denen ein Failover droht. Mit diesem Skript von Hugo Peeters können Sie herausfinden, wie viele Ports jedem vSwitch zur Verfügung stehen.

Stellen Sie sich vor, Sie erhalten noch vor dem Morgenkaffee einen detaillierten Bericht über Ihre virtuelle Infrastruktur.

Page 6: VMware-Management mit PowerCLI-Scriptingdocs.media.bitpipe.com/io_12x/io_128884/item_1269355/e...EDITORIAL POWERCLI: KONFIGURATION VSPHERE MANAGEMENT ASSISTANT EINFÜHRUNG: POWERCLI-CMDLETS

EDITORIAL

POWERCLI: KONFIGURATION

VSPHERE MANAGEMENT ASSISTANT

EINFÜHRUNG:

POWERCLI-CMDLETS

CORE DUMP LÖSCHEN

SRM AUTOMATISIEREN

ÜBER DIE AUTOREN

VMWARE-MANAGEMENT MIT POWERCLI-SCRIPTING6

KONFIGURATION

Anschließend können Sie noch vor der Migration die entsprechenden Anpassungen vornehmen.

POWERCLI-SKRIPT 4:

REPORT INTO MICROSOFT WORD

Dieses wiederum von Alan Renouf geschriebene Skript erstellt Berichte für Ihre VMware-Umgebung direkt in Word-kompatiblen Formaten. Sie können die Berichte daher sofort weiterverwenden oder umformatieren. Das Skript automatisiert nicht nur den Reporting-Prozess für eine komplette virtuelle Umgebung, sondern exportiert die Daten zuverlässig in Microsoft Word, inklusive Grafiken und Kreisdiagrammen.Darüber hinaus ist dieses PowerCLI-Skript leicht anpassbar, so dass Sie die Informationen ganz nach Ihren Anforderungen darstellen können.

Sehr hilfreich ist es zudem für die Bereitstellung eines umfassenden, leicht zu lesenden Berichtes für Vorgesetzte. –Keith Kessinger

Externe Ressourcen zum Thema VMware vSphere PowerCLI:• vSphere PowerCLI Blog (VMware Communities

Blog)

• Verwalten von VMware mit Powershell (VMware

FAQ)

• PowerCLI Quick Reference Guide

Page 7: VMware-Management mit PowerCLI-Scriptingdocs.media.bitpipe.com/io_12x/io_128884/item_1269355/e...EDITORIAL POWERCLI: KONFIGURATION VSPHERE MANAGEMENT ASSISTANT EINFÜHRUNG: POWERCLI-CMDLETS

EDITORIAL

POWERCLI: KONFIGURATION

VSPHERE MANAGEMENT ASSISTANT

EINFÜHRUNG:

POWERCLI-CMDLETS

CORE DUMP LÖSCHEN

SRM AUTOMATISIEREN

ÜBER DIE AUTOREN

VMWARE-MANAGEMENT MIT POWERCLI-SCRIPTING7

AUTO-MATISIERUNG

Der einfache Weg mit dem vSphere Management Assistant

VMware-Administratoren stehen eine ganze Reihe an Optionen für die Automatisierung ihrer Infrastruktur zur Verfügung: Die gängigsten sind VMware vRealize Orchestrator, PowerCLI und der vSphere Management Assistant.

Der VMware vSphere Management Assistant (vMA) ist dabei zwar nicht so leistungsfähig wie vRealize Orchestrator oder PowerCLI. Dafür ist die Software aber wesentlich einfacher zu bedienen.

Die Administration einer vSphere-Infrastruktur setzt eine gewisse Flexibilität voraus. Deswegen müssen Sie Skripte erstellen, die auf all Ihre ESXi-Hosts und vCenter Server Zugriff haben. Diese sollten zudem idealerweise laufen, ohne dass sie immer wieder autorisiert werden müssen. Am besten liegen sie zudem in einem zentralen Repository.

Sie könnten natürlich auch PowerCLI oder vRealize Orchestrator verwenden, um viele der gleichen Aufgaben zu erledigen. Allerdings hätten

Sie dann keine zentralisierte VM-Appliance im Einsatz. Mit ein wenig Starthilfe und einigen Tipps werden Sie sich sicherlich sehr schnell mit vMA zurechtfinden. Es ist ein sehr nützliches Tool, das jeder System-Administrator in seiner vSphere-Infrastruktur installiert haben sollte.

GRUNDLEGENDE KONFIGURATION

Vor vSphere 4 wurde das Tool VMware Infrastructure Management Assistant, abgekürzt VIMA, genannt. vMA ist eigentlich eine kosten-lose virtuelle Appliance zur Verwaltung der virtuellen Infrastruktur. VMware hat vMA ins Leben gerufen, als man von ESX, damals noch mit einer lokalen Linux-Konsole ausgerüstet, auf das neuere ESXi umstieg. ESXi bringt diese Konsole nämlich nicht mehr mit.

Nach dem Download von vMA setzen Sie das Produkt ganz einfach wie jede andere virtuelle

Page 8: VMware-Management mit PowerCLI-Scriptingdocs.media.bitpipe.com/io_12x/io_128884/item_1269355/e...EDITORIAL POWERCLI: KONFIGURATION VSPHERE MANAGEMENT ASSISTANT EINFÜHRUNG: POWERCLI-CMDLETS

EDITORIAL

POWERCLI: KONFIGURATION

VSPHERE MANAGEMENT ASSISTANT

EINFÜHRUNG:

POWERCLI-CMDLETS

CORE DUMP LÖSCHEN

SRM AUTOMATISIEREN

ÜBER DIE AUTOREN

VMWARE-MANAGEMENT MIT POWERCLI-SCRIPTING8

AUTO-MATISIERUNG

Appliance ein. VMware vMA ist eine virtuelle Maschine (VM) mit SUSE Enterprise Linux. Jeder Anwender mit einer registrierten vSphere-Lizenz kann es herunterladen. Das gilt auch für Administratoren, die vSphere lediglich evaluieren.

Die virtuelle Appliance liegt im OVF-Format (Open Virtualization Format) vor. Sobald Sie diese heruntergeladen und in Ihre Infrastruktur importiert haben, können Sie nun mithilfe der

dort integrierten Kommandozeile Ihre vSphere-Infrastruktur administrieren.

In VMware vMA finden Sie das vSphere Command Line Interface (vCLI) und das Perl SDK. Dadurch können Sie Skripte oder Agents auf virtuellen Maschinen innerhalb der vSphere-Infrastruktur laufen lassen.

Nach dem Download wird vMA über die Option Deploy OVF Template bereitgestellt. Während dieses Vorgangs können Sie sich zwischen Thick und Thin Provisioning entscheiden. Das gilt auch für den Einsatz statischer oder dynamischer IP-Adressen. Der Deployment-Prozess sollte nur wenige Minuten in Anspruch nehmen. Da es sich um eine virtuelle Appliance handelt, sind sowohl Betriebssystem als auch Applikationen bereits installiert.

DIE OVF APPLIANCE EINSATZBEREIT MACHEN

Sobald die Appliance einsatzbereit ist, können Sie die vMA-Konsole aus dem vSphere-Client heraus öffnen und die Erstkonfiguration durchführen. Ist das erledigt, verbinden Sie sich über Secure Shell (SSH) und der entsprechenden IP-Adresse zu vMA.

Eigentlich ist vMA ein Kommandozeilen-Tool, aber es gibt auch eine grafische Benutzer-oberfläche für die Appliance, die allerdings lediglich für simple Angelegenheiten wie den Neustart der Appliance, Upgrades oder Konfiguration von Zeitzone oder IP-Adresse

VMware hat vMA ins Leben gerufen, als man von ESX, damals noch mit einer lokalen Linux-Konsole ausgerüstet, auf das neuere ESXi umstieg.

Page 9: VMware-Management mit PowerCLI-Scriptingdocs.media.bitpipe.com/io_12x/io_128884/item_1269355/e...EDITORIAL POWERCLI: KONFIGURATION VSPHERE MANAGEMENT ASSISTANT EINFÜHRUNG: POWERCLI-CMDLETS

EDITORIAL

POWERCLI: KONFIGURATION

VSPHERE MANAGEMENT ASSISTANT

EINFÜHRUNG:

POWERCLI-CMDLETS

CORE DUMP LÖSCHEN

SRM AUTOMATISIEREN

ÜBER DIE AUTOREN

VMWARE-MANAGEMENT MIT POWERCLI-SCRIPTING9

AUTO-MATISIERUNG

genutzt werden kann. Vor der Nutzung der grafischen Benutzeroberfläche müssen Sie die vMA-Konsole vom vSphere-Client öffnen und die Konfiguration vervollständigen. Die Standard-Zugangsdaten für vMA lauten:

• Administrator: vi-admin• Administrator-Passwort: vmware

Die Software wird Sie allerdings während der Erstkonfiguration auffordern, ein komplexeres Passwort zu vergeben.

GRUNDLEGENDE BEFEHLE FÜR VMA

Wie kann Ihnen vMA nun helfen, sobald es am Laufen ist? Zunächst einmal sollten Sie vMA mitteilen, welche ESXi- oder vCenter-Server Sie betreiben. Das funktioniert mithilfe dieses Befehls:

vifp addserver [hostname]

Für jeden Host müssen Sie das root-Passwort eingeben. Sobald die Server hinzugefügt sind, können Sie dies mithilfe des Befehls vifp

listservers verifizieren. Nun können Sie die meisten populären Kommandozeilen-Tools verwenden. Diese würden Ihnen auch zur Verfügung stehen, wenn Sie über eine Konsole mit einem ESXi-Host verbunden wären. Bevor Sie jedoch einen Befehl ausführen, müssen Sie einen Host auswählen; dazu dient der Befehl: vifptarget –s [host]

Führen Sie diesen Befehl aus, ändert sich die Eingabeaufforderung. Sie weist darauf hin, dass Sie nun mit einem bestimmten Host verbunden sind.

Danach können Sie einen typischen CLI-Befehl wie zum Beispiel esxcli ausführen, ohne dass Sie den Host, Anwendernamen oder das Passwort spezifizieren müssen. Das könnte beispielsweise so aussehen:

esxcli network ip interface list

Sie könnten natürlich auch Linux-basierte Shell-Scripte schreiben oder Agents zurate ziehen. Auch in diesem Fall müssten Sie keine Host-Namen, Anwendernamen oder Passwörter eingeben. –David Davis

Page 10: VMware-Management mit PowerCLI-Scriptingdocs.media.bitpipe.com/io_12x/io_128884/item_1269355/e...EDITORIAL POWERCLI: KONFIGURATION VSPHERE MANAGEMENT ASSISTANT EINFÜHRUNG: POWERCLI-CMDLETS

EDITORIAL

POWERCLI: KONFIGURATION

VSPHERE MANAGEMENT ASSISTANT

EINFÜHRUNG:

POWERCLI-CMDLETS

CORE DUMP LÖSCHEN

SRM AUTOMATISIEREN

ÜBER DIE AUTOREN

VMWARE-MANAGEMENT MIT POWERCLI-SCRIPTING10

GENERATION-2-VMS

Einführung in die wichtigsten PowerCLI-Cmdlets

Mit der neuen PowerCLI-Version 6 können Administratoren Server mit ESX/ESXi 5/5.5 und auch die neue Version ESXi 6 verwalten. Eine wesentliche Neuerung in PowerCLI 6 ist die Möglichkeit, auch die neue VM-Hardwareversion 11 zu verwenden. Alle Cmdlets zur Verwaltung

virtueller Maschinen, zum Beispiel New-VM und Set-VM, unterstützen die neue Hard-wareversion von ESXi 6. Außerdem wurden Befehle integriert, um vSANs in der PowerCLI zu verwalten. Eine Liste der neuen Cmdlets zu diesem Thema wird mit dem Befehl

get-vicommand *vsan* angezeigt.Zur Verwaltung von VMware-6-Produkten mit der PowerShell muss erst eine Verbindung zu einem vCenter-Server oder direkt mit einem Virtualisierungs-Host aufgebaut werden. Dazu wird das Cmdlet Connect-VIServer verwendet. Die Syntax dazu lautet: Connect-VIServer -Server <IP-Adresse> -Protocol https. Zum erfolgreichen Verbindungsaufbau muss eine Anmeldung am Server erfolgen.

VIRTUALISIERUNGS-HOSTS UND

SPEICHERVERBRAUCH ANZEIGEN

Eine Liste aller VMware-Hosts, die an den vCenter-Server angebunden sind, wird mit Get-VMHost angezeigt. Eine umfangreiche Liste erhalten Sie mit Get-VMHost |fl. Hier kann PowerCLI auch den Hersteller, die CPU-Daten und den verfügbaren Arbeitsspeicher anzeigen. Ebenfalls wichtig sind Daten zum

POWERCLI-CMDLETS

Eine wesentliche Neuerung in PowerCLI 6 ist die Möglichkeit, auch die neue VM-Hardware-version 11 zu verwenden.

Page 11: VMware-Management mit PowerCLI-Scriptingdocs.media.bitpipe.com/io_12x/io_128884/item_1269355/e...EDITORIAL POWERCLI: KONFIGURATION VSPHERE MANAGEMENT ASSISTANT EINFÜHRUNG: POWERCLI-CMDLETS

EDITORIAL

POWERCLI: KONFIGURATION

VSPHERE MANAGEMENT ASSISTANT

EINFÜHRUNG:

POWERCLI-CMDLETS

CORE DUMP LÖSCHEN

SRM AUTOMATISIEREN

ÜBER DIE AUTOREN

VMWARE-MANAGEMENT MIT POWERCLI-SCRIPTING11

POWERCLI-CMDLETS

freien Festplattenspeicher der VMware-Hosts. Diese Daten lassen sich am schnellsten mit Get-Datastore anzeigen. Der Vorteil der PowerCLI liegt in der Möglichkeit, die Ergebnisse eines Cmdlets an ein anderes weiterzugeben. Das andere Cmdlet kann dann weitere Daten auslesen. Sinnvoll ist das zum Beispiel, wenn nicht nur Daten zum Speicherverbrauch angezeigt werden sollen, sondern der Speicherverbrauch aller VMs auf einem vCenter oder einem Host. Dazu wird der Befehl Get-Datastore | Get-VM | select name,usedspacegb verwendet. Sollen nur die Daten eines einzelnen Datastores angezeigt werden, dann geben Administratoren den Befehl mit folgender Syntax ein:

Get-Datastore <Name des Datastore> | Get-VM | select name,usedspacegb

Sollen die Daten in eine CSV-Datei exportiert werden, ist die Syntax folgende:

Get-Datastore | Get-VM | select name,usedspacegb | Export-Csv <Pfad und Name der CSV>

Der Befehl kann natürlich noch erweitert werden. Sollen alle möglichen Abfragewerte eines Datestores angezeigt werden, dann geben Sie den Befehl Get-Datastore | Get-VM | Get-Member ein. Die Werte, die hier angezeigt werden, lassen sich als Ersatz für die Werte name und usedspacegb des oberen PowerCLI-Befehls verwenden. Wollen Sie zum Beispiel alle möglichen Informationen von allen VMs eines Datastores oder aller Datastores in der Umgebung anzeigen, dann verwenden Sie den Befehl:

Get-Datastore | Get-VM | Export-Csv c:\temp\vm.csv -NoTypeInformation

INFORMATIONEN IN DER POWERCLI ABRUFEN

Um Daten der VMware-Umgebung anzuzeigen, lässt sich der PowerCLI-Befehl Get-CMDlet verwenden. Wer eine Liste aller Get-Cmdlets einsehen will, verwendet den Befehl get-command get*-*. Dieser Befehl zeigt auch die anderen Cmdlets der PowerShell an. Um nur die Cmdlets der PowerCLI anzuzeigen, wird der

Page 12: VMware-Management mit PowerCLI-Scriptingdocs.media.bitpipe.com/io_12x/io_128884/item_1269355/e...EDITORIAL POWERCLI: KONFIGURATION VSPHERE MANAGEMENT ASSISTANT EINFÜHRUNG: POWERCLI-CMDLETS

EDITORIAL

POWERCLI: KONFIGURATION

VSPHERE MANAGEMENT ASSISTANT

EINFÜHRUNG:

POWERCLI-CMDLETS

CORE DUMP LÖSCHEN

SRM AUTOMATISIEREN

ÜBER DIE AUTOREN

VMWARE-MANAGEMENT MIT POWERCLI-SCRIPTING12

POWERCLI-CMDLETS

Befehl Get-VICommand verwendet, der Befehl Get-VICommand get*-* gibt wiederum alle Get-Cmdlets für VMware wieder.

Wird ein Cmdlet ohne Zusatzinformation angegeben, zeigt PowerCLI nur rudimentäre Informationen an, zum Beispiel mit Get-vm. Um alle wichtigen Daten zu erhalten, helfen zwei Befehle: Get-vm | select * und get-vm |fl geben alle verfügbaren Informationen zu allen VMs aus. Um die Daten auf einzelne VMs zu fokussieren, wird der Befehl get-vm -name <Name> | Select * verwendet. Dieser Befehl liefert auch Informationen zur verwendeten Hardwareversion. Mit der PowerShell kann man darüber hinaus eine weitere Filterung zum Anzeigen von Informationen vornehmen. Sollen

zum Beispiel nur der Name und die IP-Adresse der VMs aufgelistet werden, kann folgender Befehl genutzt werden:

Get-VM | Select Name, @{N=“IP Address“;E={@($_.guest.IPAddress[0])}}

Setzen Unternehmen auf einen VMware-Cluster, lassen sich auch hier die IP-Adressen der einzelnen VMs auslesen:

Get-Cluster | Get-VM | Select Name, Host, @{N=“IP Address“;E={@($_.guest.IPAddress[0])}}

Alle Daten, die sich in der PowerCLI anzeigen lassen, können automatisiert in CSV-Dateien geschrieben werden. Dazu wird einfach noch die Option | Export-Csv <Pfad und Name der CSV-Datei> an den Befehl abgehängt.

VMS IN DER POWERCLI STEUERN

Mit PowerCLI können Einstellungen virtueller Maschinen über die PowerShell geändert werden, genauso können VMs auch gesteuert werden. Der

Mit PowerCLI können Einstellungen virtueller Maschinen über die PowerShell geändert werden, genauso können VMs auch gesteuert werden.

Page 13: VMware-Management mit PowerCLI-Scriptingdocs.media.bitpipe.com/io_12x/io_128884/item_1269355/e...EDITORIAL POWERCLI: KONFIGURATION VSPHERE MANAGEMENT ASSISTANT EINFÜHRUNG: POWERCLI-CMDLETS

EDITORIAL

POWERCLI: KONFIGURATION

VSPHERE MANAGEMENT ASSISTANT

EINFÜHRUNG:

POWERCLI-CMDLETS

CORE DUMP LÖSCHEN

SRM AUTOMATISIEREN

ÜBER DIE AUTOREN

VMWARE-MANAGEMENT MIT POWERCLI-SCRIPTING13

POWERCLI-CMDLETS

Befehl start-vm startet eine VM, das Cmdlet restart-vm startet VMs neu. Wollen Sie eine VM ausschalten, verwenden Sie das Cmdlet stop-vm. Sie können VMs aber auch pausieren lassen und mit dem Befehl suspend-vm anhalten. VMs, die nicht mehr benötigt werden, können aus dem Inventar entfernt werden. Dazu wird der Befehl remove-vm verwendet.

CMDLETS FÜR VSAN UND

STORAGE POLICY BASED MANAGEMENT (SPBM)

Viele VMware-Kunden setzen zur Daten-speicherung auf vSANs, eine Lösung, die vor allem in Software-defined-Storage-Umgebungen zum Einsatz kommt. Die einzelnen Einstellungen für den Storage können seit PowerCLI 6 ebenfalls mit der PowerShell verwaltet werden. Dazu stehen die

folgenden Cmdlets zur Verfügung:• Export-SpbmStoragePolicy• Get-SpbmCapability• Get-SpbmCompatibleStorage• Get-SpbmEntityConfiguration• Get-SpbmStoragePolicy• Import-SpbmStoragePolicy• New-SpbmRule• New-SpbmRuleSet• New-SpbmStoragePolicy• Remove-SpbmStoragePolicy• Set-SpbmEntityConfiguration• Set-SpbmStoragePolicy

Mit diesen Cmdlets erstellen Administratoren umfassende Skripte oder können Einstellungen automatisieren. Für alle Cmdlets können mit get-help weitere Informationen angezeigt werden, mit get-help <CMDlet> -examples lassen sich Beispiele anzeigen.

POWERCLI-CMDLET FOR NFS

Neben den Standardbefehlen der PowerCLI bietet VMware auch die Erweiterung PowerCLI Cmdlet for NFS. vSphere 6 bietet die Möglichkeit,

Der Vorteil der PowerCLI liegt in der Möglichkeit, die Ergebnisse eines Cmdlets an ein anderes weiterzugeben.

Page 14: VMware-Management mit PowerCLI-Scriptingdocs.media.bitpipe.com/io_12x/io_128884/item_1269355/e...EDITORIAL POWERCLI: KONFIGURATION VSPHERE MANAGEMENT ASSISTANT EINFÜHRUNG: POWERCLI-CMDLETS

EDITORIAL

POWERCLI: KONFIGURATION

VSPHERE MANAGEMENT ASSISTANT

EINFÜHRUNG:

POWERCLI-CMDLETS

CORE DUMP LÖSCHEN

SRM AUTOMATISIEREN

ÜBER DIE AUTOREN

VMWARE-MANAGEMENT MIT POWERCLI-SCRIPTING14

POWERCLI-CMDLETS

NFSv4.1 sowie Kerberos zu verwenden. Die NFS-Clients einzurichten ist allerdings nicht ganz

einfach. PowerCLI 6 unterstützt wiederum bei der Einrichtung von Benutzern und Kerberos-Principals zusammen mit NFSv4.1. Damit

Sie diese neuen Funktionen nutzen können, müssen Sie die NFS-Erweiterung für PowerCLI herunterladen und das Archiv in ein Verzeichnis entpacken, zum Beispiel C:\Powercli. Danach fügen Sie die Befehle über die PowerCLI ein:

C:\PS>$env:PSModulePath = $env:PSModulePath + „;C:\powercli“

C:\PS>import-module VMware.VimAutomation.Storage.Fling

C:\PS>get-command -Module VMware.VimAutomation.Storage.Fling –Thomas Joos

Viele VMware-Kunden setzen zur Datenspeicherung auf vSANs, eine Lösung, die vor allem in Software-defined-Storage-Umgebungen zum Einsatz kommt.

Page 15: VMware-Management mit PowerCLI-Scriptingdocs.media.bitpipe.com/io_12x/io_128884/item_1269355/e...EDITORIAL POWERCLI: KONFIGURATION VSPHERE MANAGEMENT ASSISTANT EINFÜHRUNG: POWERCLI-CMDLETS

EDITORIAL

POWERCLI: KONFIGURATION

VSPHERE MANAGEMENT ASSISTANT

EINFÜHRUNG:

POWERCLI-CMDLETS

CORE DUMP LÖSCHEN

SRM AUTOMATISIEREN

ÜBER DIE AUTOREN

VMWARE-MANAGEMENT MIT POWERCLI-SCRIPTING15

CORE DUMP LÖSCHEN

Per PowerCLI einen gesperrten Core Dump entfernen

Zuweilen kommt es vor, dass man eine große Core-Dump-Datei im Ordner VMKDUMP auf einem ESXi-System hat, die erst gelöscht werden muss, bevor weitere virtuelle Maschinen hinzugefügt werden können. Besonders schwierig wird es dann, wenn beim Löschversuch eine Fehlermeldung erscheint und die Datei auch nicht über die Konsole oder PowerCLI-Befehle gelöscht werden kann. Wenn man lediglich einen Host im Einsatz hat, dann ist eigentlich schon die Hälfte der Arbeit erledigt. In diesem Fall muss man nämlich nicht erst herausfinden, welcher Host die Datei erzeugt hat.

Die Core-Dump-Datei ist eine Art Container, in den ESXi im Falle einer sogenannten Kernel-Panik Informationen schreibt. Das Ende der Geschichte ist ein Purple Screen of Death (PSOD). Diese Datei kann nicht entfernt werden, weil der Host sie mit einer Sperre versehen hat. Damit stellt das System sicher, dass es ein Ziel für die Diagnoseinformationen gibt.

Wenn die Datei gelöscht werden soll, erscheint entsprechend eine Fehlermeldung; das Gleiche würde passieren, wenn man eine laufende virtuelle Maschine löschen möchte.

Es gibt allerdings eine Möglichkeit, den Core Dump zu manipulieren. Leider funktioniert das nicht mit einigen Mausklicks in der grafischen Benutzeroberfläche. Um die Core-Dump-Dateien zu löschen, muss man via Secure Shell (SSH) oder ESXi-Shell auf die Kommandozeile zugreifen. Beide Optionen sind in der Standardinstallation

Es gibt eine Möglichkeit, den Core Dump zu manipulieren. Leider funktioniert das nicht mit einigen Mausklicks in der grafischen Benutzeroberfläche.

Page 16: VMware-Management mit PowerCLI-Scriptingdocs.media.bitpipe.com/io_12x/io_128884/item_1269355/e...EDITORIAL POWERCLI: KONFIGURATION VSPHERE MANAGEMENT ASSISTANT EINFÜHRUNG: POWERCLI-CMDLETS

EDITORIAL

POWERCLI: KONFIGURATION

VSPHERE MANAGEMENT ASSISTANT

EINFÜHRUNG:

POWERCLI-CMDLETS

CORE DUMP LÖSCHEN

SRM AUTOMATISIEREN

ÜBER DIE AUTOREN

VMWARE-MANAGEMENT MIT POWERCLI-SCRIPTING16

CORE DUMP LÖSCHEN

von ESXi deaktiviert. Dies lässt sich aber ganz einfach ändern, indem man die gewünschten Services startet. SSH oder ESXi-Shell können im

Bereich Security Profile im Reiter für die Host-Konfiguration aktiviert werden.

Nachdem der Shell-Zugriff aktiviert wurde, kann man die Core-Dump-Sektionen auf dem esxcli verwenden. Damit lassen sich Core-Dump-Dateien hinzufügen, modifizieren oder löschen.

Um die aktiven Core-Dump-Dateien eines Hosts anzuzeigen, verwenden Sie nachfolgenden Befehl:

esxcli system coredump file list

Will man nun eine der angezeigten Core-Dump-Dateien löschen, dann funktioniert dies mit dem folgenden Befehl:

esxcli system coredump file remove –F

Der Parameter -F (Force) spezifiziert, dass Sie eine Löschung der Core-Dump-Datei erzwingen wollen. Geht man nun zurück zum Datenspeicher, dann liegt die Datei dort nicht mehr vor. Durch den frei gewordenen Platz kann man nun weitere virtuelle Maschinen hinzufügen. –Mike Preston

Die Core-Dump-Datei ist eine Art Container, in den ESXi im Falle einer sogenannten Kernel-Panik Informationen schreibt.

Page 17: VMware-Management mit PowerCLI-Scriptingdocs.media.bitpipe.com/io_12x/io_128884/item_1269355/e...EDITORIAL POWERCLI: KONFIGURATION VSPHERE MANAGEMENT ASSISTANT EINFÜHRUNG: POWERCLI-CMDLETS

EDITORIAL

POWERCLI: KONFIGURATION

VSPHERE MANAGEMENT ASSISTANT

EINFÜHRUNG:

POWERCLI-CMDLETS

CORE DUMP LÖSCHEN

SRM AUTOMATISIEREN

ÜBER DIE AUTOREN

VMWARE-MANAGEMENT MIT POWERCLI-SCRIPTING17

SRM AUTO-MATISIEREN

VMware Site Recovery Manager mit PowerCLI automatisieren

In diesem Tipp werde ich Ihnen zeigen, wie Sie PowerCLI-Skripte zur Verwaltung des VMware vCenter Site Recovery Manager (SRM) verwenden können. Zusammen mit der Windows PowerShell können Sie so VMware-Produkte wie eben den Site Recovery Manager (SRM) äußerst effizient verwalten, vor allem wenn Sie im Unternehmen zwar mit VMware arbeiten, aber zusätzlich noch auf Windows-Arbeitsstationen zurückgreifen.

Sie können zwar natürlich auch im klassischen Stil Batch-Dateien verwenden, um Befehlsschritte in SRM durchzuführen. Allerdings sind Windows-Batch-Dateien keine besonders leistungsfähige und erweiterbare Programmierschnittstelle (API) für die Anpassung und Modifikation der vSphere-Plattform. Wenn Sie subtiler und professioneller arbeiten wollen, effiziente Skripte erarbeiten und umfassende Automatisierungen vornehmen müssen, dann brauchen Sie ein robusteres Skript-Modul.

Glücklicherweise bietet VMware seit einiger Zeit eine umfassende Unterstützung der Microsoft PowerShell, ergänzt diese mit zusätzlichen Cmdlets, die speziell für die Verwaltung der virtuellen VMware-Umgebung entwickelt wurden, und bietet auf diesem Weg auch die Unterstützung einer effizienten Skriptentwicklung.

POWERCLI INSTALLIEREN UND EINRICHTEN

Die PowerShell ist mittlerweile fester Bestandteil von Windows-Systemen und muss dort nicht mehr gesondert installiert werden. Sie müssen aber auf dem SRM-Server im Recovery-Standort die VMware PowerCLI-Tools installieren, um die neuen Cmdlets nutzen zu können.

Sobald Sie die PowerCLI-Umgebung auf dem SRM-Server am Recovery-Standort eingerichtet haben, können Sie PowerShell-Skripte erstellen

Page 18: VMware-Management mit PowerCLI-Scriptingdocs.media.bitpipe.com/io_12x/io_128884/item_1269355/e...EDITORIAL POWERCLI: KONFIGURATION VSPHERE MANAGEMENT ASSISTANT EINFÜHRUNG: POWERCLI-CMDLETS

EDITORIAL

POWERCLI: KONFIGURATION

VSPHERE MANAGEMENT ASSISTANT

EINFÜHRUNG:

POWERCLI-CMDLETS

CORE DUMP LÖSCHEN

SRM AUTOMATISIEREN

ÜBER DIE AUTOREN

VMWARE-MANAGEMENT MIT POWERCLI-SCRIPTING18

SRM AUTO-MATISIEREN

und dazu die neuen Cmdlets nutzen. Es lohnt sich, in PowerCLI Ihre Sicherheitseinstellungen zu konfigurieren und zu bestätigen, dass Sie sich mit PowerCLI auch am vCenter-Server vor Ort einloggen können.

Eine der häufigsten Fragen in den SRM-Foren lautet, wie die Auslastung des Arbeitsspeichers der virtuellen Maschinen (VMs) während des Wiederherstellungsprozesses reduziert werden kann. Dies ist ein häufiges Problem, weil viele Unternehmen manchmal weniger leistungsfähige ESX-/ESXi-Hosts am Recovery-Standort verwenden. Oft ist auch einfach deutlich weniger Arbeitsspeicher in den Hosts am Recovery-Standort als an den produktiven Standorten verbaut. Mit PowerCLI können Sie den Prozess automatisieren und den Speicherverbrauch verringern.

Mit einer Verringerung der RAM-Zuweisung an eine virtuelle Maschine können Sie, zusam-men mit PowerShell-Skripten, den Vorgang automatisieren, bevor VMs aktiv geschaltet werden. Einfach ausgedrückt automatisieren Sie mit dem Skript Abläufe und starten diese zu Zeiten, an denen der ESX-/ESXi-Host nicht

zu stark ausgelastet ist. Es gibt verschiedene Möglichkeiten, dies per PowerCLI zu bewerkstelligen. Sie können zum Beispiel für jede VM ein PowerShell-Skript schreiben und deren Speicher reduzieren. Unten ist ein Beispiel für ein solches PowerShellS-Skript mit der Bezeichnung ctx01 aufgeführt.

Dieses Skript verwendet das Set-vm-Cmdlet für die Speicherzuweisung der Wieder-herstellungs-VM zu 1024 Megabyte. Die Option -confirm: $ false verhindert, dass das Skript auf eine Bestätigung durch den Benutzer wartet, um seine Änderungen durchzuführen:

Beispiel 1:

connect-viserver vc4nj.corp.com --user corp\administrator --password vmware Set-VM ctx01 -MemoryMB „1024“ -Confirm:$FALSE Disconnect-VIServer –Server vc4nj.corp.com -Confirm:$FALSE

Natürlich ist ein PowerShell-Skript für jede einzelne virtuelle Maschine sehr aufwendig zu verwalten. Besser ist es daher, ein Skript

Page 19: VMware-Management mit PowerCLI-Scriptingdocs.media.bitpipe.com/io_12x/io_128884/item_1269355/e...EDITORIAL POWERCLI: KONFIGURATION VSPHERE MANAGEMENT ASSISTANT EINFÜHRUNG: POWERCLI-CMDLETS

EDITORIAL

POWERCLI: KONFIGURATION

VSPHERE MANAGEMENT ASSISTANT

EINFÜHRUNG:

POWERCLI-CMDLETS

CORE DUMP LÖSCHEN

SRM AUTOMATISIEREN

ÜBER DIE AUTOREN

VMWARE-MANAGEMENT MIT POWERCLI-SCRIPTING19

SRM AUTO-MATISIEREN

zu verwenden, mit dem Sie mehrere VMs auf einmal anpassen können. Je weniger Skripte Sie verwenden, umso übersichtlicher ist der Verwaltungsaufwand. Außerdem müssen Sie bei neuen Versionen dann weniger Anpassungen vornehmen. Das Beispiel oben ist aber auf jeden Fall ein schnell umsetzbarer Ansatz, das beschriebene Problem zu lösen.

Wenn Sie nur wenige virtuelle Maschinen auf einmal wiederherstellen müssen, hilft das Skript enorm, und diese Vorgehensweise ist sicherlich besser, als auf herkömmlichem Weg die Wiederherstellung durchzuführen.

Das obere Skript lässt sich aber sehr gut ausbauen. Unten finden Sie zum Beispiel ein PowerShell-Skript, das das Cmdlet get-vm verwendet und jede VM erfasst, die mit dem Text „ctx“ beginnt. Das Ergebnis dieses Befehls wird dann über Pipelines an das Cmdlet set-vm übergeben. Dieser Befehl ändert dann die Speicherzuweisung Ihrer VMs ctx01 , ctx02 und so weiter. Diese Pipeline-Möglichkeit gibt es auch für andere Cmdlets; sie stellt eine der Stärken der PowerShell dar, von der auch PowerCLI profitiert.

Beispiel 2:

connect-viserver vc4nj.corp.com --user corp\administrator --password vmware get-vm ctx* | Set-VM -MemoryMB „1024“ -Confirm:$FALSE Disconnect-VIServer –Server vc4nj.corp.com -Confirm:$FALSE

Ein anspruchsvolleres Skript kann nicht nur eine feste Speichermenge konfigurieren, sondern die der VM zugewiesene Speichermenge auch auslesen und danach um einen bestimmten Faktor reduzieren. Das ist vor allem in größeren Umgebungen sinnvoller und stellt einen Ausbau des vorherigen Skriptes dar.

Beispielsweise wäre es damit möglich, die Speichermenge aller gefundenen VMs mit dem Faktor 0,5 zu konfigurieren, den Speicherbedarf also zu halbieren. Das folgende Skript erfasst dazu die aktuelle Speichermenge, die der VM zugewiesen ist, und reduziert sie dann um 50 Prozent.

Für jede VM mit ctx* in ihrem Namen findet das Skript die zugewiesene Menge an Speicher und verwendet dann das Cmdlet Set-vm, um den Speicher zu konfigurieren. Sie sehen also,

Page 20: VMware-Management mit PowerCLI-Scriptingdocs.media.bitpipe.com/io_12x/io_128884/item_1269355/e...EDITORIAL POWERCLI: KONFIGURATION VSPHERE MANAGEMENT ASSISTANT EINFÜHRUNG: POWERCLI-CMDLETS

EDITORIAL

POWERCLI: KONFIGURATION

VSPHERE MANAGEMENT ASSISTANT

EINFÜHRUNG:

POWERCLI-CMDLETS

CORE DUMP LÖSCHEN

SRM AUTOMATISIEREN

ÜBER DIE AUTOREN

VMWARE-MANAGEMENT MIT POWERCLI-SCRIPTING20

SRM AUTO-MATISIEREN

die Skripte werden zwar komplizierter, bieten dafür aber auch mehr Möglichkeiten und sind wesentlich flexibler als einfache Skripte. Einfache Skripte sind zwar schneller geschrieben, aber weitaus weniger flexibel. Das bedeutet also: Je mehr VMs Sie einsetzen, umso ausgereifter sollten die Skripte sein.

Beispiel 3:

connect-viserver vc4nj.corp.com --user corp\administrator --password vmware Foreach ($VM in Get-VM ctx*){ $NewMemAmount = $VM.MemoryMB / 2 Set-VM $VM-MemoryMB $NewMemAmount -Confirm:$FALSE} Disconnect-VIServer –Server vc4nj.corp.com -Confirm:$FALSE

In meiner Umgebung habe ich mich ent-schlossen, diese letztgenannte Methode zur Steuerung der Speichermenge zu verwenden. An dieser Stelle möchte ich Al Renouf aus Großbritannien danken, der mir dabei half, das letzte Beispiel zu schreiben. Wenn Sie nicht wissen, wer Al ist, dann sollten Sie sich seinen

PowerShell-Blog ansehen. Er ist ein Spezialist im Umgang mit PowerShell und PowerCLI.

Der nächste Teil beschäftigt sich mit der Möglichkeit, diese PowerShell-Skripte mit Site Recovery Manager zu verbinden und deren Aufruf zu automatisieren. Ich möchte nicht die einzelnen PowerShell-Skripte direkt aufrufen müssen, sondern eine Cmd-/BAT-Datei erstellen. Diese

soll das entsprechende Skript zur gegebenen Zeit starten. Das reduziert die Textmenge innerhalb der Skripte, erhöht die Übersicht und verbessert noch einmal die Flexibilität der Skripte.

Durch die Verwendung von Variablen in der BAT-Datei können wir diese wiederverwenden,

Einfache Skripte sind schneller geschrieben, aber weitaus weniger flexibel. Je mehr VMs Sie einsetzen, umso ausgereifter sollten die Skripte sein.

Page 21: VMware-Management mit PowerCLI-Scriptingdocs.media.bitpipe.com/io_12x/io_128884/item_1269355/e...EDITORIAL POWERCLI: KONFIGURATION VSPHERE MANAGEMENT ASSISTANT EINFÜHRUNG: POWERCLI-CMDLETS

EDITORIAL

POWERCLI: KONFIGURATION

VSPHERE MANAGEMENT ASSISTANT

EINFÜHRUNG:

POWERCLI-CMDLETS

CORE DUMP LÖSCHEN

SRM AUTOMATISIEREN

ÜBER DIE AUTOREN

VMWARE-MANAGEMENT MIT POWERCLI-SCRIPTING21

SRM AUTO-MATISIEREN

um eine beliebige Anzahl von PS-Dateien auf dem SRM-Server zu verwalten und aufzurufen. Durch die Kombination von PowerShell, PowerCLI, SRM und Batch-Dateien können Sie auf diesem Weg eine sehr effektive und ressourcensparende Methode der Wiederherstellung nutzen.

SCHRITT 1: BATCH-DATEI

REDIRECT.BAT ERSTELLEN

Ich habe zum ersten Mal die Batchdatei REDIRECT.BAT erstellt und verwendet, als ich Carter Shaklins Blogbeitrag zur PowerCLI zum Thema PowerShell-Skripte mit vCenter-Benachrichtigungen gelesen habe. Mithilfe der Website von Al (Virtu-al.net) war ich in der Lage, mit einer BAT-Datei meine .PS1-Skripte

zu starten. Das Skript lädt die Powershell-Umgebung zusammen mit der .PS1-Datei, die die PowerCLI-Cmdlets in die PowerShell einbindet. Die Variable am Ende (%1) lässt sich für jede .PS1 -Datei verwenden, die mit einer einzigen REDIRECT.BAT-Datei aufgerufen werden kann.

@echo off

C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe -psc „C:\Program Files\VMware\Infrastructure\vSphere PowerCLI\vim.psc1“ „& ‚%1‘“

SCHRITT 2: BATCH-DATEI UND POWERCLI-

SKRIPTE AUF DEN SRM-SERVER KOPIEREN

Im nächsten Schritt müssen Sie Ihre REDIRECT.BAT und die PS-Datei(en) an den Standort und den Recovery-SRM-Server kopieren. Es ist dabei egal, wo Sie diese Datei speichern, solange Sie den Pfad zum Skript korrekt eingeben. Wenn Sie den Befehl in einem Recovery-Plan angeben, sollte dieser ohne Fehler ausgeführt werden.

Der Speicherort des PowerShell-Skriptes ist wichtig. Es muss vor der Wiederherstellung der als hoch, normal oder niedrig eingestuften VMs aufgerufen werden.

Page 22: VMware-Management mit PowerCLI-Scriptingdocs.media.bitpipe.com/io_12x/io_128884/item_1269355/e...EDITORIAL POWERCLI: KONFIGURATION VSPHERE MANAGEMENT ASSISTANT EINFÜHRUNG: POWERCLI-CMDLETS

EDITORIAL

POWERCLI: KONFIGURATION

VSPHERE MANAGEMENT ASSISTANT

EINFÜHRUNG:

POWERCLI-CMDLETS

CORE DUMP LÖSCHEN

SRM AUTOMATISIEREN

ÜBER DIE AUTOREN

VMWARE-MANAGEMENT MIT POWERCLI-SCRIPTING22

SRM AUTO-MATISIEREN

SCHRITT 3: RECOVERY-PLAN ANPASSEN

1. Im Wiederherstellungsplan sollten Sie auf der Registerkarte Wiederherstellungsschritte die Option zur Zuteilung einer hohen Priorität von Wiederherstellungsvorgängen der virtuellen Maschinen festlegen.

2. Klicken Sie auf die Schaltfläche zum Hinzufügen von zusätzlichen Befehlen.

3. Geben Sie den vollständigen Pfad zum Kommandointerpreter (cmd.exe), der REDIRECT.BAT und der PS-Datei ein, die Sie ausführen möchten. Achten Sie darauf, dass die Pfade und Bezeichnungen in den Dateien korrekt gesetzt sind.

Der Speicherort des PowerShell-Skriptes ist wichtig. Es muss vor der Wiederherstellung der als hoch, normal oder niedrig eingestuften VMs aufgerufen werden. Falls nicht, wird das PowerShell-Skript fehlerhafte Änderungen über den Platzhalter durchführen.

In diesem Fall werden dann die falschen VMX-Dateien anstatt der echten VMX-Dateien der einzelnen VMs angepasst. Denken Sie daran: Während der „Prepare Storage“-Phase werden die Platzhalter-VMX-Dateien aus vCenter ausgetragen und an ihrer Stelle die echten

VMX-Dateien eingetragen. Daher werden alle Änderungen an der Datei placeholder.vmx einfach ignoriert und ersetzt.

Wenn Sie sich unwohl dabei fühlen, dass SRM diese Skripte automatisch startet, dann können Sie auch die Möglichkeit zur Einrichtung von Benachrichtigungsschritten nutzen. In diesem Fall müssen Sie die Befehle allerdings manuell ausführen. Darüber hinaus können Sie überprüfen, wie sich Ihre PowerShell-Dateien auf Ihrem vCenter authentifizieren.

In meinem Fall habe ich die Dinge einfach gehalten und Benutzername sowie Passwort im Klartext in der PS-Datei hinterlegt. Das mag nicht besonders sicher sein, aber es ist praktisch und funktioniert. Achten Sie jedoch darauf, für diesen Fall einen eigenen Benutzernamen zu verwenden, den Sie jederzeit ändern oder löschen können. Es gibt Methoden der Authentifizierung in der PowerShell, bei denen das nicht nötig ist. So können zum Beispiel auch verschlüsselte Anmeldeinformationen für das lokale System-konto verwendet werden. In diesem Fall müssen Sie den Benutzernamen und das Kennwort nicht in die PS-Datei aufnehmen.

Page 23: VMware-Management mit PowerCLI-Scriptingdocs.media.bitpipe.com/io_12x/io_128884/item_1269355/e...EDITORIAL POWERCLI: KONFIGURATION VSPHERE MANAGEMENT ASSISTANT EINFÜHRUNG: POWERCLI-CMDLETS

EDITORIAL

POWERCLI: KONFIGURATION

VSPHERE MANAGEMENT ASSISTANT

EINFÜHRUNG:

POWERCLI-CMDLETS

CORE DUMP LÖSCHEN

SRM AUTOMATISIEREN

ÜBER DIE AUTOREN

VMWARE-MANAGEMENT MIT POWERCLI-SCRIPTING23

SRM AUTO-MATISIEREN

Aber Vorsicht: Denken Sie über die Folgen der Verwendung von PowerCLI für die Steuerung des Failback von VMs genau nach und testen Sie Ihre Einstellungen gründlich in einer Testumgebung. Diese Änderungen würden zurück zu den geschützten Standort repliziert werden, sollten Sie sich entscheiden, ein Failback in den geschützten Bereich durchzuführen.

Damit wären auch Ihre produktiven Maschinen von den Änderungen betroffen. Beachten Sie, dass Sie hierbei Änderungen an der VMX-Datei zur Speicherzuweisung von VMs durchführen. Als Teil des Failback-Prozesses können Sie die

Replikationsrichtung ändern, um Veränderungen am Recovery-Standort zurück zum geschützten Bereich der Hosts zu deaktivieren.

Um dieses Problem zu vermeiden, schreiben Sie am besten ein PS-Skript, das die von Ihnen vorgenommenen Änderungen wieder zurücknimmt.

Wie Sie sehen, können Sie mit VMware SRM und PowerCLI alle möglichen Anpassungen vornehmen, um Ihre VMs und Ihre vSphere-Plattform zu konfigurieren. Beim Ausführen von Recovery-Plänen lassen sich diese Skripte dann integrieren. –Mike Laverick

Page 24: VMware-Management mit PowerCLI-Scriptingdocs.media.bitpipe.com/io_12x/io_128884/item_1269355/e...EDITORIAL POWERCLI: KONFIGURATION VSPHERE MANAGEMENT ASSISTANT EINFÜHRUNG: POWERCLI-CMDLETS

EDITORIAL

POWERCLI: KONFIGURATION

VSPHERE MANAGEMENT ASSISTANT

EINFÜHRUNG:

POWERCLI-CMDLETS

CORE DUMP LÖSCHEN

SRM AUTOMATISIEREN

ÜBER DIE AUTOREN

VMWARE-MANAGEMENT MIT POWERCLI-SCRIPTING24

ÜBER DIE AUTOREN

KEITH KESSINGER ist Gerichtsschreiber in New York und war vorher als Redakteur für SearchServerVirtualization.com tätig. Er hat einen Bachelor-Abschluss in Journalismus von der Notheastern University.

DAVID DAVIS ist Autor des Bestsellers „TrainSignal“, einer Videoschulung zu vSphere. Er hat zudem hunderte Artikel zum Thema Virtualisierung veröffentlicht und hält die Zertifizierungen vExpert, VCP, VCAP-DCA sowie CCIE #9369.

THOMAS JOOS beschäftigt sich bereits sein ganzes Berufsleben mit der IT und ist Autor von über 60 Fachbüchern, die bei verschiedenen Verlagen erschienen sind. Er schreibt außerdem regelmäßig Beiträge für IT-Fachzeitschriften und -Webseiten.

MIKE PRESTON ist seit mehr als 15 Jahren im IT-Bereich tätig und hat bereits als Netzwerktechniker, System-Administrator, Webentwickler und Systemingenieur gearbeitet.

MIKE LAVERICK ist IT-Dozent mit mehr als 15 Jahren Arbeitserfahrung in den Bereichen Novell, Windows und Citrix. Momentan ist er bei VMware als Senior-Cloud-Infrastructure-Experte tätig.

VMware-Management mit PowerCLI-Scripting

ist eine Publikation von SearchDataCenter.de

Michael Eckert | Editorial Director

Wolfgang Dietl | Online Editor

Ulrike Riess | Online Editor

Tobias Wendehost | Online Editor

Becky Wrigley | Assistant Editor

Bill Crowley | Herausgeber [email protected]

TechTarget 275 Grove Street, Newton, MA 02466

www.techtarget.com

© 2015 TechTarget Inc. Kein Teil dieser Veröffentlichung darf ohne vorherige schriftliche Genehmigung des Verlages in irgendeiner Form oder auf irgendeine Weise weitergegeben oder reproduziert werden. Nachdrucke von TechTarget-Pub-likationen sind verfügbar über The YGS Group.

Über TechTarget: TechTarget publiziert Informationen für Profis im Bereich In-formationstechnologie. Mehr als 100 Themen-Websites ermöglichen schnellen Zugriff auf ein reichhaltiges Angebot an Nachrichten, Ratgebern und Analysen über die Technologien, Produkte und Prozesse, die entscheidend sind für beruflichen Erfolg. Unsere Live- und virtuellen Veranstaltungen vermitteln direkten Zugang zu den Einschätzungen und Ratschlägen unabhängiger Experten. IT Knowledge Exchange, unsere soziale Community, bietet die Möglichkeit, um Rat zu fragen und sich mit Kollegen und Experten über Lösungen auszutauschen.