Hvordan lage disklagring med LVM i Linux - Del 1


Logisk volumstyring (LVM) er et kraftig verktøy som i stor grad forenkler diskplassadministrasjon. Med LVM blir oppgaven med å tildele ekstra plass til et filsystem uanstrengt.

Når et filsystem krever mer plass, kan det enkelt trekke fra den tilgjengelige ledige plassen i den tilsvarende volumgruppen. Som et resultat kan filsystemer endres dynamisk for å imøtekomme våre spesifikke behov.

Videre tilbyr LVM robust databeskyttelse i tilfelle diskfeil. Hvis en disk begynner å vise tegn på feil, kan vi sømløst integrere en erstatningsdisk i volumgruppen som et nytt fysisk volum.

Ved å gjøre det kan de logiske volumene migreres effektivt til den ferske disken, noe som sikrer kontinuitet og beskytter mot potensielt tap av data.

I hovedsak gir LVM administratorer mulighet til å håndtere tildeling og administrasjon av diskplass med uovertruffen fleksibilitet og robusthet. Dens dynamiske evne til å endre størrelse og innebygde redundansfunksjoner gjør den til en uunnværlig ressurs for å optimalisere lagringsutnyttelsen og forbedre dataintegriteten i enhver systemkonfigurasjon.

Vi introduserer den omfattende serien «Forberedelse for å sette opp LVM (Logical Volume Management)“, gjennomtenkt utformet på tvers av del 1 til 6, med en grundig utforskning av følgende viktige emner:

Før du fortsetter med LVM-oppsettet, bør du vurdere følgende forutsetninger:

Mitt serveroppsett – krav
  • OS – RHEL 9 med LVM-installasjon
  • IP – 192.168.0.200
  • Disker – 3 disker med 20 GB hver.

Sjekk LVM-disklagring i Linux

1. For å få innsikt i LVM-oppsettet vårt, kan vi bruke følgende kommandoer for å avsløre de distinkte komponentene: Fysisk volum (PV), Volumgruppe (VG) og Logisk volum (LV).

pvs 
vgs
lvs

Her er beskrivelsen av hver parameter vist i skjermbildet ovenfor.

  • Fysisk diskstørrelse (PV-størrelse)
  • Disken som ble brukt var Virtual Disk sda.
  • Volumgruppestørrelse (VG-størrelse)
  • Volumgruppenavn (vg_tecmint)
  • Logisk volumnavn (LogVol00, LogVol01)
  • LogVol00 Tildelt for et bytte med 956 MB størrelse
  • LogVol01 Tildelt for/med 18,63 GB

Så herfra får vi vite at det ikke er nok ledig plass på VDA-disken.

Opprett en ny volumgruppe i LVM

2. For å opprette en ny volumgruppe, må vi legge til ytterligere 3 harddisker til denne serveren. Det er imidlertid ikke obligatorisk å bruke 3 stasjoner; bare 1 er nok til å lage en ny VG og LV (Logical Volume) inne i den VG.

Jeg legger til følgende 3 disker her for demonstrasjonsformål og for å gi flere funksjonskommandoerforklaringer.

sdb, sdc, sdd

3. For å liste opp alle diskene og deres partisjoner, for eksempel disknavn, størrelse, partisjonstype, start- og sluttsektorer og mer, bruk fdisk-verktøyet som vist.

fdisk -l

Her er beskrivelsen av hver disk vist i skjermbildet ovenfor.

  • Standarddisken som brukes for operativsystemet er RHEL 9.
  • Partisjoner definert på standarddisken er som følger: (sda1=boot), (sda2=/).
  • I tillegg nevnes ekstra disker som Disk1, Disk2 og Disk3.

Hver eneste disk er 20 GB stor.

4. Kjør nå kommandoen vgdisplay for å se detaljert informasjon om alle volumgruppene som finnes på systemet, inkludert navn, størrelse, ledig plass, fysisk volum (PV) informasjon og mer.

