18Aug

Slik administrerer og bruker du LVM( Logical Volume Management) i Ubuntu

I vår tidligere artikkel fortalte vi deg hva LVM er og hva du kanskje vil bruke den til, og i dag skal vi gå gjennom noen av de ledende verktøyene til LVM, slik at du vil være trygg når du installerer eller utvider installasjonen din.

Som nevnt tidligere er LVM et abstraksjonslag mellom operativsystemet og fysiske harddisker. Hva det betyr er dine fysiske harddisker og partisjoner er ikke lenger knyttet til harddiskene og partisjonene de bor på.Snarere, harddiskene og partisjonene som operativsystemet ser, kan være et antall separate harddisker samlet sammen eller i en programvare RAID.

For å administrere LVM er det GUI-verktøy tilgjengelig, men for å virkelig forstå hva som skjer med LVM-konfigurasjonen, er det sannsynligvis best å vite hva kommandolinjeverktøyene er. Dette vil være spesielt nyttig hvis du administrerer LVM på en server eller distribusjon som ikke tilbyr GUI-verktøy.

De fleste kommandoene i LVM er svært lik hverandre. Hver gyldig kommando har ett av følgende:

  • Fysisk volum = pv
  • Volumgruppe = vg
  • Logisk volum = lv

De fysiske volumkommandoer er for å legge til eller fjerne harddisker i volumgrupper. Volumgruppe kommandoer er for å endre hva abstrakte sett med fysiske partisjoner er presentert for driften i logiske volumer. Logiske volumkommandoer vil presentere volumgruppene som partisjoner, slik at operativsystemet ditt kan bruke det angitte rommet.

Nedlastbart LVM Cheat Sheet

For å hjelpe deg å forstå hvilke kommandoer som er tilgjengelige for hvert prefiks, har vi laget et LVM-svindelark. Vi vil dekke noen av kommandoene i denne artikkelen, men det er fortsatt mye du kan gjøre som ikke blir dekket her.

Alle kommandoer på denne listen må kjøres som root fordi du endrer systemvide innstillinger som vil påvirke hele maskinen.

( Klikk på miniatyrbildet for et fullstendige bilde)

Slik viser du gjeldende LVM-informasjon

Det første du må gjøre er å se hvordan LVM er konfigurert. S- og displaykommandoene fungerer med fysiske volumer( pv), volumgrupper( vg) og logiske volumer( lv), så det er et godt sted å starte når du prøver å finne ut de gjeldende innstillingene.

Skjermkommandoen formaterer informasjonen slik at det er lettere å forstå enn s-kommandoen. For hver kommando vil du se navnet og banen til pv / vg, og den skal også gi informasjon om ledig og ledig plass.

Den viktigste informasjonen er PV navn og VG navn. Med disse to delene av informasjon kan vi fortsette å jobbe med LVM-oppsettet.

Opprette et logisk volum

Logiske volumer er partisjonene som operativsystemet bruker i LVM.For å opprette et logisk volum må vi først ha et fysisk volum og en volumgruppe. Her er alle trinnene som er nødvendige for å skape et nytt logisk volum.

Lag fysisk volum

Vi starter fra begynnelsen med en helt ny harddisk uten partisjoner eller informasjon på den. Start med å finne hvilken disk du vil jobbe med.(/dev/ sda, sdb, etc.)

Merk: Husk at alle kommandoene må kjøres som root eller ved å legge til 'sudo' i begynnelsen av kommandoen.

fdisk -l

Hvis harddisken din aldri har blitt formatert eller partisjonert før du sannsynligvis vil se noe slikt i fdisk-utgangen. Dette er helt greit fordi vi skal lage de nødvendige partisjonene i de neste trinnene.

Vår nye disk er plassert på /dev/ sdb, så vi kan bruke fdisk til å opprette en ny partisjon på stasjonen.

Det finnes en mengde verktøy som kan skape en ny partisjon med en GUI, inkludert Gparted, men siden vi har terminalen allerede åpen, bruker vi fdisk til å opprette den nødvendige partisjonen.

Fra en terminal skriver du følgende kommandoer:

fdisk /dev/ sdb

Dette vil sette deg inn i en spesiell fdisk-prompt.

Skriv inn kommandoene i den rekkefølgen som er gitt for å opprette en ny primærpartisjon som bruker 100% av den nye harddisken og er klar for LVM.Hvis du trenger å endre partisjonens størrelse eller vil ha flere partisjoner, foreslår jeg at du bruker GParted eller leser om fdisk på egen hånd.

Advarsel: Følgende trinn vil formatere harddisken din. Pass på at du ikke har noen informasjon på denne harddisken før du følger disse trinnene.

  • n = opprett ny partisjon
  • p = oppretter primær partisjon
  • 1 = gjør partisjon den første på disken

