Come installare VMware ESXi su un host Hyper-V

Non tutti sanno che è possibile utilizzare la virtualizzazione nidificata per far girare VMware ESXi come una macchina virtuale su un host Hyper-V. Per alcuni, questa opzione potrebbe essere interessante per finalità  di testing nel caso non sia possibile acquistare hardware certificato.

Sebbene questa procedura non sia ufficialmente supportata da VMware o Microsoft, è possibile creare un ambiente ESXi che si “regga” interamente su Hyper-V. La procedura è complessa e non proprio “user-friendly”.

Prima di iniziare è necessario preparare la ISO avendo cura di pre-caricare dei driver di rete compatibili con Hyper-V. In caso contrario il processo fallirà  e non sarai in grado di connetterti al server ESXI.

VMware PowerCLI è richiesto. Per l’installazione fai riferimento al nostro precedente articolo.

Preparare l’immagine dell’Hypervisor ESXi

  • Scarica il tool per customizzare ESXi da http://vibsdepot.v-front.de/tools/ESXi-Customizer-PS-v2.5.1.ps1 e salvalo sulla macchina locale (es. to C:\ESXi).
  • Apri PowerShell e digita Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass. Seleziona [Y] Yes per lanciare. Questo ti consente di eseguire gli script scaricati:Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
  • Assicurati di essere nella medesima directory degli script (es. C:\ESXi).
  • Ora digita .\ESXi-Customizer-PS-v2.5.1.ps1 -v60 -vft -load net-tulip (Net Tulip è un pacchetto driver di rete compatibile con Hyper-V).
  • Il processo richiederà  alcuni minuti per essere completato:ESXi net tulip injector
  • Se accedi alla cartella utilizzata (es. C:\ESXi), vedrai la tua ISO customizzata. Questa è l’immagine che dovrai utilizzare per il tuo server ESXi in Hyper-V:Customised ESXi Image for Hyper-V

    Una soluzione alternativa per preparare l’immagine ESXi

    Nota: al momento della redazione dell’articolo abbiamo incontrato problemi con l’applicazione per customizzare ESXi. Nello specifico, abbiamo riscontrato degli errori nella creazione dell’ISO che facevano pensare ad un problema alla repository di VMware, potenzialmente temporaneo. Nel caso il problema persista, ecco una via alternativa per installare manualmente i driver net-tulip:

Customeriser Error

  • Questo metodo NON FUNZIONA su Windows 10. Nel nostro caso è stato completato su un portatile con Windows 7.
  • Scarica e installa l’applicazione legacy ESXi Customizer
  • Scarica l’hypervisor ESXi da MyVmware – nel nostro caso ho scelto la versione 5.1 in quanto è già  presente nella mia rete:
  • Scarica i driver Net-tulip e estraili sul tuo computer
  • Esegui il comando ESXi-Customizer.cmd (come Administrator):Manually inject net-tulip drivers
  • Seleziona l’hypervisor ESXi, scegli il file Net-Tulip .vib e specifica la working directory – quindi clicca Run:Manually inject net-tulip drivers
  • Ignora il messaggio di errore – clicca NO:Manually inject net-tulip drivers
  • In pochi minuti l’immagine ISO sarà  creata:Manually inject net-tulip driversManually inject net-tulip drivers completed

