LVM: Unterschied zwischen den Versionen

Aus xinux.net
Zur Navigation springen Zur Suche springen
 
(23 dazwischenliegende Versionen von 4 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
+
=Einrichten eines LVM=
eingezogen.
+
*[[LVM Einrichtung]]
 +
=Verändern von VG und LV=
 +
*[[LVM Verändern]]
 +
= Informationen abfragen =
 +
*[[LVM Infos]]
  
LVM bietet die Möglichkeit, mehrere Partitionen logisch zusammenzufassen (Volume Group) und in diesem logischen Verbund
+
= LVM Snapshot =
neue "logische Partitionen" (Logical Volume) anzulegen. Der Volume Group können dynamisch weitere Geräte hinzugefügt
+
*[[LVM Snapshot]]
werden, wodurch sich der verfügbare Speicherplatz erhöht. Freier Speicherplatz kann ebenfalls dynamisch den Logical Volumes
+
= LVM Misc =
zugewiesen werden. Dadurch erreicht man eine höhere Flexibilität als mit einem klassischen Partitionierungsansatz. Dies ist
+
*[[LVM Misc]]
vor allem interessant für Server, bei denen dynamisch auf das Wachsen der Datenbestände reagiert werden muss.
+
= LVM mit Verschlüsselung =
 +
*[[LVM Verschlüsselung]]
 +
= Aufgaben =
 +
*[[LVM Aufgaben]]
 +
= lvm problem=
 +
*[[lvm probleme]]
  
Vier Begriffe sind beim LVM essentiell und sollen zunächst erklärt werden: Physical Extended, Physical Volume, Volume Group
+
=Links=
und Logical Volume.
+
*https://www.centos.org/docs/5/html/Cluster_Logical_Volume_Manager/
 
 
===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==
 
root@zero:~# lvcreate -L 1500M -n Speicher daten
 
  Logical volume "Speicher" created
 
 
 
==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===
 
root@zero:~# lvextend -L +5G /dev/daten/Speicher
 
root@zero:~# resize2fs /dev/daten/Speicher
 
 
 
===Vergrößern des Dateisystems auf der Logical Volume===
 
====Unmounten====
 
root@zero:~# umount /mnt/speicher/
 
====Dateisystem prüfen====
 
root@zero:~# e2fsck -f /dev/daten/Speicher
 
e2fsck 1.41.4 (27-Jan-2009)
 
Durchgang 1: Prüfe Inodes, Blocks, und Größen
 
Durchgang 2: Prüfe Verzeichnis Struktur
 
Durchgang 3: Prüfe Verzeichnis Verknüpfungen
 
Durchgang 4: Überprüfe die Referenzzähler
 
Durchgang 5: Überprüfe Gruppe Zusammenfassung
 
/dev/daten/Speicher: 11/96000 Dateien (0.0% nicht zusammenhängend), 14801/384000 Blöcke
 
 
 
====Dateisystem vergrößern====
 
root@zero:~# resize2fs /dev/daten/Speicher
 
resize2fs 1.41.4 (27-Jan-2009)
 
Resizing the filesystem on /dev/daten/Speicher to 655360 (4k) blocks.
 
Das Dateisystem auf /dev/daten/Speicher ist nun 655360 Blöcke groß.
 
 
 
====Wieder mounten====
 
root@zero:~# mount /dev/daten/Speicher /mnt/speicher/
 
 
 
====Neue Größe der LV überprüfen====
 
root@zero:~# df -h /mnt/speicher/
 
Dateisystem            Größe Benut  Verf Ben% Eingehängt auf
 
/dev/mapper/daten-Speicher
 
                      2,5G  35M  2,4G  2% /mnt/speicher
 
 
 
===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
 

Aktuelle Version vom 19. Februar 2024, 19:32 Uhr