Geneste virtualisatie in Windows 10
Geneste virtualisatie kunt u een hypervisor binnen een virtuele machine laten draaien. Windows 10 Bouw 10565 geïntroduceerde geneste virtualisatie. Of je het nu nodig hebt of niet, hier is wat informatie die je zou kunnen interesseren.
Container binnen container: Over geneste virtualisatie in Windows
Vroeger kon je parallelle containers maken - zoveel als je hoofdgeheugen zou toestaan en voor verschillende doeleinden gebruiken. Microsoft heeft nu de functie van geneste virtualisatie vrijgegeven met de nieuwste Insider Build met nummer 10565. Met de functie van geneste virtualisatie in Windows kunt u containers in containers maken. Hoewel de functie nog niet perfect is, is dit wat u moet weten.
Virtualisatie met Hyper V
Windows ondersteunt Droka - waarmee je eenvoudige containers kunt maken die je parallel kunt gebruiken of om Hyber V-containers te maken die als beter worden beschouwd dan eenvoudige containers. Hoewel je parallel Windows Containers kunt maken, gebruiken ze vaak dezelfde bibliotheken en bronnen. In dit geval kunnen een of meer van de "slechte" containers een blokkade veroorzaken door middelen vast te houden en ze niet vrij te geven voor gebruik door andere containers. Dat is het enige nadeel dat leidde tot de introductie van Hyper V-containers.
Hyper V-containers creëren alles afzonderlijk voor elke virtuele atmosfeer. Dat betekent dat zelfs het besturingssysteem opnieuw wordt gemaakt en wordt geleverd aan de toepassingen die in dat virtuele compartiment worden uitgevoerd. Dit betekent dat er geen gemeenschappelijke virtuele bronnen zijn en dus geen conflicten.
Geneste virtualisaties in Windows worden mogelijk gemaakt met Hyper V. U kunt andere dingen proberen, maar Microsoft zegt dat de geneste virtualisatie momenteel alleen met Hyper V-containers werkt. U moet dus voorzichtig zijn om één container te maken en vervolgens een andere in de eerste container te maken. Als u een andere hypervisor probeert te gebruiken of probeert een andere Hyper V-container te maken parallel aan wat u al hebt gemaakt, werkt deze mogelijk niet. Het roept me echter een vraag op: zijn parallelle containers dan niet mogelijk in Windows? Ik zal er ook in het volgende gedeelte over praten.
Geneste virtualisatie: wat is het en hoe moet het worden geïmplementeerd??
Zoals eerder gezegd, kunt u een Hyper V-container maken. Deze container zorgt ervoor dat andere hypervisors deze niet mogen zien. Dat wil zeggen dat alleen de container wordt weergegeven als de CPU en dat de werkelijke CPU mogelijk niet zichtbaar is voor andere hypervisors, zodat u niet eens een andere container parallel kunt maken. De twijfel is in dit geval of u twee of meer Hyper V-containers parallel kunt maken of dat u alleen containers kunt maken binnen de eerste container die u hebt gemaakt.
De blog van Microsoft zegt dat zodra je een Hyper V-container hebt gemaakt, andere hypervisors geen Hyper V-containers meer kunnen installeren omdat ze de echte CPU niet kunnen zien. U kunt niet meer containers maken buiten de container die u al hebt gemaakt? Als u vervolgens andere virtualizers uitvoert, zullen ze denken dat de container de werkelijke CPU is en een virtuele container in die container maken.
Dat is geneste virtualisatie - waar je containers hebt in containers - ook dat, elk volledig onafhankelijk van een ander: geen gedeelde bibliotheken of stuurprogramma's. Klinkt goed behalve die ene twijfel aan parallelle containers. Hier is de afbeelding die ik heb geleend van Microsoft om de werking van geneste virtualisatie te demonstreren
Voor de implementatie van de geneste virtualisatie zijn er verschillende factoren die moeten worden gecontroleerd. Voorbeelden zijn:
- Hoeveelheid RAM (vergeet niet dat RAM een beperkende factor is: u kunt slechts zoveel containers maken als uw RAM kan bevatten)
- Wordt uw processor ondersteund? (MS zegt dat alleen Intel VT-X op dit moment wordt ondersteund)
- Dynamisch geheugen moet zijn uitgeschakeld
- Runtime-geheugen bijhouden en meer
Op dit punt zijn er tal van problemen die Microsoft in latere fasen kan oplossen. Maar om de geneste virtualisatie te proberen, heeft het een PowerShell-script ontwikkeld dat u kunt oproepen vanuit GitHub.
Raadpleeg dit MSDN-blogbericht voor meer informatie over het maken van geneste virtualisatiecontainers in Windows 10 en meer.