vgdisplay

Her er beskrivelsen av hver parameter vist i skjermbildet ovenfor.

  • VG-navn – Et volumgruppenavn.
  • Format – LVM-arkitektur brukt lvm2.
  • VG AccessVolumgruppen er i lese-og-skrive-modus og klar til bruk.
  • VG Status – Volumgruppen kan endres størrelse. Vi kan utvide den hvis vi trenger å legge til mer plass.
  • Cur LV – For øyeblikket er det 2 logiske volumer i denne volumgruppen.
  • CurPV og Act PV – For øyeblikket er den fysiske disken som er i bruk 1 (vda), og den er aktiv. Så vi kan bruke denne volumgruppen.
  • PE-størrelse – Fysiske omfang (PE-er) og størrelse for en disk kan defineres ved å bruke enten PE- eller GB-størrelse. Standard PE-størrelse for LVM er 4 MB. For eksempel, hvis vi trenger å lage et 5 GB logisk volum, kan vi bruke en sum på 1280 PE-er. Forstår du hva jeg sier?

Her er forklaringen: 1 GB er lik 1024 MB, så 1024 MB x 5=5120 PE=5 GB. Del nå 5120 med 4=1280. 4 er standard PE-størrelse.

  • Total PE – Denne volumgruppen har.
  • Alloc PE – Total PE brukt, full PE allerede brukt, 5008 x 4PE=20032.
  • Gratis PE – Her er det allerede brukt, så det var ingen gratis PE.

5. List nå filsystemets diskplassinformasjon, her brukes bare sda med /boot, /, og bytt på den fysiske sda-disken ved å bruke LVM. Det er ingen plass igjen på denne disken.

df -TH

Bildet ovenfor viser monteringspunktet vi bruker, og 19 GB er fullt brukt for roten, så det er ingen ledig plass.

Lag en diskpartisjon

6. Så la oss lage en ny fysisk volum (PV) og volumgruppe (VG) kalt tecmint_add_vg, og lage logiske volumer (LVs) i den. Her kan vi lage 4 logiske bind med navnene tecmint_documents, tecmint_manager og tecmint_public.

Vi kan utvide Volumgruppen til den for øyeblikket brukte VG for å få mer plass. Men i dette tilfellet skal vi opprette en ny Volumgruppe og eksperimentere med den. Senere kan vi se hvordan vi utvider filsystemene til Volumgruppen som for øyeblikket er i bruk.

Før vi bruker en ny disk, må vi partisjonere disken ved å bruke fdisk-kommandoen som vist.

fdisk -c /dev/sdb

Deretter følger du trinnene nedenfor for å opprette en ny partisjon.

  • Velg n for å opprette ny.
  • Velg p for å opprette en primær partisjon.
  • Velg hvor mange partisjoner vi må opprette.
  • Trykk enter to ganger for å bruke hele plassen på disken.
  • Vi må endre typen nyopprettet partisjonstype t.
  • Hvilket partisjonsnummer må endres, velg nummeret som vi opprettet dens 1.
  • Her må vi endre typen, vi må lage LVM så vi skal bruke typekoden til LVM som 8e, hvis vi ikke kjenner typekoden Trykk L for å liste opp alle typer koder.
  • Skriv ut partisjonen vi opprettet for å bekrefte.
  • Her kan vi se IDen som 8e LINUX LVM.
  • Skriv endringene og avslutt fdisken.

7. Gjør trinnene ovenfor for de to andre diskene sdc og sdd for å opprette nye partisjoner. Start deretter maskinen på nytt for å bekrefte partisjonstabellen ved å bruke fdisk-kommandoen.

fdisk -l

Opprett LVM fysisk volum

8. Nå er det på tide å lage fysiske volumer ved å bruke alle 3 diskene. Her har jeg listet opp de fysiske diskene ved å bruke 'pvs'-kommandoen, og nå er bare én standard PV oppført.

pvs

