LVM Logical Volume Manager
Inhaltsverzeichnis
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
- Linux LVM HOWTO
- Diese Doku wurde mit Hilfe des Linux LVM HOWTO erstellt.
- Teile der Texte sind aus dem LINUX LVM HOWTO kopiert
- HowTo Softwareraid 1 mit LVM
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:
- Physical Volume (Festplatte, Partition)
- Volume Group (Gruppe mehrerer Festplatten, Partitionen)
- 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
- pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created
- 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
Volume-Group löschen und die Platten in ander Volume-Group aufnehmen
Erläuterung: Es bestehen zwei Volume-Groups auf einem Server. Hinter jeder Volume-Group steht eine SAN. Nun soll die ein Volume-Group aufgelöst werden um mir dem Storage die zweite Volume-Group zu erweitern. Als Filesystem wird XFS verwendet.