Installare ESXi su Hyper-V

  1. Assicurati di avere la feature Hyper-V installata sul tuo Windows 10 o Windows Server. Se la risposta è no, Hyper-V può essere aggiunto utilizzando la scheda del pannello di controllo Turn Windows Features on or off:Turn Windows features on or off
  2. Lancia Hyper-V Manager, clicca col destro e seleziona new > Virtual machine:Hyper-V Create Virtual Machine
  3. Clicca next:Hyper-V - Before you begin
  4. Specifica un nome per la tua VM e scegli un percorso dove salvarla:Hyper-V - Specify Name and Location
  5. Seleziona Generation 1:Hyper-V - Specify Generation
  6. Specifica il quantitativo di RAM che desideri usare. Assicurati che non ci sia la spunta su Ensure Dynamic Memory usage:Hyper-V - Assign Memory
  7. Verifica che non ci sia alcuna connessione selezionata alla schermata Configure Networking – parleremo di questo punto più avanti:Hyper-V - Configure Network
  8. Specifica la dimensione della VM e il nome del file .vhdx. 10GB sono più che sufficienti:Hyper-V - Connect Hard Disk
  9. Seleziona Intall an operating system from a bootable CD/DVD-ROM e scegli l’immagine ISO creata precedentemente:Hyper-V - Installation Options
  10. Al summary, verifica che la configurazione sia corretta e clicca Finish:Hyper-V - Complete the New Virtual Machine Wizard       
  11. Prima di avviare la VM clicca col destro e seleziona Settings:Hyper-V - Edit Settings
  12. Alloca le vCPU in base alle risorse del tuo sistema:Hyper-V - Change CPU settings
  13. Rimuovi qualsiasi interfaccia di rete presente:Hyper-V - Remove Network Adapters
  14. Clicca add hardware e scegli Legacy Network Adapter, quindi premi Add – Verranno utilizzati i driver Net-Tulip installati precedentemente:Hyper-V - Add Legacy Network driver
  15. Assicurati che il Legacy Network Adapter sia connesso alla tua rete fisica. Premi OK per applicare le modifiche:Hyper-V - attach legacy network adapter to physical network
  16. Ora è necessario preparare Windows per consentire la virtualizzazione nidificata. Questo viene fatto con PowerShell. Su GitHub è disponibile unos script open source che fa la parte dura del lavoro.
  17. Naviga su https://github.com/MicrosoftDocs/Virtualization-Documentation/blob/master/hyperv-tools/Nested/Enable-NestedVm.ps1 e scarica lo script Powershell Enabled-NestedVM.ps1. Salvalo nello stesso percorso della VM.
  18. Apri PowerShell  (deve essere lanciata come Administrator) e al percorso dove hai salvato il file Enabled-NestedVM.ps1
  19. Digita Set-ExecutionPolicy -scope Process -ExecutionPolicy Bypass
  20. Questo consentirà  di eseguire gli script PowerShell scaricati sul tuo sistema.
  21. Seleziona [Y] Yes per abilitare la feature.
  22. Ora digita .\Enabled-NestedVM.ps1 -vmname “YOUR VM NAME”:Enabled-NestedVM.ps1
  23. Rispondi [Y] alla richiesta di abilitazione del MAC Spoofing.
  24. Ora puoi avviare la VM.
  25. Partirà  l’ESXi Installer – Premi subito TAB per configurare le opzioni di boot.
  26. Digita ignoreHeadless=TRUE   (rispetta maiuscole e minuscole):ignoreHeadless=TRUE      Installing ESXi
  27. Segui le indicazioni per installare ESXi. Ti verrà  chiesto di specificare la destinazione dei file di installazione:Installing ESXi
  28. Premi Enter per continuare e accetta i termini della licenza:Installing ESXi select hard disk to install too
  29. Seleziona la partizione da 10GB creata precedentemente:Installing ESXi
  30. Specifica le impostazioni del layout tastiera e configura la password di root:Installing ESXi
  31. Premi F11 per iniziare l’installazione. Richiederà  qualche minuto:
  32. Scollega il drive ottico virtuale e riavvia:Eject Hypervisor media
  33. Il server ESXi verrà  avviato.
  34. Caricato ESXi dovresti vedere la shell e notare un indirizzo IP. Questo indica che la configurazione legacy della rete ha funzionato:Esxi Installed on Hyper-V with networking enabled
  35. Premi F2 e esegui il login come ROOT:Esxi enter Root password
  36. Ora dobbiamo impostare l’opzione di boot “ignoreHeadless=TRUE” come permanente. Per farlo, dobbiamo abilitare la shell di ESXi. Accedi alle Troubleshooting options e abilita Enable ESXi shell:Esxi - Troubleshooting optionsESXi - enable ESXi Shell
  37. Premi ALT F1 per accedere la ESXi Shell.
  38. Fai il login.
  39. Digita esxcfg-advcfg –set-kernel “TRUE” ignoredHeadless:Esxi Shell rootEsxi - set headless
  40. Riavvia il server.
  41. ESXi partirà  senza bisogno di intervento manuale.
  42. E’ consigliabile disabilitare la ESXi Shell per ragioni di sicurezza:Disable ESXi Shell
  43. Ora puoi provare a connetterti all’indirizzo IP dell’host ESXi appena creato. Probabilmente non sarai in grado di pingare il server nonostante l’indirizzo IP Net-Tulip.
  44. Apri il Command Prompt (come administrator) e aggiungi uno static route per il tuo ESXi IP. Digita route add -p 192.168.1.240 192.168.1.1 (sostituisci con i valori della tua rete).
  45. Pinga nuovamente l’host e verifica la risposta:Esxi on Hyper-V - no ping to host
  46. Apri il browser e collegati all’host ESXi.
  47. Scarica il vSphere Client e installalo:vSphere - Installation startvSphere - Installation licence pagevSphere - Installation startvSphere - Installation in progress
  48. Apri il vSphere client e collegati al server ESXi usando le credenziali di root. Sei pronto per utilizzare l’host:Esxi running on Hyper-V

 

Read related articles