9. Deretter oppretter du de nye fysiske diskene og bekrefter de nyopprettede fysiske diskene.

pvcreate /dev/sdb1 /dev/sdc1 /dev/sdd1
pvs

Opprette LVM-volumgrupper

10. Opprett en volumgruppe kalt tecmint_add_vg ved å bruke den tilgjengelige gratis PV og en PE-størrelse på 32. For å vise de gjeldende volumgruppene, kan vi se at det er én volumgruppe med 1 PV i bruk.

vgs

11. Dette vil opprette volumgruppen kalt tecmint_add_vg ved å bruke en 32 MB PE-størrelse og de 3 fysiske volumene vi opprettet i de siste trinnene.

vgcreate -s 32M tecmint_add_vg /dev/sdb1 /dev/sdc1 /dev/sdd1

12. Deretter bekrefter du volumgruppen ved å kjøre vgs-kommandoen på nytt.

vgs

Forstå vgs kommandoutgang:

  • Volumgruppenavn.
  • Fysiske volumer brukt i denne volumgruppen.
  • Viser ledig plass i denne volumgruppen.
  • Total størrelse på volumgruppen.
  • Logiske volumer i denne volumgruppen, her har vi ikke opprettet ennå, så det er 0.
  • SN=Antall øyeblikksbilder volumgruppen inneholder. (Senere kan vi lage et øyeblikksbilde).
  • Status for volumgruppen som skrivbar, lesbar, kan endre størrelse, eksportert, delvis og gruppert. Her er det wz–n- som betyr w=skrivbar, z=kan endre størrelse.
  • Antall fysiske volum (PV) brukt i denne volumgruppen.

13. Bruk kommandoen for å vise mer informasjon om volumgruppen.

vgs -v

14. For å få mer informasjon om nyopprettede volumgrupper, kjør følgende kommando.

vgdisplay tecmint_add_vg

Her er beskrivelsen av hver parameter vist i skjermbildet ovenfor.

  • Volumgruppenavn
  • LVM-arkitektur brukt.
  • Den kan leses og skrives, klar til bruk.
  • Denne volumgruppen kan endres størrelse.
  • Ingen fysisk disk ble brukt, og de er aktive.
  • Volum Gruppe total størrelse.
  • En enkelt PE-størrelse var 32 her.
  • Totalt antall PE tilgjengelig i denne volumgruppen.
  • For øyeblikket har vi ikke opprettet noen LV i denne VG, så det er helt gratis.
  • UUID for denne volumgruppen.

Opprette LVM logiske volumer

15. Lag nå 3 logiske bind kalt tecmint_documents, tecmint_manager og tecmint_public. Her vil vi demonstrere hvordan du lager logiske volumer ved å bruke både PE-størrelse og GB-størrelse.

Først, liste opp gjeldende logiske volumer ved å bruke følgende kommando.

lvs

16. Disse logiske volumene er i vg_tecmint volumgruppen. For å se hvor mye ledig plass som er tilgjengelig for å lage logiske volumer, liste opp volumgruppen og tilgjengelige fysiske volumer ved å bruke «vgs»-kommandoen.

vgs

Volumgruppestørrelsen er nesten 60 GB, og den er ubrukt, så vi kan lage LV-er i den. La oss dele volumgruppen inn i like størrelser for å lage 3 logiske volumer. Det betyr 60GB/3=20GB. Hvert logisk volum vil være på 20 GB etter opprettelse.

Metode 1: Lage logiske volumer ved hjelp av PE-størrelse

La oss først lage logiske volumer ved å bruke størrelsen Physical Extent (PE). Vi trenger å vite standard PE-størrelsen som er tildelt denne volumgruppen og det totale antallet tilgjengelige PE-er for å lage nye logiske volumer.

Kjør følgende kommando for å få denne informasjonen.

vgdisplay tecmint_add_vg

  • Standard PE Tildelt for denne VG er 32MB, her vil Single PE-størrelse være 32MB.
  • Totalt tilgjengelig PE er 1917.

