18Aug

Sådan styres og bruges LVM( Logical Volume Management) i Ubuntu

I vores tidligere artikel fortalte vi dig, hvad LVM er, og hvad du måske vil bruge det til, og i dag skal vi gå igennem nogle af LVM's centrale ledelsesværktøjer, så du vil være sikker på at konfigurere eller udvide din installation.

Som tidligere nævnt er LVM et abstraktionslag mellem dit operativsystem og fysiske harddiske. Hvad det betyder er dine fysiske harddiske og partitioner er ikke længere bundet til harddiske og partitioner, de bor på.Snarere er de harddiske og partitioner, som dit operativsystem ser, et antal separate harddiske samlet sammen eller i en software RAID.

For at styre LVM er der GUI-værktøjer til rådighed, men for virkelig at forstå, hvad der sker med din LVM-konfiguration, er det nok bedst at vide, hvad kommandolinjeværktøjerne er. Dette vil være særligt nyttigt, hvis du styrer LVM på en server eller distribution, der ikke tilbyder GUI-værktøjer.

De fleste af kommandoer i LVM ligner hinanden meget. Hver gyldig kommando foregår af et af følgende:

  • Fysisk volumen = pv
  • Volumengruppe = vg
  • Logisk volumen = lv

De fysiske volumenkommandoer er til at tilføje eller fjerne harddiske i volumengrupper. Lydstyrke kommandoer er til at ændre, hvad abstrakte sæt fysiske partitioner præsenteres for din drift i logiske mængder. Logiske volumenkommandoer vil præsentere volumengrupperne som partitioner, så dit operativsystem kan bruge det udpegede rum.

Downloadbar LVM Cheat Sheet

For at hjælpe dig med at forstå, hvilke kommandoer der er tilgængelige for hvert præfiks lavede vi et LVM snydeark. Vi vil dække nogle af kommandoerne i denne artikel, men der er stadig meget du kan gøre, der ikke bliver dækket her.

Alle kommandoer på denne liste skal køres som rod, fordi du ændrer systembreddeindstillinger, som vil påvirke hele maskinen.

( Klik på miniaturebilledet for et billede i fuld størrelse)

Sådan får du vist Aktuel LVM Information

Det første du måske skal gøre er at kontrollere, hvordan din LVM er konfigureret. S- og displaykommandoerne arbejder med fysiske volumener( pv), volumengrupper( vg) og logiske volumener( lv), så det er et godt sted at starte, når man forsøger at finde ud af de aktuelle indstillinger.

Displaykommandoen formaterer oplysningerne, så det er lettere at forstå end s-kommandoen. For hver kommando vil du se navnet og stien i pv / vg, og det skal også give information om frit og brugt rum.

Den vigtigste information er PV navn og VG navn. Med disse to stykker information kan vi fortsætte med at arbejde med LVM-opsætningen.

Oprettelse af en logisk lydstyrke

Logiske volumener er de partitioner, som dit operativsystem bruger i LVM.For at skabe et logisk lydstyrke skal vi først have en fysisk lydstyrke og en lydgruppe. Her er alle de trin, der er nødvendige for at skabe et nyt logisk lydstyrke.

Opret fysisk lydstyrke

Vi starter fra bunden med en helt ny harddisk uden partitioner eller oplysninger om den. Start med at finde den disk, du vil arbejde med.(/dev/ sda, sdb osv.)

Bemærk: Husk, at alle kommandoerne skal køres som root eller ved at tilføje 'sudo' til begyndelsen af ​​kommandoen.

fdisk -l

Hvis din harddisk aldrig er blevet formateret eller partitioneret, før du sandsynligvis vil se noget som dette i fdisk-output. Dette er helt fint, fordi vi skal skabe de nødvendige partitioner i de næste trin.

Vores nye disk er placeret på /dev/ sdb, så vi kan bruge fdisk til at oprette en ny partition på drevet.

Der er en overflod af værktøjer, der kan oprette en ny partition med en GUI, herunder Gparted, men da vi har terminalen allerede åben, bruger vi fdisk til at oprette den nødvendige partition.

Fra en terminal skriv følgende kommandoer:

fdisk /dev/ sdb

Dette vil sætte dig i en særlig fdisk prompt.

Indtast kommandoerne i den angivne rækkefølge for at oprette en ny primær partition, der bruger 100% af den nye harddisk og er klar til LVM.Hvis du har brug for at ændre partitionsstørrelsen eller ønsker flere partier, foreslår jeg at bruge GParted eller læse om fdisk på egen hånd.

