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
virtuellen SCSI Adapter tauschen
Es gibt Situationen, da ist es notwendig den virtuellen SCSI Adapter einer VM zu tauschen. Ich fand neulich eine Windows XP VM mit virtuellem IDE Controller auf einem ESX System. Wie kam das dorthin? Konfigurieren kann man ein solches Szenario im vSphere-Client nicht (ist auch gut so 😉 ). In der Regel kommen solche Wolpertinger durch Konvertierungen von VMware Workstation-VM, oder durch P2V Konvertierungen aus einem realen PC. Dieser hat meist einen IDE/SATA Controller.