Montag, 17. September 2012

Patchen von VMWare ESXi 5 über CLI

Kurzbeschreibung:

Mit der neuen Version von vSphere 5 können vihostupdate und esxupdate nicht mehr für einen Update von ESXi 5 verwendet werden. Es muss der Befehlssatz esxcli command benutzt werden um ESXi 5 Hosts mit Patches zu versorgen.

Vorgehensweise:

1. Grundvoraussetzung ist vMA 5.0 oder eine installierte und konfigurierte vCLI Shell oder ein Shellzugriff auf den ESXi 5 host. vMA 5.0 ist eine virtuelle Linuxmaschine die für die Durchführung der Updates vorkonfiguriert ist.

2. Die Patches werden direkt von der VMWare Supportseite geladen. Jeder Patch besteht aus einer Zip-Datei die nicht ausgepackt werden darf. Da die Dateinamen der heruntergeladenen Patches sehr lang sind empfiehlt es sich diese umzubenennen und mit einem kurzen aussagefähigen Dateinamen zu versehen.

3. Die Zip-Datei wird auf dem Datastore des ESXI5 Hosts abgelegt. Die folgenden Beispiele verwenden /vmfs/volumes/datastore1/patches. Die Befehlszeilen sind deshalb individuell anzupassen. Achtung: Die folgenden Beispiele beziehen sich auf vMA 5. Es ist dabei unbedingt auf Gross- und Kleinschreibung zu achten, da Linux casesensitive ist.

4. Zugriff auf die locale Konsole des vMA mit dem vi-admin account.

5. Um festzustellen ob für den Patch des ESXi Hosts der Maintenancemode benötigt wird die folgende Befehlszeile eingegeben:

esxcli --server=10.10.10.10 --username=root software sources vib get -d /vmfs/volumes/datastore1/Patches/ESXi500-201109001.zip | grep

6. Um den ESXi Host in den Maitenancemode zu versetzen wird das folgende Kommando benutzt:

vicfg-hostops --server 10.10.10.10 --operation enter

7. Die folgende Befehlszeile stellt sicher, dass sich der ESXi Host im Maintenancemode befindet:

vicfg-hostops --server=10.10.10.10 --operation info

Über den vSphere Client ist es auch möglich den ESXi 5 Host in den Maintenancemode zu versetzen. Bevor sich der ESX Host in den Maintenancemode versetzt wird müssen alle sich darauf befindlichen virtuellen Maschinen heruntergefahren werden. Alternativ, wenn mehrere VM Hosts und ein Virtual Center Server vorhanden sind, können die aktiven Maschinen auch auf einen anderen Hosts migriert werden.

8. Um festzustellen welche Patches auf dem ESXi Host schon vorhanden sind wird der nachfolgende Befehl abgesetzt:

esxcli --server=10.10.10.10 --username=root software vib list | more

9. Mit dem folgenden Befehl können die in der ZIP-Datei enthaltenen Einzelpakete angezeigt werden:

esxcli --server=10.10.10.10 --username=root software sources vib list --depot=/vmfs/volumes/datastore1/Patches/201109001.zip | m

10. Nun kann der ESXi Host mit dem heruntergeladenen Patch versorgt werden:

esxcli --server=10.10.10.10 --username=root software vib update --depot=/vmfs/volumes/datastore1/Patches/201109001.zip

11. Nach einem erfolgreichen Patchverlauf wird der ESXi Host rebooted:

vicfg-hostops --server 10.10.10.10 --operation reboot

12. Ein erfolgreicher Patchverlauf kann nach dem Reboot überprüft warden:

esxcli --server=10.10.10.10 --username=root software vib list | more

13. Zum Schluss wird der Maintenancemode auf dem ESXi Host über den SphereClient oder den folgenden Befehl beendet:

vicfg-hostops --server 10.10.10.10 --operation exit

Danach können die virtuellen Maschinen auf dem Host wieder gestartet oder zurück migriert werden.