mercoledì 6 settembre 2017

Come aggiornare (quasi) facilmente VMWARE ESXi da 5.x a 6.x

Abilitare SSH, spegnere tutte le machine virtuali ed entrare in Maintenance Mode


Da ssh:

Controllare la versione corrente
~ # vmware -lv
VMware ESXi 5.5.0 build-3568722
VMware ESXi 5.5.0 Update 3

Configurare il firewall
~ # esxcli network firewall ruleset set -e true -r httpClient

Scaricare la lista aggiornata delle versioni

~ # esxcli software sources profile list -d "https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml" | sort -r
Name                              Vendor        Acceptance Level
ESXi-6.5.0-4564106-standard       VMware, Inc.  PartnerSupported
ESXi-6.5.0-4564106-no-tools       VMware, Inc.  PartnerSupported
ESXi-6.5.0-20170702001-standard   VMware, Inc.  PartnerSupported
ESXi-6.5.0-20170702001-no-tools   VMware, Inc.  PartnerSupported
...........
--------------------------------  ------------  ----------------

Il sito https://esxi-patches.v-front.de/ contiene informazioni su ogni versione.
Ad oggi l'ultima versione è:

2017-07-27 (Update 1)
Imageprofile ESXi-6.5.0-20170702001-standard (Build 5969303)

Dopo aver googlato per verificare che l'ultima versione sia compatibile con il ferro, procedere con l'aggiornamento

~ # esxcli software profile update -p ESXi-6.5.0-20170702001-standard -d https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml

Ahi!
[DependencyError]
VIB AR81Family_bootbank_net-atl1e_1.0.1.14 requires com.vmware.driverAPI-9.2.0.0, but the requirement cannot be satisfied within the ImageProfile.
VIB AR81Family_bootbank_net-atl1e_1.0.1.14 requires vmkapi_2_0_0_0, but the requirement cannot be satisfied within the ImageProfile.
Please refer to the log file for more details.


Il VIB è il driver per la scheda di rete Atheros interna al PC, ma non ha mai funzionato e ai tempi ho dovuto aggiungere una scheda di rete Intel.
Riprovo dopo aver rimosso  il VIB che non mi serve.
~ # esxcli software vib remove --vibname=AR81Family_bootbank_net-atl1e_1.0.1.14

Bene, ha funzionato.

Anzi no, infatti sono stato troppo ottimista:

[InstallationError]
[Errno 28] No space left on device

       vibs = VMware_locker_tools-light_6.5.0-0.23.5969300

Please refer to the log file for more details.

Questo thread salvifico https://communities.vmware.com/thread/560543 suggerisce di abilitare lo swap a livello Datastore: Manage->System->Swap Edit Settings.
Da Datastore "No" ho impostato un datastore

Riavviato, ripetuto l'aggiornamento e l'update ora ha funzionato

Rimettere a posto il firewall
~ # esxcli network firewall ruleset set -e false -r httpClient

Riavviare il sistema

~ # vmware -lv
VMware ESXi 6.5.0 build-5969303
VMware ESXi 6.5.0 Update 1

I log li visualizzo così: https://IP_of_Your_ESXi/host

La licenza ESXi 5.5 non è più valida e va sostituita con quella per ESXi 6.5.

Infine ho trovato nell'inventario una vm orfana poiché avevo brutalmente cancellato dal datastore la cartella che la conteneva.
L'unico modo che ho trovato per far sparire la voce invalida dall'inventario è stato quello di ripristinare la vm, riavviare il sistema e deregistrare la vm.