Hopp til innhold

Fagstoff

Virtuelle maskiner

Virtuelle maskiner (VM) brukes aktivt innen serverdrift for å gjøre det mulig å kjøre flere virtuelle datamaskiner på én fysisk server.
Facebooks serverhall. Skap med servere på begge sider av en lang korridor. Foto.
Åpne bilde i et nytt vindu

Tradisjonelle systemer uten virtualisering

Modell med piler og tekstbokser på tre nivåer. Nederst står det Maskinvare, denne er koblet sammen med Vertsmaskinens operativsystem, som står hakket over. Denne er igjen koblet sammen med flere dataprogrammer. Illustrasjon.
Åpne bilde i et nytt vindu

I tradisjonelle server- og klientmaskiner kjører operativsystemet direkte på maskinvaren. Operativsystemet styrer maskinens ressurser, som minne, lagring og prosessorkraft. Den tar seg av brukergrensesnitt, drivere, sikkerhet med mer.

Dataprogrammer kjører på toppen av operativsystemet. Operativsystemet gir programmene systemressurser og sikrer at dataprogrammene som kjører, ikke forstyrrer hverandre.

Oppsett uten virtualisering kan fungere veldig godt, men det er også noen ulemper:

  • Datamaskinen kan kun kjøre ett operativsystem av gangen.

  • Kun programmer som er tilpasset det spesifikke operativsystemet, kan kjøres.

  • Kritiske feil i et program kan forstyrre operativsystemet og dermed andre programmer.

  • Dataangrep som lykkes, kan få tilgang til alle data, OS og programmer.

Datamaskiner med virtualisering

Modell med tekstbokser og piler. På bunnen har vi boksen maskinvare. Over den er hypervisoren. Denne lager virtuell maskinvare som operativsystemet på to virtuelle maskiner kan bruke. Illustrasjon.
Åpne bilde i et nytt vindu

Virtualisering av datamaskiner (VM) innebærer at vi bruker programvare (en hypervisor) som gjør det mulig å simulere alt av maskinvare et operativsystem trenger.

De virtuelle maskinene som settes opp, kjører atskilt fra hverandre på lik måte som om de kjørte på forskjellige fysiske datamaskiner.

For hver virtuelle maskin som settes opp, kan mengde prosessorkraft, arbeidsminne og lagringsplass justeres. Det er også mulig å direktekoble maskinvare til en spesifikk virtuell maskin. For eksempel kan dette være et skjermkort eller spesifikke fysiske USB-porter.

Det er en rekke fordeler med virtualisering, spesielt for servere:

  • Bruk av virtuelle maskiner kan redusere antall fysiske servere som trengs, dette sparer penger både for innkjøp og drift.

  • Den fysiske maskinens ressurser kan bli bedre utnyttet når flere virtuelle maskiner kan kjøre på den samtidig.

  • Virtuelle maskiner kan lett flyttes over til ny maskinvare. Dette kan også gjøres uten at den virtuelle maskinen stoppes, noe som er nyttig for kritiske tjenester.

  • Kritiske feil på en virtuell maskin vil ikke påvirke de andre virtuelle maskinene som kjører.

  • Dataangrep som lykkes, vil være begrenset til en enkelt virtuell maskin.

  • Det er enkelt å gjøre sikkerhetskopier av virtuelle maskiner.

Hypervisorer

Virtualisering er delt i to hovedkategorier: type 1, "native hypervisor", og type 2, "hosted hypervisor". Forskjellen mellom disse ligger i hvor i oppsettet hypervisoren kjører.

To modeller med piler og bokser på ulike nivåer vises: I type 1 er hypervisoren koblet direkte til maskinvaren, og virtuelle maskiner er tilkoblet hypervisoren. I type 2 er vertsoperativsystemet koblet til maskinvaren, og hypervisoren er koblet til vertsoperativsystemet. Illustrasjon.
Åpne bilde i et nytt vindu

Type 1, native hypervisor

Type 1-hypervisorer arbeider direkte mot maskinvaren og er i praksis et minimalt operativsystem for datamaskinen. Hypervisoren har full og rask tilgang til datamaskinens maskinvare. Dette gir god effektivitet og stabilitet, noe som er ettertraktet i virkelige driftsmiljøer.

Datamaskinens ressurser styres av type 1-hypervisoren og deles ut til de virtuelle datamaskinene. Hver virtuelle maskin konfigureres med hvor mye av systemressursene de maksimalt skal ha tilgang til. De kan få mindre hvis det er mange virtuelle maskiner som trenger ressurser samtidig.

Type 1-hypervisoren simulerer ressurser som nettverkskort, harddisk kontroller og USB-kontroller for de virtuelle maskinene.

Modell av Hyper-V-installasjon før og etter. Illustrasjon.
Åpne bilde i et nytt vindu

For nettverk innebærer dette at maskinens fysiske nettverksporter ikke knyttes direkte til de virtuelle maskinene, men at hypervisoren drifter en eller flere virtuelle svitsjer som de virtuelle maskinene får koble seg til. Dette gjør at mange virtuelle maskiner kan nå det fysiske nettverket gjennom den samme fysiske nettverksporten på datamaskinen.

Eksempler på type 1-hypervisorer er Hyper-V, VMware ESXi, XCP-ng og Proxmox.

Type 2, hosted hypervisor

Type 2-hypervisorer er programvare som kjører på toppen av vertsmaskinens operativsystem. Hypervisoren har dermed tilgang til maskinvare kun gjennom vertsoperativsystemet. Hvis hypervisoren trenger flere ressurser (prosessorkraft, arbeidsminne eller liknende), må dette godkjennes av operativsystemet. Type 2-hypervisorer er dermed mindre effektive og stabile enn type 1. De er derfor ikke så aktuelle i driftsmiljøer. Derimot er de enkle å installere og praktiske å teste programvare med.

Eksempler på type 2-hypervisorer er VirtualBox, VMware Workstation og Parallels Desktop for Mac.

Video om virtualisering

I YouTube-videoen fra IBM forklares virtualisering og virtuelle maskiner. Denne ressursen kan være nyttig for repetisjon. Videoen er på engelsk.


CC BY-SASkrevet av Tron Bårdgård.
Sist faglig oppdatert 30.04.2021

Læringsressurser

Virtualisering av IT-ressurser