In questo articolo capiremo che cosa è VMware PowerCLI, perché usarlo, come installarlo e configurarlo e come gestire vSphere.
Immaginate di avere una macchina su cui è installato il sistema operativo ESXi e di volere installare su di essa una macchina virtuale, diciamo Linux Ubuntu.
Come fare?
vSphere Web Client che sostituisce vSphere Client (compatibile solo con sistemi Windows) presenta una interfaccia web e quindi cross-platform e ci permette di gestire l’intera infrastruttura virtuale su sistemi ESXi.
Ma vSphere Web Client non è l’unico modo.
C’è un sistema potente e facile da usare che permette di gestire via command line i server ESXi e VMware vSphere.
Si tratta di PowerCLI, un’interfaccia a riga di comando di Windows PowerShell.
Grazie ai tanti comandi previsti (più di 500) permette di automatizzare con script anche aspetti complessi della gestione di vSphere, come hardware, VM o network.
PowerCLI nasce per sistemi operativi Windows, essendo una estensione di PowerShell, ma adesso è disponibile anche per macOS e Ubuntu.
Come preparare il sistema
L’infrastruttura minima per poter testare e comprendere le potenzialità di PowerCLI è composta da:
– una macchina ESXi
– una macchina (linux o qualsiasi altro s.o.) con cui collegarsi alla suddetta macchina esxi con vSphere Web Client
– una macchina virtuale (linux o qualsiasi altro s.o.) creata con vSphere Web Client
– una macchina windows per l’installazione di VmWare PowerCLI
Nel nostro caso la nostra macchina ESXi si presenta in questo modo:
Non c’è interfaccia, ma solo l’indicazione del server a cui collegarsi per gestirla.
Dalla macchina Linux è sufficiente quindi digitare nel browser l’indirizzo della macchina ESXi e inserire le credenziali scelte in fase di installazione dell’host.
Una volta eseguito il login siamo pronti per gestire tutto il sistema di virtualizzazione.
Se vogliamo creare una nuova virtual machine è sufficiente scegliere il menù “Virtual Machine” e selezionare “Create/Register VM” dov’è possibile impostare tutte le opzioni desiderate.
Nonostante la comodità di un’interfaccia web come vSphere web client, grazie a PowerCLI è possibile automatizzare tutte le azioni che qui vengono fatte manualmente, una alla volta.
In questo modo si possono ottimizzare i tempi e ridurre gli errori che nella gestione di infrastrutture complesse di virtual machine potrebbero presentarsi.
Come installare PowerCLI
In origine PowerCLI veniva installato come applicazione a sé e veniva quindi lanciato tramite comando apposito.
Adesso invece, dalla versione 6.5.1, PowerCLI è stato inglobato con una suite di moduli all’interno del prompt stesso di PowerShell.
Questo lo rende ancora più semplice da utilizzare.
Aprite quindi un prompt di PowerShell (come amministratore)
e installare i moduli con il seguente comando:
$> Install-Module VMware.PowerCLI -Scope CurrentUser
In questo modo i moduli di installazione di VMWare.PowerCLI verranno scaricati e salvati nella cartella dedicata.
Il parametro -Scope si utilizza per rendere i moduli PowertCLI disponibili all’utente corrente (CurrentUser) oppure a tutti gli utenti (AllUsers).
Una volta terminata l’istallazione si può vedere la lista dei moduli con il seguente comando:
$> Get-Module -ListAvailable -Name VMware*
Prima di connettersi al server ESXi, è necessario impostare il parametro InvalidCertificateAction nella configurazione di PowerCLI.
Questo determina l’azione da intraprendere quando si tenta l’accesso ad un server per cui non è possibile garantire la sicurezza del certificato.
Impostandolo a “Prompt” sarà possibile ogni volta decidere cosa fare prima di continuare.
$> Set-PowerCLIConfiguration -InvalidCertificateAction Prompt
Per la connessione all’host ESXi eseguire il seguente comando:
$> connect-viserver <ip>
dove <ip> è da sostituire con l’IP della macchina ESXi
E una volta accettato il certificato e inserite le credenziali
il sistema risponde in questo modo:
A questo punto è possibile eseguire operazioni direttamente sull’host ESXi tramite i comandi PowerCLI (cmdlets).
I comandi più utilizzati
Alla pagina ufficiale di VMware è possibile trovare la lista di tutti i comandi utilizzabili con PowerCLI.
Elenchiamo qui di seguito i più comuni ed utilizzati.
Per la gestione di virtual machine su server ESXi è possibile utilizzare i comandi come
$> Get-VM -Location <Ip>
per visualizzare la lista delle VM e il loro stato.
$> Start-VM -VM my_vm -Confirm -RunAsync
per attivare la virtual machine.
$> New-VM -Name new_vm
per creare una nuova virtual machine.
$> Remove-VM new_vm -DeletePermanently
per rimuovere permanentemente una virtual machine.
Ma è possibile anche fare operazioni più complesse, come ad esempio effettuare un backup e restore della configurazione dell’host ESXi.
Backup e restore di una configurazione ESXi
Sappiamo molto bene quanto sia importante poter contare sempre sui backup, per questioni di sicurezza, ma anche di risparmio di tempo quando è necessario utilizzare una configurazione giù testata e collaudata.
Anche nel caso di un server ESXi quindi può essere necessario fare un backup della sua configurazione.
Con PowerCLI è possibile farlo con pochi e semplici comandi.
$> get-vmhost | get-VMHostFirmware -BackupConfiguration -DestinationPath <path>
in <path> è specificato dove si vuole salvare il backup.
Volendo poi effettuare il restore di questa configurazione, c’è un altro comando da utilizzare ed è il seguente:
$> Set-VMHostFirmware -VMHost <ip> -Restore -Force -SourcePath <sourcepath>
Il sistema viene riavviato senza che venga chiesta conferma.
Come disinstallare PowerCLI
Se volete disinstallare VMware PowerCLI, per poter installare una nuova versione oppure semplicemente perché non ne avete più bisogno, i comandi da eseguire sono i seguenti:
$> Get-module VMware.* -listAvailable | Uninstall-Module -Force
Per testare l’avvenuta cancellazione di qualsiasi file relativo all’installazione:
$> Get-module -listAvailable -Name VMware*
Conclusioni
Spesso nel mantenimento di una infrastruttura di virtualizzazione è necessario eseguire ripetutamente azioni e comandi, che oltre ad essere monotoni possono anche portarci a sbagliare.
Abbiamo visto come PowerCLI permetta grazie alla potenzialità della interfaccia a riga di comando di eseguire comandi semplici che salvati in script appositi possono servire ad evitare errori e lavori noiosi e ripetitivi.
PLEASE NOTE: if you need technical support or have any sales or technical question, don't use comments. Instead open a TICKET here: https://www.iperiusbackup.com/contact.aspx
**********************************************************************************
PLEASE NOTE: if you need technical support or have any sales or technical question, don't use comments. Instead open a TICKET here: https://www.iperiusbackup.com/contact.aspx
*****************************************