Logisk volymhantering (LVM) – flexibel lagringsvirtualisering

Logisk volymhantering (LVM) – flexibel lagringsvirtualisering som förenklar att skapa, slå ihop och utöka partitioner dynamiskt för effektiv, skalbar lagringshantering.

Författare: Leandro Alegsa

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.

Design

Volymhanterarna skiljer sig åt, men vissa grundläggande koncept finns i de flesta versioner. Volymhanteraren börjar med fysiska volymer, som kan vara hårddiskpartitioner, RAID-enheter eller SAN LUNs. PV:er delas upp i små bitar av jämn storlek (standardvärdet är 4 MB i HP-UX) som kallas fysiska extents eller PE:er. PE:erna sammanförs sedan till en volymgrupp eller VG.

De sammanslagna PE:erna kan sedan sammanfogas till virtuella diskpartitioner som kallas logiska volymer eller LV:er. Dessa LV:er beter sig precis som hårddiskpartitioner: monterbara filsystem kan skapas på dem, eller så kan de användas som råa blockenheter för swap.

LV:erna kan växa genom att sammanfoga fler PE:er från poolen. Vissa volymhanterare tillåter krympning av LV:er, andra tillåter online-omvandling i båda riktningarna. Att ändra storleken på LV:n ändrar inte nödvändigtvis storleken på ett filsystem på den, utan endast storleken på det utrymme som den innehåller. Ett filsystem som kan ändras i storlek online rekommenderas eftersom det gör det möjligt för systemet att justera lagringsutrymmet i farten utan att avbryta programmen.

PVs kan också organiseras i fysiska volymgrupper (PVGs). Detta gör det möjligt att spegla LV:er genom att para ihop dess PE:er med redundanta PE:er på en annan PVG, så att om en PVG går sönder finns det fortfarande minst en komplett kopia av LV:n online. I praktiken väljs PVG:er vanligtvis så att deras PV:er finns på olika uppsättningar av diskar och/eller databussar för maximal redundans.

Vissa volymhanterare implementerar också snapshotting genom att tillämpa COW (copy-on-write) på varje PE. I detta system kopierar volymhanteraren en PE till en COW-tabell precis innan den skrivs till. På så sätt bevaras en gammal version av LE - ögonblicksbilden - som senare kan rekonstrueras genom att lägga över copy-on-write-tabellen på den aktuella LE. Snapshots som är skrivläsbara är förgrenade snapshots eftersom de implicit tillåter olika versioner av en LE.

Ögonblicksbilder kan vara användbara för att säkerhetskopiera självkonsistenta versioner av flyktiga data, t.ex. tabellfiler från en upptagen databas, eller för att backa upp stora ändringar i ett svep, t.ex. en uppgradering av ett operativsystem. Vissa Linux-baserade LiveCD-system använder också ögonblicksbilder för att simulera läs- och skrivåtkomst på en skrivskyddad cd-skiva.

 

Nackdelar

De indirekta nivåerna som volymhanterare introducerar kan komplicera katastrofåterställning, särskilt när basoperativsystemet och andra viktiga verktyg finns på en LE.

 

Genomföranden

Många operativsystem levereras med LVM:er:

  • AIX - Hanteraren för logiska volymer
  • FreeBSD - Vinum
  • HP-UX - HP Logical Volume Manager, sedan HP-UX Release 9.0 i juli 1992.
  • Linux - Logical Volume Manager (LVM) och Enterprise Volume Management System (EVMS). Båda är front-end till Linux enhetsmappare.
  • Microsoft Windows - Logical Disk Manager (LDM), Windows 2000 eller senare NT-baserade operativsystem.
  • OS/2 - (LVM), från version 4.5, inklusive eComStation.
  • Solaris - Solaris Volume Manager (SVM) ingår i Solaris 9 och Solstice DiskSuite (SDS) fram till Solaris 8.
  • Veritas Volume Manager (VxVM), tillgänglig på en mängd olika operativsystem (unixliknande). Ingår nu i Symantecs Storage Foundation Suite.
 


Sök
AlegsaOnline.com - 2020 / 2025 - License CC3