|
|
| (16 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) |
| Zeile 1: |
Zeile 1: |
| ==Grundlagen== | | =Grundlagen= |
| LVM steht für Logical Volume Manager und ist ein Verfahren, um Speicherplatz auf mehreren Festplatten dynamisch zu | | *[[LVM Grundlagen]] |
| verwalten. Es wird sozusagen eine zusätzliche logische Schicht zwischen Dateisystem und Partitionen der Festplatten
| | = LVM Snapshot = |
| eingezogen.
| | *[[LVM Snapshot]] |
| | = LVM Misc = |
| | *[[LVM Misc]] |
| | = LVM mit Verschlüsselung = |
| | *[[LVM Verschlüsselung]] |
|
| |
|
| 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
| | =Links= |
| 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
| |
| | |
| ===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==
| |
| *https://www.centos.org/docs/5/html/Cluster_Logical_Volume_Manager/ | | *https://www.centos.org/docs/5/html/Cluster_Logical_Volume_Manager/ |