Virtuelle maskiner
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.
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.
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.
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.
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.
I YouTube-videoen fra IBM forklares virtualisering og virtuelle maskiner. Denne ressursen kan være nyttig for repetisjon. Videoen er på engelsk.