Come installare ESXi su Hyper-V
In uno dei precedenti post del blog è stato illustrato il funzionamento di Virtualizzazione annidata Hyper-V nonché l’installazione di un server Hyper-V virtuale su una VM in esecuzione su un server Hyper-V fisico.
Questo post del blog tratta l’installazione di un server ESXi su una VM Hyper-V e può essere utile a fini di test e formativi, ad esempio se si dispone di host Hyper-V ma si sta valutando l’implementazione di host ESXi nel proprio ambiente. Si noti che ESXi è l’hypervisor di VMware, mentre Hyper-V è quello di Microsoft; pertanto, l’utilizzo di un server ESXi installato su una VM Microsoft Hyper-V in un ambiente di produzione non è consigliato.
Requisiti
Per installare ESXi su una VM Hyper-V è necessario soddisfare i seguenti requisiti:
- Hardware compatibile. Il processore deve supportare le funzioni di virtualizzazione hardware. Se si utilizza Hyper-V, è necessario disporre di una CPU (unità di elaborazione centrale) Intel con supporto per la tecnologia Intel VT-x (Virtualization Technology). Intel VT-x deve essere abilitato nel BIOS o nell’UEFI (Unified Extensible Firmware Interface) del computer.
- Windows 10 (build 10565 o successiva) o Windows Server 2016 con Hyper-V. La versione di configurazione della VM Hyper-V deve essere 8.0 o successiva.
- PowerCLI 6.3 o versione successiva. PowerCLI è uno strumento con interfaccia a riga di comando (CLI) fornito da VMware, che include una serie di cmdlet eseguibili in PowerShell e utilizzabili anche per scripting e automazione.
- Immagine di installazione ESXi. L’immagine di installazione deve essere ESXi-6.0.0-20170604001 Build 5572656 o precedente. Le build e le versioni più recenti di ESXi potrebbero non funzionare a causa dei driver di rete che bloccano un adattatore di rete virtuale legacy di Hyper-V. Scarica il pacchetto offline appropriato in un archivio ZIP. In questo post del blog viene utilizzato il file ESXi600-201706001.zip.
Preparazione dell’ambiente
Preparare l’ambiente per consentire l’installazione di ESXi su una VM Hyper-V. I passaggi principali includono:
Enabling a Hyper-V role. Andare su Pannello di controllo > Programmi e funzionalità > Attiva o disattiva le funzioni di Windows. Selezionare la casella accanto a Hyper-V, fare clic su OK e attendere che il processo di installazione termini prima di riavviare la macchina fisica. È anche possibile Abilitare un ruolo Hyper-V tramite PowerShell.Installing PowerCLI. È possibile Scarica PowerCLI dal sito web di VMware. Se in precedenza è stata installata una versione di PowerCLI precedente alla 6.3, è necessario disinstallarla. Il processo di installazione di PowerCLI è piuttosto semplice: basta eseguire il programma di installazione e seguire i passaggi della procedura guidata. In questo caso, PowerCLI viene utilizzato per integrare i driver di rete nell’immagine di installazione di ESXi.Downloading tulip drivers. I driver Tulip, noti anche come driver net-tulip, sono driver per l’adattatore di rete virtuale legacy di una macchina virtuale Hyper-V. Consentono di utilizzare la rete per ESXi in ambiente Hyper-V. Per impostazione predefinita, ESXi non riconosce l’adattatore di rete di una VM Hyper-V. È possibile scaricare i driver net-tulip da qui.
Integrazione dei driver Tulip nell’immagine di installazione di ESXi
Diamo un’occhiata più da vicino, passo dopo passo, all’integrazione dei driver net-tulip nell’immagine di installazione di ESXi. Senza integrazione, il processo di installazione fallirà poiché ESXi non è in grado di riconoscere un adattatore di rete legacy Hyper-V in assenza dei driver appropriati. Per maggiore praticità, copiare tutti i file necessari nella stessa directory, ad esempio C:VirtualESXi-images.

Assicurarsi di aver installato Hyper-V e PowerCLI prima di continuare. Eseguire PowerCLI e digitare il seguente comando per impostare come directory corrente quella contenente i file preparati (in questo caso C:VirtualESXi-images).
cd C:VirtualESXi-images
Aggiungere i file ZIP dei depositi offline alla sessione corrente di PowerCLI. I metadati vengono importati dai depositi specificati e possono essere utilizzati per creare nuovi profili di immagine, a loro volta utilizzabili per generare nuove immagini di installazione ISO con Image Builder.
Add-EsxSoftwareDepot .ESXi600-201706001.zip
Add-EsxSoftwareDepot .net-tulip-1.1.15-1-offline_bundle.zip

