LVM: Unterschied zwischen den Versionen
Thomas (Diskussion | Beiträge) |
Thomas (Diskussion | Beiträge) |
||
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