LVM: Unterschied zwischen den Versionen

Aus xinux.net
Zur Navigation springen Zur Suche springen
Zeile 125: Zeile 125:
 
===Vergrößern des Logical Volumes online===
 
===Vergrößern des Logical Volumes online===
 
  lvextend -L +5G /dev/daten/Speicher
 
  lvextend -L +5G /dev/daten/Speicher
 +
resize2fs /dev/daten/Speicher
 +
===Vergrößern des Logical Volumes auf Maximalwert===
 +
lvextend -l +100%FREE  /dev/daten/Speicher
 
  resize2fs /dev/daten/Speicher
 
  resize2fs /dev/daten/Speicher
  

Version vom 20. März 2017, 14:59 Uhr

Grundlagen

LVM steht für Logical Volume Manager und ist ein Verfahren, um Speicherplatz auf mehreren Festplatten dynamisch zu verwalten. Es wird sozusagen eine zusätzliche logische Schicht zwischen Dateisystem und Partitionen der Festplatten eingezogen.

LVM bietet die Möglichkeit, mehrere Partitionen logisch zusammenzufassen (Volume Group) und in diesem logischen Verbund neue "logische Partitionen" (Logical Volume) anzulegen. Der Volume Group können dynamisch weitere Geräte hinzugefügt werden, wodurch sich der verfügbare Speicherplatz erhöht. Freier Speicherplatz kann ebenfalls dynamisch den Logical Volumes zugewiesen werden. Dadurch erreicht man eine höhere Flexibilität als mit einem klassischen Partitionierungsansatz. Dies ist vor allem interessant für Server, bei denen dynamisch auf das Wachsen der Datenbestände reagiert werden muss.

Vier Begriffe sind beim LVM essentiell und sollen zunächst erklärt werden: Physical Extended, Physical Volume, Volume Group und Logical Volume.

Physical Extended

Das sog. Physical Extended (PE) ist die kleinste mögliche Speichergröße in einem LVM; das PE ist vergleichbar mit den Sektoren von normalen Festplatten bzw. Partitionen. Es ist nicht möglich, die Größe der PEs zu verändern, was auch nicht nötig ist, da die Anzahl der PEs seit LVM2 unbegrenzt ist, die Standardgröße beträgt 4 MByte.

Physical Volume

Ein Physical Volume (PV) ist der eigentliche Datenspeicher eines LVMs; ein PV kann eine Partition oder ein ganzes Laufwerk sein. Es ist auch möglich sog. Loopdateien zu verwenden.

Volume Group

Eine Volume Group (VG) ist eine Art Container für mindestens ein PV.

Logical Volume

Ein Logical Volume (LV oder auch Volume) ist im LVM Kontext für den Anwender eine Art Partition innerhalb einer Volume Group.

Es ist nicht möglich Logical Volumes außerhalb einer VG zu erstellen. Das LV kann wie eine normale Partition verwendet werden,
d.h. es können Dateisysteme darauf angelegt werden und es kann gemounted werden.

Installation

Um LVM unter Ubuntu Linux verwenden zu können muss folgendes Paket installiert sein

  • lvm2
root@zero:~# apt-get install lvm2

Einrichten eines LVM

Die Einrichtung eines LVM erfordert ein Terminal.

Um ein LVM einzurichten muss zuerst jede zu verwendende Partition mittels pvcreate als Physical Volume initialisiert werden. Alle Physical Volumes müssen nun mittels vgcreate zu einer Volume Group zusammengefasst werden. In dieser Gruppe können nun mittels lvcreate die Logical Volumes erzeugt werden.

Für jedes Logical Volume wird eine Datei der Art /dev/<group>/<vol> angelegt. Das Logical Volume kann verwendet werden wie jedes andere Block-Device. So kann ein Dateisystem darauf erzeugt werden und das Dateisystem kann eingebunden werden.

Hinweis:

Eine mit pvcreate initialisierte Partition sollte vom Typ 0x8e bzw. Linux LVM sein, da es sonst zu Problemen mit der 
Erkennung der PVs kommt. Wenn das LVM auf einem RAID liegt, ist dies natürlich nicht nötig, genauso wie wenn das LVM 
direkt auf eine Festplatte ohne Partitionstabelle aufgesetzt wird.

Vorbereiten der Physical Volumes

root@zero:~# pvcreate /dev/sdb /dev/sdc
 Physical volume "/dev/sdb" successfully created
 Physical volume "/dev/sdc" successfully created

Erstellen der Volumegroup

root@zero:~# vgcreate daten /dev/sdb /dev/sdc
 Volume group "daten" successfully created

Erstellen des Logical Volumes

1500Mbyte

root@zero:~# lvcreate -L 1500M -n Speicher daten
 Logical volume "Speicher" created

Maximale Grösse der VG

root@zero:~# lvcreate -l 100%VG -n music data

Formatieren der Logical Volume