È necessario conoscere il nome del profilo di immagine standard che verrà utilizzato nel passaggio avanti. Recuperare il nome utilizzando il seguente comando:
Get-EsxImageProfile|ft Name

Clonare il profilo standard in un nuovo profilo immagine (in questo esempio il nome del nuovo profilo è ESXi-NAKIVO).
New-EsxImageProfile -CloneProfile ESXi-6.0.0-20170604001-standard -Name ESXi-NAKIVO -Vendor custom

Aggiungere pacchetti personalizzati con driver di rete Tulip al nuovo profilo creato nel passaggio precedente.
Add-EsxSoftwarePackage -ImageProfile ESXi-NAKIVO -SoftwarePackage net-tulip -Force

Il livello di accettazione di un profilo immagine host viene utilizzato per determinare quali pacchetti di installazione vSphere (file VIB) sono accettati per l’installazione. Per impostazione predefinita, l’AcceptanceLevel di un profilo appena creato è impostato su PartnerSupported. I pacchetti personalizzati con i driver di rete Tulip hanno un livello di accettazione CommunitySupported, che differisce dal livello di accettazione del nuovo profilo. Questa situazione causa un errore se si tenta di creare un’immagine ISO utilizzando queste impostazioni. Per evitare ciò, impostare il livello di accettazione del nuovo profilo immagine su CommunitySupported. Digitare il seguente comando per eseguire questa operazione: `
Set-EsxImageProfile -AcceptanceLevel CommunitySupported -ImageProfile ESXi-NAKIVO

` Ora si è pronti per creare il file ISO di installazione di ESXi che include i driver net-tulip. Eseguire il seguente comando per creare l’immagine ISO: `
Export-EsxImageProfile -ImageProfile ESXi-NAKIVO -FilePath C:VirtualESXi-imagesesxi60_custom.iso -ExportToIso -Force

` Il file `esxi60_custom.iso` viene creato nella directory specificata.

Il metodo alternativo per integrare i driver
L’integrazione manuale dei driver di rete è stata illustrata in precedenza; tuttavia, esiste un altro modo per integrare i driver di rete nell’immagine di installazione di ESXi. Diamo un’occhiata al metodo alternativo per integrare i driver nell’immagine ESXi utilizzando uno script gratuito di ESXi-Customizer. Ti servirà uno script gratuito ESXi-Customizer per PowerShell (ESXi-Customizer-PS.ps1) , scaricabile all’indirizzo qui.
Copia lo script nella directory utilizzata per archiviare gli altri file di installazione (in questo esempio è C:VirtualESXi-images). Apri PowerShell, accedi alla directory digitando:
cd <path_to_your_directory>
Se eseguissi ora ESXi-Customizer-PS-v2.6.0.ps1, verrebbe visualizzato un errore. Digitare il seguente comando per risolvere il problema:
Set-ExecutionPolicy –Scope Process –ExecutionPolicy Bypass
Esegui lo script ESXi-Customizer con i seguenti argomenti:
.ESXi-Customizer-PS-v2.6.0.ps1 –sip –vft –load net-tulip

Selezionare il profilo immagine di base. Per motivi di compatibilità, la versione del profilo immagine deve essere ESXi-6.0.0-20170604001 o precedente.

Nell’esempio attuale, è selezionato il profilo immagine 71 (ESXi-6.0.0-20170604001-standard). Attendere che ESXi Customizer scarichi tutti i componenti necessari e crei un’immagine di installazione ESXi personalizzata.

Il file ESXi-6.0.0-20170604001-standard-customized.iso è ora disponibile nella directory contenente i file di installazione.
Creazione e configurazione di una macchina virtuale Hyper-V per l’installazione di ESXi
Ora che l’immagine di installazione di ESXi è pronta, è possibile creare una nuova macchina virtuale Hyper-V e installare ESXi in tale macchina virtuale. Aprire Hyper-V Manager, fare clic su Action > New > Virtual Machine.

Immettere il nome della VM (ad esempio, ESXi6-0) e impostare l’ubicazione in cui salvarla (nel laboratorio di prova attuale viene utilizzato il disco C: come esempio; si consiglia di utilizzare una partizione separata priva di sistema operativo, ad esempio D:). Fare clic su Next per continuare.