Bare gjør og se en liten beregning ved å bruke bc-kommandoen.

bc
1917PE/3 = 639 PE. 
639 PE x 32MB = 20448 --> 20GB

Trykk CRTL+D for å avslutte fra bc.

La oss nå lage 3 logiske volumer ved å bruke 639 PE-er. Her brukes -l for å utvide størrelsen og -n for å tilordne et logisk volumnavn.

lvcreate -l 639 -n tecmint_documents tecmint_add_vg
lvcreate -l 639 -n tecmint_manager tecmint_add_vg
lvcreate -l 639 -n tecmint_public tecmint_add_vg

List de opprettede logiske volumene ved å bruke lvs-kommandoen.

lvs

Metode 2: Opprette logiske volumer med GB-størrelse

Mens vi oppretter logisk volum med GB-størrelse, kan vi ikke få den nøyaktige størrelsen. Så den bedre måten er å lage ved å bruke utvide.

lvcreate -L 20G -n tecmint_documents tecmint_add_vg
lvcreate -L 20G -n tecmint_manager tecmint_add_vg
lvcreate -L 20G -n tecmint_public tecmint_add_vg
lvcreate -L 20G -n tecmint_public tecmint_add_vg

List opp de opprettede logiske volumene ved hjelp av lvs-kommandoen.

lvs

Her kan vi se når vi lager den tredje LV, at vi ikke kan runde opp til 20 GB, det er på grunn av små endringer i størrelse, men dette problemet vil bli ignorert mens du oppretter LV med Extend-størrelse.

Oppretter filsystem

17. For å bruke de logiske volumene må vi formatere. Her bruker jeg ext4-filsystemet for å lage volumene og montere dem under /mnt/.

mkfs.ext4 /dev/tecmint_add_vg/tecmint_documents
mkfs.ext4 /dev/tecmint_add_vg/tecmint_public
mkfs.ext4 /dev/tecmint_add_vg/tecmint_manager

18. La oss lage kataloger i /mnt og montere de logiske volumene som vi har laget filsystemet.

mount /dev/tecmint_add_vg/tecmint_documents /mnt/tecmint_documents/
mount /dev/tecmint_add_vg/tecmint_public /mnt/tecmint_public/
mount /dev/tecmint_add_vg/tecmint_manager /mnt/tecmint_manager/

19. List opp og bekreft monteringspunktet ved å bruke.

 
df -h

Permanent montering av logiske volumer

20. Den er nå midlertidig montert, for permanent montering må vi legge til oppføringen i fstab, la oss få monteringsoppføringen fra mtab ved å bruke

cat /etc/mtab

21. Vi må gjøre små endringer i fstab-oppføringen mens vi legger inn mount-oppføringens innhold kopier fra mtab, vi må endre rw til standardinnstillinger

vi /etc/fstab

Våre fstab-oppføringer skal se ut som eksemplet nedenfor.

/dev/mapper/tecmint_add_vg-tecmint_documents    /mnt/tecmint_documents  ext4    defaults 0 0
/dev/mapper/tecmint_add_vg-tecmint_public       /mnt/tecmint_public     ext4    defaults 0 0
/dev/mapper/tecmint_add_vg-tecmint_manager      /mnt/tecmint_manager    ext4    defaults 0 0

22. Til slutt, kjør kommandoen mount -a for å se etter fstab-oppføringen før du starter på nytt.

mount -av

Her har vi sett hvordan du setter opp fleksibel lagring med logiske volumer ved å bruke fysisk disk til fysisk volum, fysisk volum til volumgruppen og volumgruppe til logiske volumer.

I mine kommende fremtidige artikler vil jeg se hvordan du utvider volumgruppen og logiske volumer, reduserer logisk volum, tar øyeblikksbilder og gjenoppretter fra øyeblikksbilder. Inntil da hold deg oppdatert til TecMint for flere slike fantastiske artikler.