MultiCore VMs

Unter vSphere4.1 können VMs mit bis zu 8 CPU (Enterprise Plus) ausgestattet werden. Standardmäßig wird eine VM mit acht SingeCore CPU erstellt. Da Software und Betriebsysteme in der Regel auf den CPU “Sockel” und nicht dessen “Kerne” lizenzieren, kann das sehr teuer werden. Mit einem kleinen Trick können aber Multicore VMs erstellt werden. „MultiCore VMs“ weiterlesen

Das Ressourcepool Paradoxon

Ressorcenpools sollen sie relative Verteilung der CPU und Arbeitsspeicher Ressourcen zwischen VMs regeln wenn es insgesamt zur Verknappung kommt. Die verfügbaren Gesamtressourcen werden zunächst unter den Root-Ressorcenpools anhand ihrer relativen Gewichtung aufgeteilt. Dabei verhalten sich die drei Grundeinstellungen low, normal und high wie 1:2:4. Gibt es beispielsweise einen low und einen high Pool auf Rootebene, so erhält low 1000 Anteile und high 4000 Anteile. Soweit alles in Ordnung, aber wo soll das Paradoxon sein? In seinem Artikel The Resource Pool Priority-Pie Paradox, erschienen auf Yellow-bricks.com, erklärt Craig Risinger wie es dazu kommen kann. „Das Ressourcepool Paradoxon“ weiterlesen

Zombie VM killen

Eine Methode zum Abschuss einer Zombie-VM (eine VM die sich mit Mitteln des vSphere Clients nicht abschalten lässt).

Auf der ESX Konsole:

Zuerst der Versuch auf die nette Tour:

vmware-cmd /vmfs/volumes/<Volume>/<VMOrdner>/<VMName>.vmx stop

Die Chancen, daß das nicht zum Ziel führt sind erhöht. Schließlich funktionierte es über die GUI schon nicht. Also nochmal, jetzt aber mit etwas Nachdruck:

vmware-cmd /vmfs/volumes/<Volume>/<VMOrdner>/<VMName>.vmx stop hard

Wenn das auch nicht hilft, dann muss die Kettensäge ran. Wir haben es mit einem harten Zombie zu tun. 😉 Zunächst brauchen wir die PID der VM. Die bekommen wir mit:

ps auxfww | grep <vmname>

Die gesuchte PID (process ID) befindet sich rechts neben “root”.

kill -9 <PID>

vSphereCLI

Diese Methode ist auch bei ESXi einsetzbar.

esxcli --server <Host> --username root --password "<pass>" vms vm list

Die World ID der VM notieren

esxcli --server <Host> vms vm kill --world-id <ID> --type <soft|hard|force>

Die Modi soft, hard und force sind verschiedene Härtegrade der Abschaltung.

soft: löst einen normalen Shutdown der VM aus. Enstpricht dem “kill <PID>” auf der ESX Konsole.

hard: die etwas härte Methode. Schaltet die VM hart aus. Entspricht dem “kill -9 <PID>” im obigen Beispiel auf der Konsole.

force: wenn nichts mehr hilft. Abschuss ohne Rüchsicht auf Verluste. Sollte nur angewandt werden, wenn es mit soft oder hard nicht funktionierte.

powerCLI

PowerCLI erinnert in vielen Punkten an eine bash und ist daher auch sehr gut zur Progrmmierung geeignet. Für einige Aufgaben gibt es keinen direkten Befehl, aber diese können z.B. durch Aufruf der esxcli Kommandos ausgeführt werden.

Für die Einbindung des ESXCli Cmdlets benötigen wir PowerCLI 4.1.1

Die PowerCLI Kommandos fand ich im Blogbeitrag von Boerlowie. Herzlichen Dank.

Connect-VIServer -Server <Host> -Credential $(Get-Credential -Credential root)
$esxcli = Get-EsxCli -Server <Host>
$esxcli.vms.vm.list() | Format-Table -Property DisplayName, WorldID

Die WorldID der Zombie-VM notieren für das folgende Kommando. Auch hier gibt es wieder die drei Modi soft, hard und force (vgl. oben).

$esxcli.vms.vm.kill("soft", <WorldID>)

ESXi Jumboframes auf vSwitch aktivieren

vSphereCLI:

Die Option –username muss nicht übergeben werden. Ohne Übergabe wird der Username und das Kennwort bei Verbindung abgefragt.

Einstellungen des vSwitch anzeigen:

vicfg-vswitch.pl --server <Name> [--username root] -l

MTU am vSwitch ändern:

Option -m bzw. –mtu setzt die maximale Paketgröße (Maximum Transmission Unit) auf z.B. 9000 Byte für alle am vSwitch angeschlossenen NICs. Alle Adapter müssen diese MTU unterstützen!

vicfg-vswitch.pl --server <Name> -m 9000 <vSwitch>

MTU auf Adapter anzeigen

vicfg-nics.pl --server <Name> -l

Einschränkung:

Diese Methode funktioniert nicht mit der freien Version von ESXi 4.x