Virtualizzazione nidificata in Windows 10
Virtualizzazione nidificata consente di eseguire un hypervisor all'interno di una macchina virtuale. Windows 10 Build 10565 ha introdotto la virtualizzazione nidificata. Se ne hai bisogno o no, ecco alcune informazioni che potrebbero interessarti.
Contenitore all'interno del contenitore: Informazioni sulla virtualizzazione nidificata in Windows
In precedenza era possibile creare contenitori paralleli, quanti ne avrebbe consentito la memoria principale e usarli per scopi diversi. Microsoft ha ora rilasciato la funzionalità di virtualizzazione nidificata con la sua ultima Insider Build numerata 10565. La funzionalità di virtualizzazione nidificata in Windows consente di creare contenitori all'interno di contenitori. Anche se la funzione non è ancora perfetta, ecco quello che devi sapere.
Virtualizzazione con Hyper V
Windows supporta Droka, che consente di creare contenitori semplici che è possibile utilizzare in parallelo o di creare contenitori Hyber V considerati migliori rispetto ai contenitori semplici. Sebbene sia possibile creare contenitori Windows in parallelo, spesso finiscono per utilizzare le stesse librerie e risorse. In questo caso, uno o più contenitori "Cattivi" possono terminare la creazione di un inceppamento trattenendo risorse e non rilasciandole per altri contenitori da utilizzare. Questo è l'unico inconveniente che ha portato all'introduzione di contenitori Hyper V.
I contenitori Hyper V creano tutto separatamente per ogni atmosfera virtuale. Cioè, anche il sistema operativo viene ricreato e fornito alle applicazioni in esecuzione in quel compartimento virtuale. Ciò significa che non esistono risorse virtuali comuni e quindi nessun conflitto.
Le virtualizzazioni nidificate in Windows sono rese possibili utilizzando Hyper V. Puoi provare altre cose, ma Microsoft afferma che attualmente la virtualizzazione nidificata funzionerà solo con i contenitori Hyper V. Quindi devi fare attenzione a creare un contenitore e quindi crearne un altro all'interno del primo contenitore. Se si tenta di utilizzare qualsiasi altro hypervisor o si tenta di creare un altro container Hyper V in parallelo a quello che si è già creato, potrebbe non funzionare. Tuttavia, mi viene in mente una domanda: i contenitori paralleli non sono quindi possibili in Windows? Ne parlerò nella prossima sezione.
Virtualizzazione nidificata - Che cos'è e come implementarla?
Come detto in precedenza, è possibile creare un contenitore Hyper V. Questo contenitore si assicurerà che altri hypervisor non possano vederlo. Cioè, solo il contenitore apparirà come la CPU e la CPU effettiva potrebbe non essere visibile ad altri hypervisor in modo da non poter nemmeno creare un altro contenitore in parallelo. Il dubbio in questo caso è se è possibile creare due o più contenitori Hyper V in parallelo o creare contenitori solo all'interno del primo contenitore creato.
Il blog di Microsoft dice che una volta creato un container Hyper V, non permetterà ad altri hypervisor di installare altri contenitori Hyper V poiché non saranno in grado di vedere la vera CPU. Non è possibile creare più contenitori all'esterno del contenitore che hai già creato? Quindi, quando si eseguono altri virtualizzatori, penseranno che il contenitore sia la CPU effettiva e crei un contenitore virtuale all'interno del contenitore.
Questa è la virtualizzazione nidificata, in cui sono presenti contenitori all'interno dei contenitori, anche questa, completamente indipendente da un'altra: non esistono librerie o driver condivisi. Sembra buono tranne per quel dubbio sui contenitori paralleli. Ecco l'immagine che ho preso in prestito da Microsoft per dimostrare il funzionamento della virtualizzazione nidificata
Venendo all'implementazione della virtualizzazione nidificata, ci sono una varietà di fattori da controllare. Alcuni esempi sono:
- Quantità di RAM (ricorda che la RAM è un fattore limitante, puoi creare solo il numero di contenitori che può contenere la RAM)
- Il tuo processore è supportato? (MS dice che solo Intel VT-X è supportato al momento)
- La memoria dinamica deve essere disattivata
- Mantieni la scheda sulla memoria di runtime e altro ancora
Ci sono una serie di problemi a questo punto che Microsoft potrebbe occuparsi delle fasi successive. Ma per provare la virtualizzazione nidificata, ha sviluppato uno script PowerShell che puoi invocare da GitHub.
Per scoprire come creare contenitori di virtualizzazione nidificati in Windows 10 e altro, fare riferimento a questo post del blog MSDN.