Selezionare Generazione 1 per la VM, in modo da poter utilizzare un adattatore di rete legacy con i driver compatibili integrati nell’immagine di installazione di ESXi. Maggiori informazioni su Hyper-V Generazione 1 e Generazione 2 nel nostro post sul blog. Fare clic su Next.

Assegnare almeno 4 GB di memoria. L’uso della memoria dinamica per questa VM non è consigliato. Fare clic su Next.

Configurare la rete. È possibile utilizzare le impostazioni predefinite poiché la rete della VM dovrà essere riconfigurata dopo la creazione della VM. Fare clic su Next.

Creare un nuovo disco virtuale; 30 GB dovrebbero essere sufficienti. Se si intende eseguire più macchine virtuali VMware su un host VMware ESXi virtuale, impostare una dimensione maggiore oppure aggiungere un altro disco virtuale in un secondo momento. È inoltre possibile utilizzare il disco virtuale a espansione dinamica. Verificare il nome e l’ubicazione del disco, quindi fare clic su Next.

Selezionare Install an operating system from a bootable CD/DVD-ROM in Installation Options. Utilizzare il file immagine ISO preparato in precedenza (esxi60_custom.iso in questo esempio). Fare clic su Next. 
Controlla il riepilogo e fai clic su Finish per completare la creazione della VM.

Una volta creata una nuova VM Hyper-V, modifica le impostazioni della VM. Fai clic con il pulsante destro del mouse sul nome della VM e seleziona Settings... dal menu contestuale.

Nel riquadro sinistro della finestra, nella sezione Hardware, seleziona Processor e imposta il numero di processori virtuali su 2 o più (per impostazione predefinita viene utilizzato 1 processore).

Selezionare l’adattatore di rete. Innanzitutto, rimuovere l’adattatore di rete esistente creato per impostazione predefinita. A tal fine, fare clic sul pulsante Remove .

Aggiungere un adattatore di rete legacy alla VM. Nel riquadro sinistro della finestra, nella sezione Hardware, fare clic su Add Hardware. Nel riquadro destro selezionare Legacy Network Adapter e fare clic su Add.

È stato aggiunto un adattatore di rete legacy, visibile nel riquadro sinistro della finestra. Selezionare l’adattatore di rete legacy appena creato, quindi selezionare lo switch virtuale a cui collegare l’adattatore virtuale. Nell’esempio attuale viene utilizzato lo switch virtuale esterno. Fare clic su OK per salvare le impostazioni e terminare la configurazione della VM.

Abilitazione della virtualizzazione annidata per la VM Hyper-V con ESXi
La virtualizzazione annidata è una funzione che consente di eseguire VM all’interno di una VM. In questo caso, una VM annidata dovrebbe essere eseguita su una VM Hyper-V su cui è installato l’hypervisor ESXi. Abilitare la virtualizzazione annidata per questa VM in PowerShell (inserire il nome della propria VM al posto di ESXi6-0 se il nome della VM è diverso).
Set-VMProcessor -VMName ESXi6-0 -ExposeVirtualizationExtensions $true

Installazione di ESXi sulla VM Hyper-V
Ora si è pronti per installare ESXi su una VM Hyper-V. Avviare la VM (fare clic con il tasto destro del mouse sul nome della VM, selezionare Connect e fare clic sul pulsante Start ). Premere il tasto TAB quando viene visualizzata la schermata di avvio con sfondo blu per modificare le opzioni di avvio ed evitare che la macchina virtuale si blocchi durante l’avvio. Digitare ignoreHeadless=TRUE e premere Enter.

Il programma di installazione di VMware ESXi è in fase di caricamento. È possibile visualizzare i moduli caricati, incluso il modulo tulip integrato nell’immagine di installazione.

Una volta caricato il programma di installazione, verrà visualizzata una schermata di benvenuto. Premere Enter per continuare.

Premere F11 per accettare il contratto di licenza e continuare.

Selezionare un disco su cui installare ESXi. In questo esempio, alla VM è collegato un disco da 30 GB. Premere Enter per continuare.

Immettere una password di root, confermarla e premere Enter.

Il sistema fornisce un’avvertenza: è necessario ripartizionare un disco. Premere F11 per avviare l’installazione di ESXi. 
Attendere che il processo di installazione termini.

