Virtuelle maskiner (VM) kan være svært nyttig hvis du trenger å bruke flere operativsystemer på daglig basis. Når det er sagt, så enkle som de er å bruke, de kommer i mange forskjellige typer, og det kan være vanskelig å velge den rette.

En spesiell type virtualisering som vi ikke ser så ofte kalles nestet virtualisering. Det er akkurat slik det høres ut og er litt vanskelig å sette opp, men kan være enormt nyttig hvis det er den typen ting du leter etter.

Hva er Nested Virtualization?

I sin enkleste form innebærer nestet virtualisering å kjøre en virtuell maskin inne i en annen virtuell maskin. Det betyr at du har en vertsdatamaskin og operativsystem som kjører en virtuell maskin med sitt eget sett med virtualisert maskinvare og programvare, der en annen VM kjører.

Det legger i hovedsak et nytt lag med virtualisering til hypervisoren din og kan isolere VM fra vertsmaskinen med to separate lag. Dette har mange brukstilfeller, spesielt i utviklingsapplikasjoner der du kanskje trenger et isolert miljø for å teste ut programvarerammeverk, apper, kodebaser og lignende.

Hvilke krav trenger du for å bruke Nested Virtualization?

Basert på hypervisoren du bruker, kan programvare- og maskinvarekravene for å kjøre et nestet virtualiseringsmiljø være forskjellige. Når det er sagt, kommer maskinvarekravene til å være mer eller mindre de samme over hele linja. Når det gjelder programvare, vil forskjellige programmer ha sine egne versjoner som støtter nestet virtualisering.

Når det gjelder VMware VirtualBox, kom støtte for nestet virtualisering med versjon 6.0 for AMD CPUer. Intel CPUer ble lagt til senere med versjon 6.1. Så alt du egentlig trenger å gjøre er å sørge for at du kjører den nyeste versjonen av VirtualBox, og du bør være i gang.

Hvorfor trenger du å bruke Nested Virtualization?

Som nevnt ovenfor, brukes nestet virtualisering mest i utviklingsscenarier for å teste programvarerammeverk og kodebaser i et isolert miljø. Imidlertid er deres brukstilfeller ikke begrenset til nettopp det.

Nestede VM-er kan være ganske kostnadseffektive siden du ikke trenger å legge til ekstra fysisk utstyr for flere maskiner. De er også enkle å flytte rundt på, så hvis du (eller organisasjonen din) flytter maskiner fra din lokale server til skyen, kan prosessen være så enkel som eksportere VM-filene og laste dem opp til en annen datamaskin eller en skyhypervisor.

Bortsett fra dette gir fleksibiliteten som nestede VM-er også brukere muligheten til å kjøre flere hypervisorer. Ikke alle hypervisorer er bygget like, og du må kanskje velge den ene fremfor den andre til tider. For eksempel er det mulig å kjøre Windows Hyper-V på en Windows VM som er vert på VMwares VirtualBox – som kjører to hypervisorer samtidig.

Sist men ikke minst, de er også ganske enkle å skalere opp i henhold til dine behov. Alt du trenger å gjøre er å legge til mer lagring, RAM eller en sterkere CPU til vertsmaskinen din, og VM-ene, så vel som nestede VM-er, vil kunne bruke tilleggsressursene med bare noen få klikk.

Slik setter du opp en nestet VM

Å sette opp en nestet VM kan faktisk være vanskelig basert på hypervisoren du bruker. For VirtualBox er prosessen så enkel som å klikke på en avmerkingsboks.

  1. Åpne VMware VirtualBox og klikk på Innstillinger ikonet øverst etter at du har valgt VM.
  2. Gå over til System og klikk på Prosessor fanen. Undersøk Aktiver Nested VT-x/AMD-V alternativ, og du er i gang.

På noen systemer vil du kanskje legge merke til at Aktiver Nested VT-x/AMD-V avkrysningsboksen er nedtonet. Du kan overstyre dette ved å bruke VBoxManage verktøy. Dette er hvordan.

  1. Åpne ledeteksten og gå over til VirtualBox-installasjonskatalogen ved å bruke følgende kommando. Merk at kommandoen bruker standard installasjonsmappe, og du bør endre den hvis du installerte VirtualBox andre steder.
    cd C:\Program Files\Orcale\VirtualBox
  2. Skriv ut listen over tilgjengelige VM-er ved å bruke denne kommandoen. Du kan hoppe over dette trinnet hvis du allerede vet navnet på VM-en du vil endre.
    VBoxManage list vms
  3. Til slutt, skriv inn følgende kommando og trykk enter for å aktivere nestet virtualisering på din valgte VM.
    VBoxManage modifyvm "VM Name" --nested-hw-virt on

Prosessen for å aktivere nestet virtualisering fungerer på samme måte enten du bruker Windows, Linux eller macOS, inkludert terminalkommandoene når de er installert sammen med VirtualBox. I tillegg, VBoxManage kan gjøre mer enn bare å aktivere nestet virtualisering. Vi har dekket seks nyttige VirtualBox-kommandoer du kan bruke til å administrere VM-ene dine her.

Ytterligere feilsøkingstrinn for å aktivere Nested Virtualization på Windows

Noen ganger kan Windows' innebygde virtualiseringsfunksjoner forårsake problemer med nestet virtualisering. I tilfelle GUI- og kommandolinjemetodene ikke klarer å aktivere nestet virtualisering på systemet ditt, må du deaktivere Virtuell maskinplattform trekk.

  1. Trykk på Windows-tasten, søk etter Slå Windows-funksjoner på eller av, og klikk på det tilsvarende søkeresultatet.
  2. Finn Virtuell maskinplattform funksjonen i listen, fjern avmerkingen i avmerkingsboksen før den, og klikk på OK knappen nederst til høyre.

Du kan bli bedt om å starte PC-en på nytt. Når du er ferdig, kan du prøve ledetekst-kommandoene nevnt ovenfor for å aktivere nestet virtualisering i VM-en din. Husk at du kan støte på spesifikke problemer basert på operativsystemet og prosessoren. Som du forventer, krever disse løsninger som er spesifikke for ditt vertsmiljø og maskinvare.

Når det er sagt, har de fleste vanlige problemene enten blitt løst via oppdateringer eller har blitt diskutert nok til at du enkelt kan finne en løsning. Det er ikke å si at du ikke skal avskrekkes fra å prøve nestede VM-er bare fordi du får et problem mens du konfigurerer dem fordi å løse slike problemer i de fleste tilfeller vil bare kreve litt forskning og eksperimentering. Nok en gang kan du også enkelt unngå mange slike problemer hvis du bruker den nyeste versjonen av VirtualBox og bruker nyere CPUer, enten de er Intel eller AMD.

Nestede VM-er kan være nyttige

Ikke bare er det mulig å lage nestede VM-er, men det kan faktisk være ganske fordelaktig hvis det gjøres riktig. Jada, det er mer egnet for spesifikke, nisjearbeidsbelastninger, men for den rette brukeren er fleksibiliteten og skalerbarheten, samt bekvemmeligheten de gir, vel verdt et lite fall i ytelse.