Installazione di VMware ESXi

L'interfaccia fisica di ESXi

In fase di sviluppo Leggere le avvertenze In fase di sviluppo

VMware vSphere Hypervisor (aka ESXi) è un hypervisor bare-metal gratuito, ma non libero, che consente di virtualizzare i server per "consolidare" le applicazioni di una data center tradizionale. In pratica permette di concentrare un numero anche molto elevato di macchine usando solo pochi dispositivi hardware.

Quanto qui descritto è frutto di qualche esperienza personale, non particolarmente approfondita, ma provata per un lungo periodo temporale in ambiente di produzione, nel caso specifico una scuola superiore ad indirizzo informatico. Devo dire che non è esattamente il mio mestiere e oggi sto pensando a soluzioni più innovative e magari aderenti alla mia visione "open" del mondo IT.

Questo materiale l'ho scritto per passare dalla versione 4 all'attuale (2016) versione 6 di vSphere. Spero chi il lettore abbia qualche esperienza, anche minima, nella configurazione di server (linux in particolare) e nell'uso di software di virtualizzazione.

Installazione

Il boot da CD non ha nulla di particolare se non il fatto che vi serve una macchina adatta (ma anche non adatta), non dual-boot e di livello server:

L'esperienza che descrivo inizia oltre cinque anni fa con server Fujitsu Siemens PRIMERGY RX300 (Xeon 4 core, 6/8 GB di RAM, 3 dischi SAS da 150 GB) e arriva ad HP DL560 (Xeon 2x16 core, 128 GB di RAM, 5 dischi da 300 GB).

