Nestet virtualisering i Windows 10
Nestet virtualisering lar deg kjøre en hypervisor inne i en virtuell maskin. Windows 10 Bygg 10565 introduserte Nested Virtualization. Enten du trenger det eller ikke, her er noen opplysninger som kan interessere deg.
Container inne Container: Om Nested Virtualization i Windows
Tidligere kunne du opprette parallelle containere - så mange som ditt hovedminne ville tillate og bruke dem til forskjellige formål. Microsoft har nå sluppet funksjonen til nestet virtualisering med sin nyeste Insider Build nummerert 10565. Funksjonen med nestet virtualisering i Windows lar deg lage containere inne i containere. Selv om funksjonen ikke er perfekt, er dette det du trenger å vite.
Virtualisering ved hjelp av Hyper V
Windows støtter Droka - som lar deg lage enkle beholdere som du kan bruke parallelt eller for å lage Hyber V-beholdere som betraktes som bedre enn enkle beholdere. Selv om du kan lage Windows Containers parallelt, blir de ofte de samme biblioteker og ressurser. I dette tilfellet kan en eller flere "dårlige" beholdere ende opp med å opprette papirstopp ved å holde opp ressurser og ikke slippe dem for andre beholdere som skal brukes. Det er den eneste ulempen som førte til introduksjon av Hyper V-beholdere.
Hyper V-beholdere lager alt for hver virtuell atmosfære. Det vil si at selv operativsystemet blir gjenskapt og gitt til programmene som kjører i det virtuelle rommet. Dette betyr at det ikke finnes vanlige virtuelle ressurser og dermed ingen konflikter.
Nestede virtualiseringer i Windows er gjort mulig ved hjelp av Hyper V. Du kan prøve andre ting, men Microsoft sier at den nestede virtualiseringen for øyeblikket kun vil fungere med Hyper V-beholdere. Så du må være forsiktig med å lage en beholder og deretter lage en annen i den første beholderen. Hvis du prøver å bruke annen hypervisor eller forsøker å opprette en annen Hyper V-beholder parallelt med det du allerede har opprettet, virker det kanskje ikke. Det hevder et spørsmål i tankene mine - er parallelle beholdere ikke mulige i Windows da? Jeg vil også snakke om det i neste avsnitt.
Nestet virtualisering - hva er det og hvordan å implementere?
Som sagt tidligere kan du opprette en Hyper V-beholder. Denne beholderen vil sørge for at andre hypervisorer ikke får se det. Det vil si at bare beholderen vil vises som CPU og den faktiske CPUen kanskje ikke er synlig for andre hypervisorer, slik at du ikke engang kan lage en annen container parallelt. Tvil i dette tilfellet er om du kan lage to eller flere Hyper V-beholdere parallelt, eller du får bare lage containere i den første beholderen du opprettet.
Microsofts blogg sier at når du oppretter en Hyper V-beholder, vil det ikke tillate andre hypervisorer å installere flere Hyper V-beholdere, da de ikke vil kunne se den virkelige CPU. Du kan ikke opprette flere containere utenfor beholderen du allerede har opprettet? Da, når du kjører andre virtualizers, vil de tro at containeren er den faktiske CPU og skaper en virtuell container inne i den beholderen.
Det er nestet virtualisering - hvor du har containere i containere - det også, hver og en helt uavhengig av en annen: ingen delte biblioteker eller drivere. Høres bra ut, uten tvil om parallelle beholdere. Her er bildet jeg lånte fra Microsoft for å demonstrere arbeidet med nestet virtualisering
Kommer til implementering av den nestede virtualiseringen, er det en rekke faktorer som skal kontrolleres. Noen eksempler er:
- Mengde RAM (husk at RAM er en begrensende faktor, du kan bare lage så mange beholdere som RAM-en kan holde)
- Er prosessoren din støttet? (MS sier at bare Intel VT-X støttes for øyeblikket)
- Dynamisk minne må være av
- Holder kategorien på kjøretidshukommelse og mer
Det er mange problemer på dette tidspunktet som Microsoft kan ta vare på i senere faser. Men for å prøve den nestede virtualiseringen, har den utviklet et PowerShell-skript som du kan påkalle fra GitHub.
For å finne ut hvordan du lager Nested Virtualization Containers i Windows 10, og mer, se dette MSDN blogginnlegget.