Guida all’installazione di VMware ESXi su Intel NUC 10th gen

Alla fine, ho ceduto: mi sono fatto un homelab. Grazie r/homelab, il mio conto in banca vi ringrazia. Ma non è andata proprio liscia liscia all'inizio...

Questa guida che sto per scrivere è frutto della mia sciagurata esperienza di installazione ESXi su Intel NUC di decima generazione. Alla data di oggi (15/06/2020), il NUC ha dei problemi di compatibilità con i driver di rete. La situazione è stata in parte mitigata, grazie a un bundle offline dei driver ne1000.
Inoltre, sono costretto ad utilizzare un adattatore USB tipo C - Ethernet perché i driver ne1000 funzionino correttamente. Su Amazon ho comprato un adattatore che usavo per il Surface, con cui non sto riscontrando problemi.

La guida che ho utilizzato come riferimento è la seguente: VMware ESXi Home Lab – Intel NUC 10 (Frost Canyon). Ho riadattato alcuni passi, a seguito di errori riscontrati, grazie a delle soluzioni online prese da qui.

DISCLAIMER: la guida è farina del mio sacco, ricavata da appunti presi online e da conoscenti; i comandi Powershell non sono assolutamente di mia creazione, per cui, come ho fatto io, eseguiteli con sale in zucca e assumendovi il rischio di avere problemi sulla vostra macchina. Ma, se siete nerd quanto me, il gioco vale la candela!

Per cominciare: RTFM!

Internet è una fonte inesauribile di informazioni. I primi link che ho fornito sono molto esaustivi, consiglio di leggerli a fondo e cercare di mettere insieme i pezzi, per farsi un’idea su ciò che seguirà.

Preparazione dell’ambiente

Come prima cosa, va creata una cartella in posizione “comoda”: io ho scelto di metterla sul Desktop e rinominarla come ESXi.

Poi, va scaricato il file ESXi 6.7.0ne1000 Offline Bundle e salvato nella cartella appena creata. In quella stessa cartella andrà poi inserito lo script Powershell preso da qui, ESXi-Customizer-PS. Questo script permette di creare un file ISO personalizzato di ESXi; la documentazione ufficiale è reperibile qui, consiglio la lettura per informazioni più precise, compresa la visione del video-tutorial.

Adesso va scaricato il modulo Powershell VMware.PowerCLI. Aprire Powershell come amministratore e copiare la seguente riga:

C:\Windows\system32> Install-Module -Name VMware.PowerCLI

Una volta installato, lanciare i seguenti comandi:

C:\Windows\system32> GetExecutionPolicy -List

Consiglio di salvarsi da qualche parte la lista di parametri impostati, per fare roll-back in caso di problemi.

Poi, lanciare i seguenti comandi:

C:\Windows\system32> Set-ExecutionPolicy RemoteSigned
C:\Windows\system32> Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
C:\Windows\System32> cd ~\Desktop\ESXi

Creazione del file ISO personalizzato

Siamo al punto cruciale, quello che mi ha fatto dannare tantissimo. Per riuscire nell'impresa titanica di installare ESXi sul mio NUC, è necessario lanciare il seguente comando su Powershell:

C:\Users\[sostituire-nome-utente]\Desktop\ESXi> .\ESXi-Customizer-PS.ps1 -ozip

Verrà adesso scaricato un file in formato zip, un ennesimo bundle offline al posto del file ISO. Al termine delle operazioni verrà stampato a schermo un meraviglioso messaggio "All done". Rapido controllo della presenza effettiva del file nella cartella sul Desktop e, in caso affermativo, lanciare il successivo comando:

C:\Users\[sostituire-nome-utente]\Desktop\ESXi> .\ESXi-Customizer-PS.ps1 -izip .\[nome-del-bundle-appena-scaricato].zip

Anche in questo caso, se tutto va come previsto, il messaggio "All done" dovrebbe comparire a video e si è conclusa la procedura per generare il file ISO personalizzato.

Burn that bitch [cit.]

Bene, il peggio è passato. Adesso, se non ci sono stati problemi durante i precedenti passaggi, i prossimi dovrebbero essere banali.

Bisogna scaricare Rufus, e scrivere su una penna USB il file ISO generato precedentemente. Lasciare le impostazioni di default suggerite dal software, accettare tutti i messaggi di warning e avviare il processo. Attendere il completamento al 100%, evitando accuratamente di staccare la penna non appena si apre una finestra sul Desktop. Io una volta l'ho fatto e non è stato bello...

Qualora usaste MacOS o Linux, va benissimo anche Balena Etcher. Non cambia la sostanza.

Installare ESXi

Adesso arriva il bello! Connettete mouse, tastiera e schermo al NUC per poter preparare l'installazione. Power on sul NUC e premete F2 per entrare nel BIOS: nella scheda Boot dovete disabilitare il Secure Boot, oltre ad abilitare l'avvio da USB (F10 per Save and exit).

Mettete la pennetta USB e riavviate tutto. Adesso si tratterà di seguire la guida di installazione, per impostare la password di root (mi raccomando, valgono le solite raccomandazioni sulle password) e scegliere lo storage da utilizzare. Se avete il DHCP attivo sul vostro router, vi  verrà assegnato un IP, mostrato a video a fine procedura. Collegarsi poi a https://ip-assegnato ed ecco a voi l'interfaccia di management di ESXi!

Considerazioni finali

Questa guida, nella sua forma finale, è semplice e diretta. Se non voleste perdere troppo tempo, consiglio vivamente di spedire indietro il vostro NUC 10th e ripiegare sulla precedente generazione. È giusto sottolineare che, come per la decima generazione, all'inizio del suo ciclo di vita, anche il NUC di ottava generazione non era pienamente supportato e necessitava di passaggi molto simili. Per cui...a voi la scelta.
Personalmente, prima del reso su Amazon, ho deciso di ritentare più e più volte di installare VMware ESXi (intervallato da un'installazione di Proxmox - gigante NOPE da parte mia). Ne sono soddisfatto, anche se devo ancora fare un po' di fine tuning! Avendo provato i processori Intel sia di ottava che di decima generazione, ho preferito un po' di sano sbattimento extra.

Nei prossimi giorni, in base anche agli impegni lavorativi e universitari, comincerò a tirar su la mia "infrastruttura". Il primo passo è virtualizzare Raspbian e installare Pi-Hole, così da pensione il Raspberry Pi 3.

UPDATE 19/06/2020

Andrew Roderos mi ha contattato su Twitter per alcune dovute precisazioni, che vi riporto per intero:

I’m reaching out because I couldn’t comment on your site. I just wanted to remind you that you don’t need to use the ESXi-Customizer-PS tool. There are PowerCLI that you can use to build the ISO image. You should see the link in the “ESXi 7.0 Custom ISO image” box where it says “Use this in the meantime - use PowerShell to issue these commands”.

Additionally, you don't have to disable Secure Boot to install the ESXi Custom ISO. You only need to do that if you're going to use the USB network adapter.

Ho apprezzato moltissimo il gesto e lo voglio ringraziare pubblicamente (thank you, Andrew!). Fate un salto sul suo blog, è davvero interessante.
Per dovere di cronaca, faccio due precisazioni: ho disabilitato il Secure Boot perché sto utilizzando un USB network adapter (ESXi non mi vede la porta RJ45 e devo indagare a fondo); i comandi Powershell riportati da Andrew mi hanno dato dei problemi e non sono riuscito a completare l'operazione, ecco il motivo dell'utilizzo del tool di customizzazione della ISO.