Organisering av disker for virtuelle maskiner

Mange har begynt å ta i bruk virtuelle maskiner, både på servere og på skrivebordet. Det finnes flere tester og sammenligninger på nettet, men ikke mange tekster tar for seg alternativene man har når det gjelder lagringsplass for virtuelle maskiner (såkalte disk images). Denne artikkelen skisserer fire muligheter og diskuterer noen av fordelene og ulempene med disse.

Hvilken av løsningene som er best for deg avhenger av ditt bruksområde og hvilke krav du stiller til ytelse. Treigere løsninger, som VMware, Virtualbox og QEMU vil som regel være best tjent med alternativ 1 eller 2. Sistnevnte er vanligvis det som anbefales i veiledninger for disse.

Hvis du derimot bruker KVM eller Xen har du som regel allerede investert en del tid for å forstå løsningen og drivkraften er som regel å få god ytelse. Det er nesten ingen fordeler forbundet med alternativ 3, derfor anbefales 4. Husk at du kan bruke QEMU for å teste virtuelle maskiner, og så kjøre de gjennom KVM ved en senere anledning.

1) Gi den virtuelle maskinen en fil som kan vokse
Fordelen med denne løsningen er først og fremst at den er enkel, og at du ikke bruker mer plass enn det som gjestoperativsystemet faktisk trenger. Det er også lett å lage en sikkerhetskopi, bare stopp den virtuelle maskinen og bruk et hvilket som helst verktøy for å kopiere filen.

Ulempen er at filen må utvides etterhvert som imaget av disken vokser. Det vil si at vertoperativsystemet må finne ny plass på den fysiske disken for å utvide denne ene filen. I mange tilfeller, og spesielt ved større systemoppdateringer, vil det ikke være plass til å gjøre dette rett ved siden av der de gamle dataene ligger. Dette gjør at filen blir spredt ut over den fysiske disken med data fra andre filer i mellom, bedre kjent som fragmentering. For å lese hele filen må diskhodet derfor bevege seg, noe som koster tid. Dette kan være spesielt ille på virtuelle maskiner, hvor dataene allerede kan være fragmentert på den virtuelle disken.

2) Lag en fil med fast størrelse
Dette er ofte den vanligste måten å gjøre ting på. Fordelen er at du igjen har en fil som det er lett å ta sikkerhetskopi av. Siden du setter av all plass på forhånd er det også sannsynlig at den virtuelle disken er mindre fragmentert, men dersom du ikke har store, ledige områder på den fysiske disken finnes det heller ingen garantier for dette.

I tillegg involverer alle filer litt overhead, f.eks. må vertsopertivsystemet holde styr på når filen sist ble endret og skrive dette til disk. Når man jobber med databaser regner man som regel med 2 til 5% tap av ytelse ved bruk av filsystem, det er ikke urimelig å anta at det samme gjelder virtuelle maskiner.

Merk at noen programmer bruker en variasjon av denne løsningen, ved å dele den store disken opp i filer på 2 Gb. Dette reduserer faren for fragmentering og gjør at filene lettere

3) Gi den virtuelle maskinen egne partisjoner
Siden alt er "filer" i Linux er dette ikke spesielt annerledes fra å oppgi en stor fil med fast størrelse, den ligger bare på /dev istedet for /home eller /var.

Fordelen er først og fremst at du er garantert at alle data ligger i rekkefølge. Det vil si at dersom gjestoperativsystemet prøver redusere oppstartstiden, ved å legge ting i riktig rekkefølge på disken, eller defragmentere store filer, vil dette faktisk virde istedet for å gjøre vondt verre. Generelt er det et par ting som ikke skjer dobbelt opp, fordi.

Det er marginalt vanskeligere å ta sikkerhetskopi, du må bruke et program som dd, men . Den største utfordringen er at du må angi riktig størrelse til å begynne med, det er forholdsvis komplisert å flytte eller endre størrelsen på partisjoner.

4) Bruk LVM og logisk volum
LVM står for Logical Volume Manager og har vært inkludert i Linux i lang tid. Kort fortalt er det en abstraksjon av de fysiske lagringsenhetene som finnes på systemet, du kan se egen artikkel for en rask introduksjon til LVM og hvordan du kan bruke dette med virtuelle maskiner.

Med LVM får du i både pose og sekk: Ytelsen er så godt som identisk ved bruk av vanlige partisjoner, samtidig kan du lett utvide et logisk volum dersom det skulle vise seg at du undervurderte hvor mye plass du trenger. Bare husk at filsystemet som brukes av gjestoperativsystemet også må endre størrelse. Du kan også bruke LVM i kombinasjon med programvarebasert RAID for å øke ytelsen, (RAID 0 eller 5), eller for å øke sikkerheten (RAID 1 eller 5).

Ulempen er ørlite mer kompleksitet, men siden dette ikke dreier seg om partisjoner som skal bootes har du mange verktøy tilgjengelig dersom det skulle oppstå floker.

I neste artikkel, som kommer i løpet av få dager, vil jeg ta opp hvordan du kan få tak i innholdet på de virtuelle diskene uten å være avhengig av de virtuelle maskinene.

Valg for kommentarvisning

Velg din foretrukket måte å vise kommentarer på og klikk på "Lagre innstillinger" for å aktivere endringene.

pingrate

Denne kjeden av artikler blir spennende og følge med på. Har nettopp satt opp et x86_64 system (2 x AMD Opeteron med 8GB minne) og installert openSUSE 10.3 med XEN. Installerte et full-virtuellt system med Fedora8 på et fast image (10GB), deretter laget jeg et logisk volum på 40GB og installerte samme OS (begge i386). Den 'logiske' varianten var noe raskere - spesielt på selve installasjonen.

oo

Bra!

Fin introduksjon til eit tema som vert meir og meir aktuelt sidan virtualisering er det som "alle" no satser på.

  • Skriv ut artikkel
  • Abonner med RSS

Siste kommentarer