root@zero:~# mkfs.ext3 /dev/daten/Speicher
mke2fs 1.41.4 (27-Jan-2009)
Dateisystem-Label=
OS-Typ: Linux
Blockgröße=4096 (log=2)
Fragmentgröße=4096 (log=2)
96000 Inodes, 384000 Blöcke
19200 Blöcke (5.00%) reserviert für den Superuser
Erster Datenblock=0
Maximale Dateisystem-Blöcke=394264576
12 Blockgruppen
32768 Blöcke pro Gruppe, 32768 Fragmente pro Gruppe
8000 Inodes pro Gruppe
Superblock-Sicherungskopien gespeichert in den Blöcken:
        32768, 98304, 163840, 229376, 294912

Schreibe Inode-Tabellen: erledigt
Erstelle Journal (8192 Blöcke): erledigt
Schreibe Superblöcke und Dateisystem-Accountinginformationen: erledigt

Das Dateisystem wird automatisch nach jeweils 31 Einhäng-Vorgängen bzw.
alle 180 Tage überprüft, je nachdem, was zuerst eintritt. Veränderbar mit
tune2fs -c oder -t .

Verwenden der Logical Volume

Einbinden der LV in das Dateisystem

Mountpunkt erstellen

root@zero:/mnt# mkdir speicher

Mounten

root@zero:/mnt# mount /dev/daten/Speicher /mnt/speicher/ -t ext3

Kontrolle, z.B. durch Anzeigen des freien Speichers

root@zero:/mnt# df -h /mnt/speicher/
Dateisystem            Größe Benut  Verf Ben% Eingehängt auf
/dev/mapper/daten-Speicher
                      1,5G   35M  1,4G   3% /mnt/speicher

Verändern von VG und LV

Erweitern einer Volume Group

root@zero:~# pvcreate /dev/sdd
 Physical volume "/dev/sdd" successfully created
root@zero:~# vgextend daten /dev/sdd
 Volume group "daten" successfully extended

Anzeigen der vergößerten Volume Group

root@zero:~# vgs
 VG    #PV #LV #SN Attr   VSize VFree
 daten   3   1   0 wz--n- 2,99G 1,52G

Vergrößern des Logical Volumes

root@zero:~# lvextend -L 2,5G /dev/daten/Speicher
 Extending logical volume Speicher to 2,50 GB
 Logical volume Speicher successfully resized

Vergrößern des Logical Volumes online

lvextend -L +5G /dev/daten/Speicher
resize2fs /dev/daten/Speicher

Vergrößern des Logical Volumes auf Maximalwert

lvextend -l +100%FREE  /dev/daten/Speicher
resize2fs /dev/daten/Speicher

Löschen eines Logical Volumes

root@zero:~# lvremove /dev/datan/ubuntu

Verkleinern

Dateisystem verkleinern

root@zero:~# resize2fs /dev/daten/Speicher 1G
resize2fs 1.41.4 (27-Jan-2009)
Resizing the filesystem on /dev/daten/Speicher to 262144 (4k) blocks.
Das Dateisystem auf /dev/daten/Speicher ist nun 262144 Blöcke groß.

Logisches Volume verkleinern

root@zero:~# lvreduce -L 1,5G /dev/daten/Speicher
 WARNING: Reducing active and open logical volume to 1,50 GB
 THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce Speicher? [y/n]: y
 Reducing logical volume Speicher to 1,50 GB
 Logical volume Speicher successfully resized
root@zero:~# lvs
 LV       VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert
 Speicher daten -wi-ao 1,50G

Physical Volume leeren oder verschieben

root@zero:~# pvmove /dev/sdd
 No extents available for allocation

Um ein Physical Volume mit pvmove zu leeren, muss genügend Platz auf den restlichen Physical Volumes vorhanden sein!

LV auflösen

root@zero:~# lvchange -a n /dev/vg-data/data 
root@zero:~# lvremove /dev/vg-data/data
Logical volume "data" successfully removed

VG auflösen

root@zero:~# vgchange -a n /dev/vg-data
  0 logical volume(s) in volume group "vg-data" now active
root@zero:~# vgremove /dev/vg-data
  Volume group "vg-data" successfully removed

PV auflösen

root@zero:~# pvremove /dev/sda5
 Labels on physical volume "/dev/sda5" successfully wiped

Physical Volume aus Volume Group entfernen/VG verkleinern

root@zero:~# vgreduce daten /dev/sdd
 Removed "/dev/sdd" from volume group "daten"

Informationen abfragen

Informationen über Physical Volumes abfragen

root@zero:~# pvs
 PV         VG    Fmt  Attr PSize    PFree
 /dev/sdb   daten lvm2 a-   1020,00M      0
 /dev/sdc   daten lvm2 a-   1020,00M 540,00M

Informationen über Volume Groups abfragen

root@zero:~# vgs
 VG    #PV #LV #SN Attr   VSize VFree
 daten   2   1   0 wz--n- 1,99G 540,00M

Informationen über Logical Volumes abfragen

root@zero:~# lvs
 LV       VG    Attr   LSize Origin Snap%  Move Log Copy%  Convert
 Speicher daten -wi-a- 1,46G

Volumen Gruppe aktivieren

root@zero:~# vgchange -a y

Links