Embiggen Din KVM Virtual Machines

Når du klargjør virtuelle maskiner, du prøver å sikre at de har den lagring som de trenger. Men som vi alle vet, lagringsbehov tendens til å endre seg over tid. Hvis du har KVM maskiner som trenger mer plass, kan opp vi deres lagring med verktøy du allerede har tilgjengelig.

I Administrerende Levende og Frakoblet Migrations med Linux KVM vi lærte å migrere virtuelle maskiner, og hvordan håndtere disk lagring. I dag skal vi lære hvordan endre størrelse på VM og legge lagringsplass.

Når den virtuelle maskinen trenger mer lagringsplass det er flere måter å legge det. Den mest fleksible metoden er å sette den virtuelle maskinen bilder til LVM (Linux volum manager) volumer. Dette er ikke en LVM tutorial, så vennligst se Weekend Prosjekt:. Migrere fra Direkte Skillevegger til LVM

To metoder vi skal bruke i dag legger filbasert lagring som en egen partisjon, og øke størrelsen på den virtuelle maskinens lagringsvolum.

Legge filbasert Storage

Hvis du har nok diskplass på KVM server du kan opprette en tom container fil, koble den til VM , og deretter formatere den fra innsiden av VM med de vanlige filsystemet hjelpemidler som mke2fs, fdisk, GParted eller skiltes. Standardplasseringen for VM bildene er /var /lib /libvirt /images /, så la oss gå dit og lage en gigabyte lagringsplass bilde. Dette eksemplet er for en Jeoss Linux VM, så selvfølgelig må du erstatte din egen utgang filnavn, som er hva du vil den skal være:

 # cd /var /lib /libvirt /images /# dd if = /dev /zero of = jeoss-storage.img bs = 1M telle = 10241024 + 0 elementer in1024 + 0 elementer out1073741824 byte (1,1 GB) kopiert, 10.7728 s, 99,7 MB /s 

Nå dumpe VM konfigurasjon til en XML-fil med virsh kommando, å bruke dine egne gjeste og konfigurasjon filnavn:

# virsh dumpxml jeoss > jeoss-config.xml

virsh verktøyet ikke ønsker hele VM filnavnet, som i dette eksemplet er jeoss.img, men VM domene, noe som er vanlig gammel jeoss. Åpne den nye XML-fil og se etter "disk" entry for harddisken din, som vil se omtrent slik ut:

 < disk type = 'file' device = 'disk' > < drivernavnet = 'qemu' type = "rå" /> < source file = '/var /lib /libvirt /images /jeoss.img' /> < target dev = 'hda "buss =' ​​ide '/> < alias name = 'ide0-0-0' /> < adressen type = "drive" controller = "0" buss = "0" enhet = "0" /> < /disk > 

Opprett en ny strofe i filen med en kopi av dette, og endre den for nye lagrings image:

 < disk type = 'file' device = 'disk' > < driver name = 'qemu' type = 'rå' /> < source file = '/var /lib /libvirt /images /jeoss-storage.img' /> < target dev = 'hda "buss =' ​​ide '/> < alias name = 'ide0-0-1' /> < adressen type = "drive" controller = "0" buss = "0" enhet = '1' /> < /disk > 

Det er tre endringer: kildefilen, alias navn, og adresse. Sjekk resten av filen for eventuelle like oppføringer med samme alias og adresse, og hvis det er noen duplikater deretter gjøre andelsverdien (for den nye lagrings bilde) én større. Lagre og lukke filen, og avslutning på VM. Deretter starter den ved hjelp av den nye konfigurasjonsfilen:










# virsh skape jeoss-storage.xml

Det bør starte normalt og fest den nye lagrings bildet. I min Jeoss VM fdisk viser det som en ny partisjon:

 Carla @ jeoss: ~ $ sudo fdisk -l [...] Disk /dev /sdb: 1024 MB, 1073741824 bytes [...] Disk /dev /sdb inneholder ikke en gyldig partisjonstabellen. 

Perfect! Nå kan jeg partisjonere og formatere den med vanlige Linux-partisjonering og formatering verktøy. Standardkonfigurasjonen filen er i /etc /libvirt /qemu, og det bør oppdateres automatisk ved virsh med den nye lagringsvolum, slik at du ikke trenger å ringe genererte XML konfigurasjonsfilen neste gang du starter VM.

Endre størrelse Virtual Machines

Hvis VMs er enten rå eller qcow2 format, kan du endre størrelsen på dem. Jeg har Fedora 16 Linux i et 8 GB lagringsvolum, og jeg ønsker å øke den til 9 GB. Vi vil bruke den qemu-img disk image verktøyet fordi det er en del av KVM, slik at vi slipper å jakte den ned og installere den separat. Det er en tre-trinns prosess. Først lage en sikkerhetskopi av den virtuelle maskinen bildet, endre størrelsen på volumet, og deretter endre størrelsen på virtuelle maskinens filsystem å fylle volumet

Første stopp den virtuelle maskinen, og deretter foreta en sikkerhetskopi av VM bildet. Standardplasseringen er /var /lib /libvirt /images /:

 # cd /var /lib /libvirt /images /# cp fedora16.img fedora16-bak.img 

Deretter kjører qemu-img. I dette eksempelet jeg øke størrelsen volumet med ett gigabyte:

 # qemu-img resize fedora16.img + 1GBImage skaleres 

Nå filsystemet må bli endret for å gjøre bruk av den ekstra plassen.. Den vanskelige biten er at du kan ikke endre et levende filsystem (med mindre du bruker LVM), men må demontere det først. Så du trenger en oppstartbar levende Linux CD /DVD som inkluderer filsystem verktøy. Jeg bruker Gparted fra en SystemRescue CD. Live media må oppstartet i den virtuelle maskinen volum, og qemu kommandoen vil gjøre dette for oss. Med den virtuelle maskinen fortsatt stoppet, sett live CD /DVD og kjøre denne kommandoen:

# qemu -hda fedora16.img -cdrom /dev /cdrom -boot d

-hda /vmimages /fedora16.img argument forteller plasseringen av den virtuelle maskinen bildet live CD-en starter opp, så du må bytte ut navnet på ditt eget bilde. -cdrom gir plasseringen av CD-stasjonen, som i dette eksemplet er en vanlig IDE CD /DVD-stasjon, og boot -d betyr boot fra CD først, så den starter CD i stedet for den virtuelle maskinen bildet. Det er akkurat som å starte en fysisk PC med en live-CD. Når CD har startet kan du fyre opp din favoritt filsystem resizer og utvide VM til den nye volumstørrelse. Figur 1 viser hvordan det ser ut i System Rescue med Gparted.

Når du har kontrollert at endret størrelse virtuelle maskinen fungerer, kan du slette backup image og nyte embiggened VM.

Hvis du vil vite mer lese mann qemu og mannen virsh, fordi de er full av fantastiske og lite kjente funksjoner, og mannen dd å lære hva alternativene mener. Anmeldelser