Virtuel maskine
Også kendt som: VM
En hel computer lavet i software med sit eget styresystem, der kører side om side med andre på én fysisk maskine.
Kladde - dette opslag er endnu ikke gennemgået.
Formelt
En softwarekopi af en hel computer - processor, hukommelse, disk og netkort - skabt af en hypervisor; den kører sit eget fulde styresystem, adskilt fra de andre virtuelle maskiner på samme hardware.
Forklaret enkelt
Som lejligheder i én ejendom - hver har sin egen hoveddør, sit eget køkken og badeværelse, selvom de deler samme fundament.
I praksis
Den IT-driftsansvarlige på et vandværk kører lønsystemet, filserveren og et testmiljø som tre virtuelle maskiner på én kraftig server, hver med sin egen Windows eller Linux.
Hvorfor det betyder noget
Den er den grundlæggende byggesten i de fleste cloudtjenester; stærk adskillelse mellem maskinerne er det, der gør, at fremmede trygt kan dele den samme hardware.
Teknisk uddybning
En VM er defineret af en virtuel hardwarespecifikation (antal vCPU'er, hukommelse, virtuelle enheder), firmware (klassisk BIOS eller UEFI, i stigende grad med Secure Boot og en virtuel TPM) og et eller flere diskimages i formater som VMDK, VHDX, qcow2 eller raw, som kan pakkes til udveksling med DMTF's Open Virtualization Format (OVF). Virtuelle enheder er enten fuldt emulerede (et Intel e1000-netkort, en IDE-controller), hvilket virker med uændrede gæster, men er langsomt, eller paravirtualiserede (virtio-net og virtio-blk under KVM, VMXNET3 og PVSCSI under VMware), hvor gæsten kører drivere, der ved, at de er virtualiserede. Hver vCPU er en enhed, som værten planlægger, så CPU kan overbookes; hukommelse kan også overbookes via ballooning, swapping på værten eller deling af sider, dog slog VMware i 2014 deling af sider mellem VM'er fra som standard på grund af risikoen for sidekanaler.
Det er i livscyklussen, at VM'er adskiller sig mest fra fysiske servere. Snapshots gemmer en deltadisk (og eventuelt hukommelsens tilstand) fra et tidspunkt; de er ikke backup, fordi de afhænger af basisdisken og forringer ydelsen, hvis de bliver liggende længe. Kloning fra en skabelon kopierer identitetsmateriale som SSH-værtsnøgler og maskin-id'er, medmindre imaget er generaliseret (sysprep på Windows, cloud-init eller ny machine-id på Linux). Live migration, beskrevet af Clark m.fl. i 2005 og solgt som vMotion, kopierer iterativt hukommelsessider, mens VM'en kører, og sætter den kun kortvarigt på pause for at overføre de sidste ændrede sider og CPU-tilstanden.
Isolationen mellem VM'er er kun så stærk som hypervisoren og CPU'ens afhjælpning af sidekanaler, men den er strukturelt stærkere end mellem containere, der deler én værtskerne. VM-artefakter er i sig selv følsomme: et diskimage eller hukommelsessnapshot af en domænecontroller lader en angriber trække Active Directory-databasen og nøgler ud offline, så adgang til lager og hypervisorkonsol skal behandles som tier 0. VM sprawl efterlader glemte, upatchede maskiner på netværket. Confidential computing (AMD SEV-SNP, Intel TDX) krypterer VM'ens hukommelse med nøgler, som hypervisoren ikke kan læse, og mindsker dermed den tillid, der skal vises til værtens operatør.
To navnesammenfald skaber forvirring. En system-VM, der emulerer en hel maskine, er ikke det samme som en proces-VM som JVM eller .NET CLR, der kører ét program i en sprog-runtime. Og i cloudterminologi er en "instans" blot en VM af en foruddefineret instanstype, nogle gange på dedikerede værter eller bare metal, og nested virtualisering lader en VM selv være vært for flere VM'er.
Hvad du bør lære først
Alt det, dette bygger på - grundlaget først.
- Styresystem
- →Hypervisor
- →Virtuel maskine
Relationer
- Forudsætter
- HypervisorStyresystem
- Forveksl ikke med
- Container
- Bruges sammen med
- Infrastructure as a service (IaaS)
Kilder og videre læsning
Standarder og officielle tekster
- NIST SP 800-125 - Guide to Security for Full Virtualization Technologies · NIST
Hvor dataene kommer fra
Dette opslag er skrevet af en AI ud fra kilderne ovenfor og er endnu ikke gennemgået af et menneske. Brug det som udgangspunkt, og tjek alt vigtigt mod kilderne.
Se gennemgangskøenForeslå en rettelse på GitHubDette begreb som JSON
Nævnt i
Test dig selv
Indlæser…