Advarsel: Følgende trin vil formatere harddisken. Sørg for, at du ikke har nogen oplysninger på denne harddisk, inden du følger disse trin.

  • n = Opret ny partition
  • p = Opret primær partition
  • 1 = Gør partition den første på disken

Tryk ind to gange for at acceptere standard første cylinder og sidste cylinder.

For at forberede den partition, der skal bruges af LVM, skal du bruge følgende to kommandoer.

  • t = Skift partitionstype
  • 8e = Skift til LVM partitionstype

Bekræft og skriv oplysningerne til harddisken.

  • p = se partitionsopsætning, så vi kan gennemgå, før du skriver ændringer til disk
  • w = Skriv ændringer til disk

Efter disse kommandoer skal fdisk-prompt afslutte, og du vil være tilbage til bash-prompten på din terminal.

Indtast pvcreate /dev/ sdb1 for at oprette et fysisk LVM-volumen på den partition, vi netop har oprettet.

Du kan spørge, hvorfor vi ikke formaterede partitionen med et filsystem, men rolig, det kommer senere.


Opret lydstyrke Gruppe

Nu hvor vi har en partition udpeget og det fysiske volumen oprettet, skal vi oprette volumengruppen. Heldigvis tager dette kun én kommando.

vgcreate vgpool /dev/ sdb1

Vgpool er navnet på den nye lydgruppe, vi oprettede. Du kan nævne det, uanset hvad du vil, men det anbefales at sætte vg foran på etiketten, så hvis du refererer til det senere, ved du, at det er en volumengruppe.

Opret logisk lydstyrke

For at oprette det logiske lydstyrke, som LVM vil bruge:

lvcreate -L 3G -n lvstuff vgpool

Kommandoen -L angiver størrelsen af ​​det logiske lydstyrke, i dette tilfælde 3 GB, og -n-kommandoen navngiverbind. Vgpool er refereret, så kommandoen lvcreate ved, hvilken mængde der skal hentes fra rummet.

Format og monter det logiske lydstyrke

Et sidste trin er at formatere det nye logiske lydstyrke med et filsystem. Hvis du vil have hjælp til at vælge et Linux-filsystem, skal du læse, hvordan du kan vælge det bedste filsystem til dine behov.

mkfs -t ext3 /dev/vgpool/ lvstuff

Opret et monteringspunkt, og monter derefter lydstyrken et sted, hvor du kan bruge det.

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

Ændring af en logisk lydstyrke

En af fordelene ved logiske volumener er, at du kan gøre dine aktier fysisk større eller mindre uden at skulle flytte alt til en større harddisk. I stedet kan du tilføje en ny harddisk og udvide din lydgruppe på flugt. Eller hvis du har en harddisk, der ikke bruges, kan du fjerne den fra volumengruppen for at reducere dit logiske lydstyrke.

Der er tre grundlæggende værktøjer til at gøre fysiske volumener, volumengrupper og logiske mængder større eller mindre.

Bemærk: Hver af disse kommandoer skal forudgå af pv, vg eller lv alt efter hvad du arbejder med.

  • resize - kan reducere eller udvide fysiske volumener og logiske volumener, men ikke volumengrupper
  • udvide - kan gøre volumengrupper og logiske mængder større, men ikke mindre
  • reducere - kan gøre volumengrupper og logiske mængder mindre, men ikke større

Lad os gå gennem et eksempelaf hvordan man tilføjer en ny harddisk til det logiske lydstyrke "lvstuff", vi netop har oprettet.

Installer og formater ny harddisk

For at installere en ny harddisk skal du følge ovenstående trin for at oprette en ny partition og tilføje ændring, det er partitionstype til LVM( 8e).Brug derefter pvcreate til at skabe et fysisk volumen, som LVM kan genkende.

Tilføj ny harddisk til lydgruppe

For at tilføje den nye harddisk til en lydgruppe skal du bare vide, hvad din nye partition er, /dev/ sdc1 i vores tilfælde og navnet på den volumengruppe, du vil tilføje den til.

Dette tilføjer det nye fysiske lydstyrke til den eksisterende lydgruppe.

vgextend vgpool /dev/ sdc1

Udvid logisk lydstyrke

For at ændre størrelsen på det logiske lydstyrke skal vi sige, hvor meget vi vil udvide efter størrelse i stedet for ved enhed. I vores eksempel har vi lige tilføjet en 8 GB harddisk til vores 3 GB vgpool. For at gøre pladsen brugbar kan vi bruge lvextend eller lvresize.

lvextend -L8G /dev/vgpool/ lvstuff

