L’idea di utilizzare la virtualizzazione annidata in un contesto come quello di Azure può sembrare useless ma, in scenari di laboratorio, può risultare una soluzione interessante.
Questo approccio ha diverse limitazioni e solo alcune famiglie di VM offrono supporto per la nested, il consiglio è quello di verificare sempre in documentazione Microsoft quale istanza utilizzare.
Fatte queste premesse iniziamo con la preparazione dell’host, i prossimi passaggi riguardano la creazione della macchina virtuale con Windows Server 2022 tramite Azure Portal:
Per quanto riguarda i dischi, ho scelto una istanza Windows [smalldisk] il che vuol dire che la dimensione del disco del sistema operativo sarà di 30 GB. Relativamente a quello in cui andremo a posizionare i file delle nostre VM, in questo esempio sarà da 1 TB, ma la scelta sul dimensionamento andrà fatta in base alle esigenze del caso.
Sto dando per scontato che tutti i passaggi sopra siano chiari, ma se avete dubbi sulle procedure utilizzate nelle prossime puntate di HomeLab tratterò anche la creazione di un Tenant e di tutte le risorse necessarie per partire con una infrastruttura su Microsoft Azure.
Una volta collegati al nostro host, potremo passare alla configurazione del ruolo Hyper-V:
Se non ci fossero dei problemi non avrebbe senso il nostro lavoro 🙂
L’errore è conosciuto ed è facilmente risolvibile tramite questo comando PowerShell:
bcdedit /set hypervisorlaunchtype auto Restart-Computer -Force
Dopo il reboot del nodo la procedura andrà a buon fine e potremo continuare con la configurazione:
Andiamo a preprare i dischi come segue e a impostare i Default Store per il posizionamento dei file delle macchine virtuali:
Adesso sarà necessario preprare il Virtual Switch dedicato alle VM, impostando anche l’indirizzo IP dell’interfaccia di rete (in questo esempio 192.168.200.1/24);
PS C:\Windows\system32> Get-NetAdapter Name InterfaceDescription ifIndex Status MacAddress LinkSpeed ---- -------------------- ------- ------ ---------- --------- Ethernet 3 Microsoft Hyper-V Network Adapter #2 14 Up 7C-1E-52-32-3C-EF 50 Gbps Ethernet 5 Mellanox ConnectX-4 Lx Virtual Eth...#3 11 Up 7C-1E-52-32-3C-EF 50 Gbps vEthernet (VM-Internal) Hyper-V Virtual Ethernet Adapter #2 2 Up 00-15-5D-01-06-09 10 Gbps
PS C:\Windows\system32> New-NetIPAddress -IPAddress 192.168.200.1 -PrefixLength 24 -InterfaceIndex 2 IPAddress : 192.168.200.1 InterfaceIndex : 2 InterfaceAlias : vEthernet (VM-Internal) AddressFamily : IPv4 Type : Unicast PrefixLength : 24 PrefixOrigin : Manual SuffixOrigin : Manual AddressState : Tentative ValidLifetime : Infinite ([TimeSpan]::MaxValue) PreferredLifetime : Infinite ([TimeSpan]::MaxValue) SkipAsSource : False PolicyStore : ActiveStore IPAddress : 192.168.200.1 InterfaceIndex : 2 InterfaceAlias : vEthernet (VM-Internal) AddressFamily : IPv4 Type : Unicast PrefixLength : 24 PrefixOrigin : Manual SuffixOrigin : Manual AddressState : Invalid ValidLifetime : Infinite ([TimeSpan]::MaxValue) PreferredLifetime : Infinite ([TimeSpan]::MaxValue) SkipAsSource : False PolicyStore : PersistentStore
Per il laboratorio ho scelto di utilizzare una Ubuntu Server 22.04. Dopo aver creato la macchina virtuale impostando un indirizzo IP (in questo esempio 192.168.200.2/24) potremo raggiungerla direttamente dall’host Hyper-V:
Come abbiamo visto, tutto sommato, gli step sono piuttosto semplici. Tenete comunque conto che, in questo modo, avremo dei sistemi che potranno dialogare solo internamente all’host Hyper-V. Potremmo, però, configurare dei servizi di routing e rendere anche questa parte di infrastruttura raggiungibile dall’esterno o da altre macchine in Azure.
Categories: All