Logisk volymhantering (LVM) är en metod för att fördela och virtualisera datorlagring. Den används för att tilldela utrymme på masslagringsenheter, som hårddiskar, men ger mycket större flexibilitet än traditionell uppdelning i fasta partitioner. Med en logisk volymhanterare kan du skapa, ändra och slå samman lagringsvolymer utan att vara bunden till storleken eller antalet fysiska diskar — och ofta medan systemet är i drift.

Grundläggande begrepp

LVM organiseras i tre nivåer:

  • Physical Volume (PV) — en fysisk enhet eller partition som LVM använder (t.ex. en hel disk eller en partition).
  • Volume Group (VG) — en pool av lagringsutrymme som skapas genom att slå ihop en eller flera PV; all lagring i en VG kan fördelas fritt till logiska volymer.
  • Logical Volume (LV) — de ”virtuella” volymerna du skapar inom en VG; dessa används som vanliga blockenheter där du lägger filsystem eller swap.

Vanliga funktioner

  • Online-ändring — utöka (och i vissa fall krympa) logiska volymer utan att ta systemet offline.
  • Snapshots — skapa punktskopior av volymer för backup eller testning utan att kopiera allt data manuellt.
  • Striping — sprida data över flera diskar för högre genomströmning (liknande RAID0).
  • Mirroring — kopiera data över flera diskar för redundans (liknande RAID1).
  • Thin provisioning — skapa volymer som initialt använder mindre fysisk plats än sin deklarerade storlek, vilket möjliggör effektivare användning av utrymme.
  • Flytt av data — pvmove gör det möjligt att migrera data mellan fysiska volymer utan avbrott, t.ex. vid diskbyte.

Fördelar

  • Stor flexibilitet: lätt att anpassa volymer efter förändrade behov.
  • Bättre utnyttjande av fysiskt utrymme genom att slå ihop flera diskar till en pool.
  • Förenklad migrering och utbyggnad — lägg till nya diskar i en VG och utöka LVs utan att flytta data manuellt.
  • Snapshots gör det enklare att skapa konsekventa backuper eller testa förändringar utan risk för originaldata.

Begränsningar och risker

  • Felhantering: felaktiga operationer (t.ex. krympning utan korrekt förberedelse) kan leda till dataförlust — alltid ta backup före stora förändringar.
  • Prestanda: LVM introducerar en liten overhead; vissa konfigurationer (t.ex. tunn provisioning) kan påverka prestanda eller orsaka oväntade problem vid hög belastning.
  • Filsystemsspecifika begränsningar: vissa filsystem kan inte krympas online (t.ex. XFS), vilket kräver att volymen avmonteras eller flyttas innan ändring.
  • Komplexitet: för enkla stationära system kan traditionella partitioner vara enklare och säkrare.

Praktisk användning i Linux (kort översikt)

I Linux används vanligtvis LVM2. Vanliga kommandon (administratörsrättigheter krävs) är:

  • pvcreate, pvdisplay — skapa och visa fysiska volymer.
  • vgcreate, vgextend, vgdisplay — skapa/ändra och visa volymgrupper.
  • lvcreate, lvextend, lvreduce, lvremove, lvdisplay — skapa, utöka, krympa och ta bort logiska volymer.
  • pvmove — flytta data mellan fysiska volymer inom en VG.

När du ändrar storleken på en logisk volym måste du ofta även anpassa filsystemet (t.ex. resize2fs för ext4, xfs_growfs för XFS). Observera att vissa filsystem endast kan växa online medan de flesta kräver att volymen är avmonterad för att krympas.

När är LVM lämpligt?

  • Servermiljöer och virtualiseringsplattformar där lagringsbehov förändras ofta.
  • System där man vill kunna skapa snapshots för backup och testning.
  • När man behöver möjlighet att lägga till eller byta ut diskar utan långa driftstopp.
  • För enklare skrivbordsinstallationer med fasta behov kan LVM vara överdimensionerat — välj beroende på krav på flexibilitet vs enkelhet.

Sammanfattningsvis är logisk volymhantering ett kraftfullt verktyg för flexibel lagringsvirtualisering. Rätt använt ger det bättre utnyttjande av diskar, enkel utbyggnad och funktioner som snapshots och migration. Men det kräver förståelse för verktygen och försiktighet för att undvika dataförlust.