Quando descrivo può essere sperimentato anche utilizzando una macchina virtuale in cui installare ESXi (nested virtualization, testato solo all'interno di VMware player) a condizione di:

L'installazione è piuttosto rapida e senza sorprese.

Al termine quello che viene mostrato sul monitor è l'immagine di apertura di questa pagina (una vecchia versione di ESXi virtualizzato con VMware Player sul mio portatile): le operazioni possibili di fronte alla macchina fisica sono pochissime, poco più che spegnere e guardare se per caso l'alimentazione manca... Occorre però appuntarsi l'indirizzo, almeno IPv4, che in ambiente di produzione dovrebbe essere statico. E, se siete "paranoici" in tema di sicurezza informatica, il fingerprint (F2).

Amministrazione grafica

Per l'amministrazione è obbligatorio utilizzare una macchina “normale”. Per fare ciò occorre accedere via web all'IP mostrato dopo il boot sul monitor fisico del virtualizzatore. Il certificato https è auto-firmato, quindi occorre accettarlo esplicitamente.

Appena effettuato l'accesso, è opportuno inserire il codice della licenza, da richiedere gratuitamente sul sito VMware. In teoria la cosa può essere effettuata anche in un secondo momento, ma il rischio è quello di dover effettuare nuovamente l'installazione delle macchine virtuali che hanno utilizzato features non gratuite. Per inserire la licenza: Host → Manage → Licensing → Assign license

Server SSH

Personalmente trovo che amministrare ESXi tramite SSH sia una cosa decisamente comoda e, per molte operazioni, veloce.

Per attivare SSH: Host → Manage → Services → TMS-SSH → Start. Da osservare che l'avvio è, di default, manuale e quindi al successivo riavvio il servizio non sarà più attivo. Nel caso servisse, nella stessa finestra: Actions → Policy → Start and stop with host

Dovrebbe essere possibile anche operare con l'interfaccia del server fisico, premere F2 (è richiesta la password di root), quindi Troubleshooting Options e infine Enable SSH (modalità non testata con la versione 6.7)

L'accesso come root è, stranamente, attivo. Quindi:
vv@vv-15rse:~$ ssh 192.168.111.47 -l root

Per l'accesso con certificati, cioè senza digitare ogni volta la password, la procedura è:

  1. Si crea sulla propria macchina una coppia di chiavi pubblica e privata. La procedure dipende dal sistema operativo, per Debian e molte distribuzioni *nix: ssh-keygen (potrebbe non servire se questa operazione è già stata fatta in precedenza o durante l'installazione)
  2. Si copia il proprio certificato pubblico sul server ESXi; è richiesta la password di root di ESXi:
    vv@vv-15rse:~$ ssh-copy-id root@192.168.111.47
  3. Si accede a ESXi (è richiesta la password di root di ESXi)
    vv@vv-15rse:~$ ssh 192.168.111.47 -l root
  4. Si copia il certificato in /etc/ssh/keys-USER-NAME/authorized_keys. Questa procedura mi sembra un poco surreale... ma è indicata sul sito ufficiale di VMware
    [root@localhost:~] cp .ssh/authorized_keys /etc/ssh/keys-root/authorized_keys
  5.  Si riavvia il server ssh:
    [root@localhost:~] /etc/init.d/SSH restart
  6. Ci si sconnette e ci si riconnette (stavolta senza più digitare la password)
    [root@localhost:~] exit
    vv@vv-15rse:~$ ssh 192.168.111.47 -l root
    [root@localhost:~]

    (inutile dire quanto sia importante proteggere i propri certificati...)

Molti sono i comandi che possono essere usati. Un breve elenco:

Elenco delle macchine virtuali
[root@localhost:~] vim-cmd vmsvc/getallvms

Stato, accensione e spegnimento di una macchina virtuale:
[root@localhost:~] vim-cmd vmsvc/power.getstate 1
[root@localhost:~] vim-cmd vmsvc/power.off 1
[root@localhost:~] vim-cmd vmsvc/power.on 1

Attivazione e disattivazione del Maintenance Mode :
[root@localhost:~] esxcli system maintenanceMode set --enable false
[root@localhost:~] esxcli system maintenanceMode set --enable true

Creare una macchina virtuale

Preliminarmente occorre fare l'upload del file ISO dell'installazione del sistema operativo guest prescelto. Sconsiglio di usare un CD fisico perché è uno spreco masterizzare, perché nessuno dei miei computer ha più il lettore CD, perché i server sono rumorosi e quindi meglio lavorare lontani da essi...

Consiglio di creare un'apposita directory per tutte le ISO.

L'upload si può fare dall'interfaccia grafica: ConfigurationStoragedatastore (tasto destro) Browse DatastoreUpload

Decisamente più comodo e veloce fare da linea di comando:
vv@vv-15rse:~$ scp debian-8.2.0-amd64-netinst.iso root@192.168.111.47:/vmfs/volumes/datastore/ISO
debian-8.2.0-amd64-netinst.iso 100% 247MB 61.8MB/s 00:04

Creiamo quindi la nuova macchina virtuale, da interfaccia grafica: Getting startedCreate a new virtual machine

La procedura di creazione è simile a quella da applicare con VMware Payer (e quindi, se state leggendo questa pagina sapete come fare...)

Le uniche avvertenza per chi ha già virtualizzato su workstation sono le seguenti, visto che stiamo costruendo un'infrastruttura virtuale:

Per vedere il display, usare il tab Console, magari cliccando sull'apposita icona che attiva una finestra indipendente. Ovviamente dopo l'installazione è meglio usare il guest con connessione remota nativa (ssh, RDP, vnc...)

Ricordarsi al termine di installare i “vm-tools” per la macchina guest appena installata, con procedura che dipende dal sistema operativo. Per Debian consiglio di attivare i backports e procedere con:
root@nested:~# aptitude install -t jessie-backports open-vm-tools

Infine, ma dipende dal ruolo della macchina virtuale guest, potrebbe essere opportuno prevedere la sua accensione automatica, per esempio dopo uno shutdown del virtualizzatore dopo un fermo programmato per manutenzione. Per fare ciò: ConfigurationVirtual Machines StartupProperties

Aggiornamenti

Come per tutti i dispositivi IT l'hypervisor richiede frequenti aggiornamenti di sicurezza. Nel caso di un virtualizzatore la cosa è particolarmente critica perché una falla potrebbe comportare la compromissione dell'intero datacenter. Con la versione 6 di ESXi non è più presente un tool di aggiornamento automatico gratuito e quindi occorre procedere manualmente.

  1. Come prima cosa occorre scaricare le patch. Sembra che le varie patch siano cumulative (quindi basta installare la più recente), ma nella documentazione sono presenti alcune ambiguità... Link: https://my.vmware.com/group/vmware/patch
  2. Conviene creare un'apposita directory sul datastore (facoltativo):
    [root@localhost:~] mkdir /vmfs/volumes/datastore/patch
  3. Quindi la patch va copiata sul server. Può essere usata la modalità grafica oppure usare scp.
    vv@vv-15rse:$ scp ESXi600-201602001.zip root@192.168.111.47:/vmfs/volumes/datastore/patch
    ESXi600-201602001.zip 100% 341MB 68.2MB/s 00:05
  4. Occorre spegnere tutte le macchine virtuali e mettere ESXi in Maintenance, attraverso l'interfaccia grafica: InventoryHostEnter Maintenance Mode. Oppure dal linea di comando:
    [root@localhost:~] esxcli system maintenanceMode set --enable true
  5. Applicare quindi la patch e riavviare, se richiesto:
    [root@localhost:~] esxcli software vib update -d /vmfs/volumes/datastore/patch/ESXi600-201602001.zip
    Installation Result
    Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
    Reboot Required: true
    VIBs Installed: VMware_bootbank_ehci-ehci-hcd_1.0-3vmw.600.1.26.3380124, VMware_bootbank_esx-base_6.0.0-1.29.3568940, VMware_bootbank_misc-drivers_6.0.0-1.26.3380124, VMware_bootbank_net-e1000e_3.2.2.1-1vmw.600.1.26.3380124, VMware_bootbank_net-tg3_3.131d.v60.4-2vmw.600.1.26.3380124, VMware_bootbank_xhci-xhci_1.0-3vmw.600.1.26.3380124, VMware_locker_tools-light_6.0.0-1.26.3380124  [...]
    [root@localhost:~] reboot
  6. Nel caso di update, per esempio dalla versione 6.7 alla 6.7U1, il comando diventa:
    esxcli software profile update -p ESXi-6.7.0-20181002001-standard -d /vmfs/volumes/datastore/patch/update-from-esxi6.7-6.7_update01.zip
  7. Al riavvio, accedere nuovamente, uscire dallo stato di Maintenance ed eventualmente avviare manualmente le macchine virtuali:
    [root@localhost:~] esxcli system maintenanceMode set --enable false
  8. La patch può infine essere cancellata dal datastore:
    [root@localhost:~] rm /vmfs/volumes/datastore/patch/ESXi600-201507001.zip

 

Data di creazione di questa pagina: agosto 2016
Ultima modifica: 26 gennaio 2019


Pagina principaleAccessibilitàNote legaliPosta elettronicaXHTML 1.0 StrictCSS 3

Vai in cima