LVM er en 'volume manager' til Linux. Volume Management gør det muligt at samle alt ens diskplads i en stor pool og dele det op i filsystemer uden at skulle overveje hvilke størelser ens harddiske har. LVM bliver i kerne 2.6 erstattet af LVM2 (aka. device-mapper) og det meste af dette foredrag bliver dermed forældet
Disse slides er lidt en sammenskrivning af to foredrag holdt for sslug henholdsvis 10. juli 2001 i Symbion og 12. december 2001 i Malmö
På en BoF tidligere på året diskuterede vi partitionering. En af antagelserne var nærmest at man kun havde en disk. Dette er ikke altid opfyldt, men hvad gør man hvis størelsen på ens diske ikke passer fornuftigt efter hvordan man vil partitionerer?
Vi ville altså gerne være istand til at partitionere på tværs af diskene.
Dette foredrag handler ikke om fornuftig partitionering. Uanset hvordan man gør så har man ovenstående problem. Jeg har løsningen.
Løsningen er Logical Volume Managment (LVM). Linux har med 2.4-kernen fået understøttelse for LVM, mens det har været kendt på andre unixer længere.
LVM virker ved at skyde et abstraktionslag ind mellem de fysiske diske og de enheder man lægger ens filsystemer på. Dermed kan man opfatte alle ens diske som en stor enhed.
Så kan vi glemme alle de normale problemer med partitionering, når vi skal dele disken op.
Der er et par yderligere fordele ved LVM
Nævnte jeg at man kan ændre størelsen på sine filsystemer?
+-----------+ +-----------+ +-----------+ +-----------+
| /dev/sda1 | | /dev/sdb1 | | /dev/hda1 | | /dev/hdc1 |
+-----+-----+ +-----+-----+ +-----+-----+ +-----+-----+
| | | |
+--+---------------+--+ +--+---------------+--+
| Volume Group 1 | | Volume Group 2 |
+--+---------------+--+ +----------+----------+
| | |
+-----+-----+ +-----+-----+ +-----+-----+
| LV1 | | LV2 | | LV3 |
+-----+-----+ +-----+-----+ +-----+-----+
| | |
+-----+-----+ +-----+-----+ +-----+-----+
| /var/www | | /home | | / |
+-----------+ +-----------+ +-----------+
(så er der en række generelle komandoer, der begynder med lvm)
Hvad gør man hvis ens yndlingsdistribution ikke understøtter LVM under installation?
Noget langhåret, men det er muligt.
Initialisering af en diskpartition: Giv den partitionstype 0x8e og udfør:
# pvcreate /dev/sda1
Lav en volume group: Opret den og aktiver den.
# vgcreate VG1 /dev/sda1 /dev/sdb1 # vgchange -a y VG1
Lav en logical volume (40GB):
# lvcreate -L40G -nLV1 VG1 # mke2fs /dev/VG1/LV1 # mount -t ext2 /dev/VG1/LV1 /mnt
Forøg størelsen på et filsystem:
# umount /mnt # lvextend -L+20G /dev/VG1/LV1 # ext2resize /dev/VG1/LV1 # mount /mnt
Lignende kan gøres med ReiserFS med resize_reiserfs i stedet for ext2resize