Al termine dell’installazione, è obbligatorio riavviare il sistema. Premere Enter per riavviare.
Premere Shift+O prima che inizi l’avvio.
![]()
Digitare ignoreHeadless=TRUE alla fine della stringa e premere Enter (analogamente a quanto fatto nel primo passaggio dopo l’avvio della VM). Di seguito è possibile scoprire come impostare questa opzione in modo permanente.
![]()
Una volta caricato ESXi, verrà visualizzato un menu su sfondo grigio e giallo. Premere F2 per personalizzare le impostazioni di sistema. Inserisci la tua password di root. Vai alle opzioni di risoluzione dei problemi e abilita ESXi Shell e SSH. Se ESXi Shell è disabilitato, il tuo ESXi si bloccherà al passaggio successivo.

Premi Alt+F1 per accedere alla console ESXi. Inserisci il seguente comando e configura le impostazioni di avvio:
Esxcfg-advcfg -k TRUE ignoreHeadless

La console può essere chiusa premendo Alt+F2. Ora non è più necessario inserire manualmente ignoreHeadless=TRUE ogni volta che ESXi si avvia.
Configurazione delle impostazioni di rete
Verificare le impostazioni di rete per consentire la gestione remota. Per impostazione predefinita, l’indirizzo IP viene ottenuto tramite DHCP (Dynamic Host Configuration Protocol). È possibile selezionare Configure Management Network nel menu di personalizzazione del sistema per configurare un nome host e gli indirizzi IP.

Nell’esempio attuale viene utilizzata la configurazione IPv4 automatica. Se si desidera configurare manualmente le impostazioni IP per utilizzare un indirizzo IP statico, selezionare IPv4 Configuration e premere Enter.

Creazione di una VM su un host ESXi annidato
Una volta configurata la rete ESXi, aprire il browser e connettersi all’host ESXi tramite il protocollo HTTP. È possibile accedere a questa pagina web anche da un altro computer connesso alla rete, se sull’host Hyper-V viene utilizzato lo switch virtuale Hyper-V esterno. In questo esempio, l’indirizzo da inserire nella barra degli indirizzi del browser è http://10.10.10.117. Una volta caricata la pagina, fare clic su Open the VMware Host Client.

Immettere le credenziali di root inserite durante l’installazione di ESXi per effettuare l’accesso.

Nella schermata principale, fare clic su Create/Register VM per creare una nuova VM.

1. Selezionare il tipo di creazione. Selezionare Create a new virtual machine e fare clic su Avanti.

2. Selezionare un nome e il sistema operativo guest. Immettere il nome della VM, selezionare la compatibilità, la famiglia del sistema operativo guest e la versione. Fare clic su Next.

3. Selezionare lo storage. Nell’esempio attuale è disponibile un solo archivio dati. Fare clic sull’archivio dati che si desidera utilizzare per l’archiviazione dei file della VM e fare clic su Next.

4. Personalizzare le impostazioni. Impostare i parametri dell’hardware virtuale. Sono disponibili due opzioni per l’unità CD/DVD utilizzata dalla VM: Dispositivo host e archivio dati ESXi. Utilizzare la seconda opzione e caricare l’immagine ISO di installazione del sistema operativo nell’archivio dati locale sull’host ESXi.

Nel riquadro di sinistra fare clic sull’icona dell’archivio dati, quindi nella scheda Datastores fare clic su Datastore browser.

Nella finestra del browser dell’archivio dati fare clic su Upload. Selezionare il file ISO appropriato accessibile dal proprio computer (utilizzato per la gestione dell’host ESXi tramite browser) e attendere il completamento del caricamento del file.

Ora è possibile tornare alle opzioni dell’unità CD/DVD, fare clic su Browse e selezionare il file ISO appena caricato nell’archivio dati.

Una volta specificata l’immagine di installazione ISO e configurate le altre impostazioni della VM, fare clic su Next per continuare.

5. Pronti per il completamento. Controllare il riepilogo della configurazione della VM e fare clic su Finish per creare la VM.

Una volta creata la VM, è possibile provare ad avviarla per l’installazione del sistema operativo guest. Per farlo, fare clic sull’icona della VM nel riquadro sinistro dell’interfaccia web, fare clic con il tasto destro sulla VM e nel menu contestuale selezionare Power > Power on.

Nota : Tenere presente che potrebbero verificarsi dei problemi poiché l’esecuzione di ESXi su una VM Hyper-V non è ufficialmente supportata.
Conclusione
L’implementazione di un ambiente per l’esecuzione di un hypervisor ESXi su una VM Hyper-V è un processo complesso e non è ufficialmente supportato dai vendor. Tuttavia, è possibile implementare ESXi su una VM Hyper-V a scopo didattico e di test. È possibile provare a installare l’hypervisor ESXi su una VM Hyper-V a proprio rischio e pericolo. Non utilizzare tale soluzione in un ambiente di produzione.