LVM Logical Volume Manager

Aus Doku-Wiki
Zur Navigation springenZur Suche springen

Anmerkung

LVM ist die Abkürzung für »Logical Volume Manager«. LVM lässt sich eine logische Schicht zwischen Dateisystem und der Partition einer physikalischen Festplatte schieben. So ist es möglich, ein Dateisystem über mehrere Partitionen und Festplatten zu strecken.

Version

  • Debian 5.0 Lenny
  • LVM (Debian origina Pakete)

Links

Installation

aptitude install lvm2

Konfiguration

/etc/lvm/lvm.conf

Als erstes müssen wir die Konfiguration (/etc/lvm/lvm.conf) von LVM2 anpassen, da sie standardmässig jedes Gerät zulässt.

vi /etc/lvm/lvm.conf

Nun die Zeile

filter = [ "a/.*/" ]

durch diese ersetzen.

filter = [ "a|^/dev/sd[bcdefghijklmnopqrst]|", "r/.*/" ]

Was passiert hier? In diesem Beispiel werden die Geräte sdb bis sdt zugelassen. Hier noch ein paar Beispiele:

filter = [ "a|^/dev/sdb|", "r/.*/" ]   // nur das Geräte sdb
filter = [ "a|^/dev/hda7|", "r/.*/" ]  // nur das Geräte hda7

Einrichten

  • LVM basiert auf drei Stufen:
  1. Physical Volume (Festplatte, Partition)
  2. Volume Group (Gruppe mehrerer Festplatten, Partitionen)
  3. Logical Volume [Virtuelle Partition die aus mehreren Volume Groups bestehen kann]

Physical Volume einrichten

Partition anlegen und formatieren

  • Hier wird eine (oder auch mehrere) Partition(en) mit dem Type 8e (LVM) angelegt.
cfdisk /dev/sdb

Nachdem der Schritt für alle verwendet Partitionen durchgeführt wurde, können diese eingebunden werden.

vgscan

Mit vgscan werden vorhandene Partitionen gesucht.

vgscan -v

Pysical Volume anlegen

  1. pvcreate /dev/sdb1
 Physical volume "/dev/sdb1" successfully created
  1. pvcreate /dev/sdc1
 Physical volume "/dev/sdc1" successfully created

Volume Group einrichetn

Die Volume-Group stellt ein Speicherpool dar in dem Pysical Volumes eingebunden werden. Beim anlegen wird ein Name für die Volume-Group vergeben.

# vgcreate volgr1 /dev/sdb1 /dev/sdc1
  Volume group "volgr1" successfully created

Logical Volume

LV einrichetn

Nun kann man mit der gesamten Volume Group volg1, oder auch nur mit einem Teil davon ein Logical Volume erstellen. Zum Kommando lvcreate muss man die gewünschte Größe, den Namen von dem Logical Volume und die Volume Group angeben. Hier wird der Name logv1 und die Größe 1000 MByte verwendet:

# lvcreate -n logvol1 -L 1000M volgr1
 Logical volume "logvol1" created
  • Dieses Logical Volume muss nun noch formatiert und in das Filesystem eingebunden werden.

LV formatieren und mounten

Wie bei herkömmliche Partitionen wird nun das LV formatiert. Hier z.B mitext3:

# mkfs.ext3 /dev/volgr1/logvol1

Jetzt kann das LV in das Filesystem eingebunden werden:

# mount /dev/volgr1/logvol1 /testvolume/

Umgang mit LVM

Volume Groupe

vgdisplay

# vgdisplay /dev/volgr1
 --- Volume group ---
 VG Name               volgr1
 System ID
 Format                lvm2
 Metadata Areas        2
 Metadata Sequence No  2
 VG Access             read/write
 VG Status             resizable
 MAX LV                0
 Cur LV                1
 Open LV               1
 Max PV                0
 Cur PV                2
 Act PV                2
 VG Size               3,99 GB
 PE Size               4,00 MB
 Total PE              1022
 Alloc PE / Size       250 / 1000,00 MB
 Free  PE / Size       772 / 3,02 GB
 VG UUID               4qdUw9-oPce-j8aO-E0iQ-rkIh-6ITV-ZqCFl2

Volume Group erweitern

# cfdisk /dev/sdd
# pvcreate /dev/sdd
   Physical volume "/dev/sdd" successfully created
# vgextend volgr1 /dev/sdd1
 Volume group "volgr1" successfully extended
# vgdisplay /dev/volgr1

Volume Group verkleinern

Mit vgreduce kann eine Volume-Group verkleinert werden.

  • Der folgende Befehl reduziert die Volume-Group und entfernt alle ungenutzten pysikalischen Volumes
# vgreduce -a volgr1
    Physical volume "/dev/sdb1" still in use
    Removed "/dev/sdc1" from volume group "volgr1"
    Removed "/dev/sdd1" from volume group "volgr1"
  • Man kann auch geziehlt einzelne pysikalische Volumes entfernen solange sie keine Daten enthalten. Mit pwdisplay kann man das überprüfen.
# pvdisplay /dev/sdd1
 --- Physical volume ---
 PV Name               /dev/sdd1
 VG Name               volgr1
 PV Size               2,00 GB / not usable 3,32 MB
 Allocatable           yes
 PE Size (KByte)       4096
 Total PE              511
 Free PE               511
 Allocated PE          0
 PV UUID               fPrPhA-rMoP-jeqd-tzaC-Ny4g-VKJO-SjBzgx

# vgreduce volgr1 /dev/sdd1

Logical Volume

LV erweitern

# lvextend -L 6000 /dev/volgr1/logvol1
  • Dann auf Filesystemeben die Partition erweitern
# umount /testvolume
# e2fsck -f /dev/volgr1/logvol1
# resize2fs /dev/volgr1/logvol1
  The filesystem on /dev/hdb11 is now 512064 blocks long.

Informationen auslesen

Pysikalischen Partitionen anzeigen

pvdisplay 
pvdisplay /dev/sdc1

Scan PV, VG und LV

pwscan  // Zeigt die verwendetet Partitionen und Ihre Belegung
vgscan  // Scannt nach Volume-Groups und legt einen Cache der Infos an
lvscan  // Scannt nach logischen Volumes

Volum-Groups anzeigen

vgdisplay
vgdisplay volgr1

Logische Volumes anzeigen

lvdisplay
lvdisplay /dev/volgr1/logvol1

Filesystem anlegen

Das logische Volume muss noch Formatiert werden. Folgen ein Beispiel für XPS:

 mkfs -t xfs -f /dev/volgr1/logvol1

Links zu XFS

Beispiele

  1. LV - Logical Volume
  2. VG - Volume-Group
  3. PV - Pysical-Volume

LV und VG löschen dann die PV in bestehnde VG und LV einbinden

Erläuterung: Es bestehen zwei Logical Volume auf einem Server. Hinter jeder Logical Volume steht eine SAN. Nun soll das ein Logical Volume aufgelöst werden um mit den freiwerdenden Partitionen die zweite Volume-Group zu erweitern. Als Filesystem wird XFS verwendet.

  • 1.) Umount der LV
umount /[VERZ-Voulum-Group]
  • 2.) LV löschen
lvremove /dev/volgr2/logvol2
  • 3.) VG löscben