Trykk inn to ganger for å godta standard første sylinder og siste sylinder.

For å forberede partisjonen som skal brukes av LVM, bruk følgende to kommandoer.

  • t = endre partisjonstype
  • 8e = endringer i LVM partisjonstype

Verifiser og skriv informasjonen til harddisken.

  • p = se partisjonoppsett slik at vi kan se gjennom før du skriver endringer på disk
  • w = skriv endringer på disk

Etter disse kommandoene, må fdisk-meldingen gå ut og du kommer tilbake til bash-meldingen på terminalen din.

Skriv inn pvcreate /dev/ sdb1 for å lage et fysisk LVM-volum på partisjonen vi nettopp har opprettet.

Du kan spørre hvorfor vi ikke formaterte partisjonen med et filsystem, men vær ikke bekymret, det kommer senere.


Opprett volum Gruppe

Nå som vi har en partisjon utpekt og fysisk volum opprettet, må vi opprette volumgruppen. Heldigvis tar dette bare en kommando.

vgcreate vgpool /dev/ sdb1

Vgpool er navnet på den nye volumegruppen vi opprettet. Du kan navngi det uansett, men det anbefales å sette vg på forsiden av etiketten, så hvis du refererer til det senere, vet du at det er en volumgruppe.

Lag det logiske volumet

For å lage det logiske volumet som LVM skal bruke:

lvcreate -L 3G -n lvstuff vgpool

Kommandoen -L angir størrelsen på det logiske volumet, i dette tilfellet 3 GB, og -n-kommandoen hetervolum. Vgpool er referert slik at kommandoen lvcreate vet hvilket volum som skal få plass til.

Format og monter det logiske volumet

Ett siste trinn er å formatere det nye logiske volumet med et filsystem. Hvis du vil ha hjelp til å velge et Linux-filsystem, kan du lese hvordan du kan hjelpe deg med å velge det beste filsystemet for dine behov.

mkfs -t ext3 /dev/vgpool/ lvstuff

Lag et monteringspunkt og monter volumet et sted du kan bruke det.

mkdir /mnt/ ting
mount -t ext3 /dev/vgpool/ lvstuff /mnt/ ting

Endre størrelse på et logisk volum

En av fordelene med logiske volumer er at du kan gjøre aksjene dine fysisk større eller mindre uten å flytte alt til en større harddisk. I stedet kan du legge til en ny harddisk og utvide volumgruppen din i fly. Eller hvis du har en harddisk som ikke er brukt, kan du fjerne den fra volumegruppen for å krympe det logiske volumet.

Det er tre grunnleggende verktøy for å lage fysiske volumer, volumgrupper og logiske volumer større eller mindre.

Merk: Hver av disse kommandoene må prioriteres av pv, vg eller lv, avhengig av hva du jobber med.

  • endre størrelse - kan krympe eller utvide fysiske volumer og logiske volumer, men ikke volumgrupper
  • strekke seg - kan gjøre volumgrupper og logiske volumer større, men ikke mindre
  • redusere - kan gjøre volumgrupper og logiske volumer mindre, men ikke større

La oss gå gjennom et eksempelav hvordan du legger til en ny harddisk til det logiske volumet "lvstuff" vi nettopp har opprettet.

Installer og formater ny harddisk

For å installere en ny harddisk, følg trinnene ovenfor for å opprette en ny partisjon og legg til endring, det er partisjonstype til LVM( 8e).Bruk deretter pvcreate til å lage et fysisk volum som LVM kan gjenkjenne.

Legg til ny harddisk til volumgruppe

Hvis du vil legge til den nye harddisken i en volumgruppe, trenger du bare å vite hva din nye partisjon er, /dev/ sdc1 i vårt tilfelle, og navnet på volumgruppen du vil legge til den.

Dette vil legge til det nye fysiske volumet til den eksisterende volumegruppen.

vgextend vgpool /dev/ sdc1

Utvid logisk volum

For å endre størrelsen på det logiske volumet må vi si hvor mye vi vil strekke etter størrelse i stedet for ved enhet. I vårt eksempel har vi nettopp lagt til en 8 GB harddisk til vår 3 GB vgpool. For å gjøre denne plassen nyttig kan vi bruke lvextend eller lvresize.

lvextend -L8G /dev/vgpool/ lvstuff

Mens denne kommandoen vil fungere, vil du se at den faktisk vil endre størrelsen på vårt logiske volum til 8 GB i stedet for å legge til 8 GB til det eksisterende volumet som vi ønsket. For å legge til de siste 3 tilgjengelige gigabytene må du bruke følgende kommando.

lvextend -L + 3G /dev/vgpool/ lvstuff