Mens denne kommando vil fungere, vil du se, at den faktisk vil ændre størrelsen på vores logiske lydstyrke til 8 GB i stedet for at tilføje 8 GB til det eksisterende lydniveau, som vi ønskede. For at tilføje de sidste 3 tilgængelige gigabyte skal du bruge følgende kommando.

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

Nu er vores logiske lydstyrke 11 GB i størrelse.

Udvid filsystemet

Det logiske lydstyrke er 11 GB, men filsystemet på det pågældende lydstyrke er stadig kun 3 GB.For at få filsystemet til at bruge hele 11 GB til rådighed, skal du bruge kommandoen resize2fs. Bare peg resize2fs til den 11 GB logiske lydstyrke, og det vil gøre magien for dig.

resize2fs /dev/vgpool/ lvstuff

Bemærk: Hvis du bruger et andet filsystem ud over ext3 / 4, skal du se dine filsystemer resize værktøjer.

Skrink logisk lydstyrke

Hvis du ønskede at fjerne en harddisk fra en lydgruppe, skal du følge ovenstående trin i omvendt rækkefølge og bruge lvreduce og vgreduce i stedet.

  1. resize filsystem( sørg for at flytte filer til et sikkert område på harddisken før du ændrer størrelsen)
  2. reducer det logiske lydstyrke( i stedet for + for at udvide du kan også bruge - for at reducere efter størrelse)
  3. fjern harddisk fra volumen gruppe med vgreduce

Sikkerhedskopiering af en logisk lydstyrke

Snapshots er en funktion, som nogle nyere avancerede filsystemer kommer med, men ext3 / 4 mangler evnen til at lave snapshots på farten. En af de fedeste ting om LVM-snapshots er, at dit filsystem aldrig bliver taget offline, og du kan have så mange som du vil uden at tage ekstra harddiskplads.

Når LVM tager et øjebliksbillede, tages der et billede af, hvordan det logiske lydniveau ser ud, og billedet kan bruges til at lave en kopi på en anden harddisk. Mens der laves en kopi, skal alle nye oplysninger, der skal tilføjes til det logiske lyd, skrives til disken ligesom normalt, men ændringer spores, så det originale billede aldrig bliver ødelagt.

For at skabe et øjebliksbillede skal vi oprette et nyt logisk lydstyrke med tilstrækkelig ledig plads til at holde nye oplysninger, der vil blive skrevet til det logiske lydstyrke, mens vi laver en sikkerhedskopi. Hvis drevet ikke er aktivt skrevet til dig, kan du bruge en meget lille mængde lagerplads. Når vi er færdige med vores backup, fjerner vi bare det midlertidige logiske lydstyrke, og det oprindelige logiske lydstyrke fortsætter som normalt.

Opret nyt snapshot

For at lave et øjebliksbillede af lvstuff skal du bruge kommandoen lvcreate som før, men brug -s flag.

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

Her skabte vi et logisk lydstyrke med kun 512 MB, fordi drevet ikke bruges aktivt.512 MB gemmer alle nye skrivninger, mens vi laver vores backup.

Montér ny snapshot

Ligesom før skal vi oprette et monteringspunkt og montere det nye snapshot, så vi kan kopiere filer fra det.

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

Kopier snapshot og slet logisk lydstyrke

Alt du har tilbage at gøre, er at kopiere alle filer fra /mnt/lvstuffbackup/ til en ekstern harddisk eller tage den op, så det hele er i en fil.

Bemærk: Tar-c vil oprette et arkiv og -f vil angive arkivets placering og filnavn. For hjælp med tjære kommandoen bruger man tar i terminalen.

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

Husk, at mens backupen finder sted, vil alle de filer, der skal skrives til lvstuff, blive sporet i det midlertidige logiske lydstyrke, vi tidligere har oprettet. Sørg for, at du har tilstrækkelig ledig plads, mens backupen sker.

Når backupen er færdig, skal du afmontere lydstyrken og fjerne det midlertidige øjebliksbillede.

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

Sletning af en logisk lydstyrke

For at slette et logisk lydstyrke skal du først kontrollere, at lydstyrken er afmonteret, og så kan du bruge lvremove til at slette det. Du kan også fjerne en lydgruppe, når de logiske volumener er blevet slettet, og et fysisk lydstyrke efter volumengruppen slettes.

Her er alle kommandoerne ved hjælp af de mængder og grupper, vi har oprettet.

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

Det skal dække det meste af hvad du behøver at vide for at bruge LVM.Hvis du har nogle erfaringer med emnet, skal du sørge for at dele din visdom i kommentarerne.