Autorenarchiv
VMware: Skripte mit Powershell CLI
Mit diesem Eintrag beginnt eine neue Phase in meinem IT-Leben, das erste Mal betrete ich das Neuland der Blog-Szene. Es soll hier um die Erfahrungen im Zusammenhang mit der Umsetzung von Virtualisierungs-Projekten gehen.
Als Teil eines Kundenprojekts betreuen wir im Endausbau eine Installation von über 6000 virtuellen Desktops bei über 5000 Benutzern gleichzeitig, verteilt auf über 50 ESX-Instanzen. Besondere Herausforderung bei dieser Installation ist die Verwendung von SunVDI, da hier auch Sun Rays als Thin Clients verwendet werden sollen.
Bei ca. 100VMs pro ESX ist der Einsatz von VMware HA nicht mehr möglich. VMware HA unterstützt maximal bis zu 40 VMs pro ESX (Version 3.5). Um das Problem eines ESX-Ausfalls abzufangen, wurde nach einer eigenen HA-Lösung gesucht.
Als guter Ausgang hat sich dabei die Verwendung von Powershell-Snapins, VMware vSphere PowerCLI herausgestellt. Damit lassen sich mit wenigen Statements komplexe Aufgaben automatisieren.
Erste Schritte:
Die cmdlet-Snapins sind beim interaktiven Aufruf der Shell geladen, wird ein Skript über cmd.exe oder durch Doppelklick gestartet, sind die Snapins noch nicht geladen. Folgende Sequenz prüft das und lädt ggf. die Snapins nach, sollten sie nicht bereits verfügbar sein.
& {
$ErrorActionPreference = “silentlycontinue”
$vmwareSnap = get-pssnapin -name “VMware.VimAutomation.Core”
if (! $?) { add-pssnapin “VMware.VimAutomation.Core” }
}
Komplexe Anforderungen einfach umsetzen
Danach lassen sich recht einfach auch komplexe Aufgaben erledigen:
$povms = Get-VM -Server $vCenter -Location (Get-VMHost -Server $vCenter -State NotResponding) | Where-Object {$_.PowerState -eq “PoweredOn”}
Diese Sequenz liefert alle VMs, die auf einem ESX, der nicht mehr antwortet (State “NotResponding”) eingeschaltet ($_.PowerState -eq “PoweredOn”) waren.
$folder = Get-View (Get-Datacenter -Server $esxFailover -Name “ROC_VDI” | Get-Folder -Server $esxFailover -Name “SUN VDI”).ID
$respool = Get-View (Get-ResourcePool -Server $esxFailover -Location (Get-VMHost -Server $esxFailover)).ID$destesx = Get-VMHost -Server $esxFailover -Name “esx2.vmlab.roc.consol.de”
Damit sollten eigentlich alle Informationen verfügbar sein, um eine VM, die auf einem Shared Storage abgelegt ist, auf einem anderen ESX-Server, der darauf ebenfalls Zugriff hat, zu starten.
VMware SolutionTrack VSphere 4.0 Recap
14.10.09: Es schneite in München. Der Event fand statt über den Dächern von München, bei SkyEvent & SkyLine im 14.Stock. In einer sehr angenehmen Atmosphäre durften die Partner Neuigkeiten zu den Produkten AppSpeed, Capacity IQ, und natürlich einiges über die Vorteile und neuen Features von vSphere 4.0 und vCenter erfahren.
Damit es nicht langweilig wurde, gab es einige Teamarbeiten, wie zum Beispiel Whiteboarding. So lernten die Partner einiges über die Vorteile- und Nutzen-Argumentation zu den neuen Produkten. Ein weiterer Punkt auf der Agenda war das Pricing der vSphere 4.0 Produktreihe. Hier wurde kräftig diskutiert, weil sich die Lizensierung und die Paketierung geändert haben.
Alles in allem hat der Tag Spaß gemacht. Ich freue mich auf den nächsten SolutionTrack.