Nå er vårt logiske volum 11 GB i størrelse.

Utvid filsystemet

Det logiske volumet er 11 GB, men filsystemet på det aktuelle volumet er fortsatt bare 3 GB.For å gjøre filsystemet bruk hele 11 GB tilgjengelig, må du bruke kommandoen resize2fs. Bare pek resize2fs til 11 GB logisk volum og det vil gjøre magien for deg.

resize2fs /dev/vgpool/ lvstuff

Merk: Hvis du bruker et annet filsystem i tillegg til ext3 / 4, se filsystemene endre størrelse på verktøy.

krympe logisk volum

Hvis du vil fjerne en harddisk fra en volumgruppe, må du følge trinnene ovenfor i omvendt rekkefølge og bruke lvreduce og vgreduce i stedet.

  1. endre størrelsen på filsystemet( sørg for å flytte filer til et sikkert område på harddisken før du endrer størrelsen)
  2. reduserer logisk volum( i stedet for + for å utvide du kan også bruke - for å redusere etter størrelse)
  3. fjern harddisk fra volumgruppe med vgreduce

Sikkerhetskopiering av et logisk volum

Stillbilder er en funksjon som noen nyere avanserte filsystemer kommer med, men ext3 / 4 mangler muligheten til å gjøre stillbilder i fly. En av de kuleste tingene med LVM stillbilder er at filsystemet ditt aldri blir tatt frakoblet, og du kan ha så mange du vil uten å ta opp ekstra harddiskplass.

Når LVM tar et øyeblikksbilde, tas et bilde av nøyaktig hvordan det logiske volumet ser ut og det bildet kan brukes til å lage en kopi på en annen harddisk. Mens en kopi blir laget, må ny informasjon som legges til det logiske volumet skrives til disken som normalt, men endringer spores slik at det opprinnelige bildet aldri blir ødelagt.

For å lage et øyeblikksbilde må vi opprette et nytt logisk volum med nok ledig plass til å holde ny informasjon som skrives til det logiske volumet mens vi lager en sikkerhetskopi. Hvis stasjonen ikke er aktivt skrevet til deg, kan du bruke en svært liten lagringsplass. Når vi er ferdige med backupen, fjerner vi bare det midlertidige logiske volumet og det opprinnelige logiske volumet fortsetter som normalt.

Opprett nytt stillbilde

For å lage et øyeblikksbilde av lvstuff, bruk kommandoen lvcreate som før, men bruk flaggene -s.

lvcreate -L512M -s -n lvstuffbackup /dev/vgpool/ lvstuff

Her opprettet vi et logisk volum med bare 512 MB fordi disken ikke blir aktivt brukt.512 MB lagrer eventuelle nye skrivinger mens vi lager sikkerhetskopien vår.

Monter ny øyeblikksbilde

Like før må vi opprette et monteringspunkt og montere det nye stillbildet slik at vi kan kopiere filer fra den.

mkdir /mnt/ lvstuffbackup
mount /dev/vgpool/ lvstuffbackup /mnt/ lvstuffbackup

Kopier øyeblikksbilde og slett logisk volum

Alt du har igjen å gjøre, er å kopiere alle filene fra /mnt/lvstuffbackup/ til en ekstern harddisk eller ta den opp, så det er alt i en fil.

Merk: Tar-C vil opprette et arkiv og -f vil si plassering og filnavn i arkivet. For hjelp med tar kommandoen bruker man tar i terminalen.

tar -cf /home/rothgar/Backup/ lvstuff-ss /mnt/lvstuffbackup/

Husk at mens sikkerhetskopien finner sted, vil alle filene som skal skrives til lvstuff bli sporet i det midlertidige logiske volumet vi opprettet tidligere. Sørg for at du har nok ledig plass mens sikkerhetskopieringen skjer.

Når sikkerhetskopien er ferdig, må du avmontere volumet og fjerne det midlertidige øyeblikksbildet.

umount /mnt/ lvstuffbackup
lvremove /dev/vgpool/lvstuffbackup/

Slette et logisk volum

For å slette et logisk volum må du først kontrollere at volumet er demontert, og deretter kan du bruke lvremove for å slette det. Du kan også fjerne en volumgruppe når de logiske volumene er slettet og et fysisk volum etter at volumgruppen er slettet.

Her er alle kommandoene som bruker volumene og gruppene vi har opprettet.

umount /mnt/ lvstuff
lvremove /dev/vgpool/ lvstuff
vgremove vgpool
pvremove /dev/ sdb1 /dev/ sdc1

Det bør dekke det meste av det du trenger å vite for å bruke LVM.Hvis du har noen erfaring med emnet, må du dele visdommen i kommentarene.