2. Arbeiten mit den Grundelemente

Vorbereiten von physikalischen Volumen

Nachdem die Voraussetzungen geschaffen wurden und Laufwerke bereitstehen, müssen die physikalischen Volumen vorbereitet und eingerichtet werden. Die Vorbereitung ist hierbei von der Art des Mediums abhängig, bei dem es sich um ein Block-Gerät handeln muss. Bei den vorliegenden Beispielen kommen Laufwerke zum Einsatz, die partitioniert werden müssen. Auf zwei der verwendeten Datenträgern sind jeweils zwei Partitionen anzulegen. Die größere Partition, mit einer Größe von ca. 1GB, wird als physikalisches Volumen eingerichtet und bekommt den Partitionstyp 0x8e für „Logical Volumen Management“. Zu Kontrollzwecken ist eine kleinere Partition mit ca. 512MB und den Standardtyp 0x83 für „Linux-Partition“ anzulegen. Die Partitionierung kann nach Art der verwendeten Distribution vorgenommen werden und sollte wie folgt aussehen:

debian:~# sfdisk /dev/sdd -d
# partition table of /dev/sdd
unit: sectors

/dev/sdd1 : start=       62, size=  2002662, Id=8e
/dev/sdd2 : start=  2002724, size=  1003284, Id=83
/dev/sdd3 : start=        0, size=        0, Id= 0
/dev/sdd4 : start=        0, size=        0, Id= 0

debian:~# sfdisk /dev/sde -d
# partition table of /dev/sde
unit: sectors

/dev/sde1 : start=       62, size=  2002662, Id=8e
/dev/sde2 : start=  2002724, size=  1003284, Id=83
/dev/sde3 : start=        0, size=        0, Id= 0
/dev/sde4 : start=        0, size=        0, Id= 0

Damit die angelegten Partitionen unter LVM2 genutzt werden können, müssen sie mit dem Werkzeug „pvcreate“ vorbereitet werden. Das Werkzeug erwartet den Pfad und den Namen aller zu bearbeitenden physikalischen Partitionen. Es hinterlegt im zweiten Sektor der Partitionen eine interne Bezeichnung, mit der sie auch bei einer unterschiedlichen Laufwerkseinbindung sicher zugeordnet werden können. Dieser Fall kann auftreten, wenn sich die physikalische Anzahl der Blockgeräte ändert. Der Kernel bindet diese in der Reihenfolge ein, in der sie von den Treibern erkannt werden. Im zweiten Sektor ist die interne Bezeichnung vor einem versehentlichen löschen durch die Einrichtung eines MBR oder Boot-Loaders geschützt. Zusätzlich wird ein Metadatenbereich eingerichtet, in die die Volumengruppe später die Konfiguration ablegt. Der Metadatenbereich ist im Standard einmal vorhanden und wird direkt hinter dem Sektor mit der Bezeichnung abgelegt. Falls gewünscht, kann man das Werkzeug mittels Option anweisen, eine weitere Kopie dieses Bereichs am Ende anzulegen. Dies kann im Falle einer Datenwiederherstellung einen unschätzbaren Wert haben. Die Anzahl der Metadatenbereiche kann zu einem späteren Zeitpunkt nicht mehr verändert werden und es sind maximal zwei Metabereiche möglich. Ist eine Veränderung gewünscht, muss das physikalische Volumen aufgehoben und mittels „pvcreate“ neu vorbereitet werden, was den Verlust der darauf abgelegten Daten zur Folge hat. Für die Übungen werden zwei physikalische Volumen auf unterschiedlichen Datenträgern mit „pvcreate“ vorbereitet.

debian:~# pvcreate /dev/sdd1 /dev/sde1 --metadatacopies 2
  Physical volume "/dev/sdd1" successfully created
  Physical volume "/dev/sde1" successfully created

Hier werden die Partitionen /dev/sdd1 und /dev/sde1 als physikalisches Volumen vorbereitet, und die Metadaten in jeweils zwei Bereichen der Partitionen vorgehalten.

Option Beschreibung
-f Mache das, was ich sage. Ohne weiteres Nachfragen.
-ff Erzwingt eine Reinitialisierung eines in eine Volumengruppe eingebundenen physikalischen Volumen.
-y Alle Nachfragen automatisch mit Ja beantworten.
-z Löschen der ersten 4 Sektoren.
-metadatacopies VALUE Festlegen der Anzahl der reservierten Metadatenbereiche. Die Standardgröße ist 1 und legt einen Metadatenbereich am Anfang des physikalischen Volumens fest. Der Wert 2 reserviert einen Metadatenbereich am Anfang und am Ende des physikalischen Volumens. Mit dem Wert 0 wird auf einen Metadatenbereich für die Volumengruppenkonfiguration verzichtet.

Abfragen von physikalischen Volumen

Informationen über den Zustand des physikalischen Volumens können mit dem Werkzeug „pvdisplay“ abgerufen werden. An der Ausgabe lässt sich leicht erkennen, dass die physikalischen Volumen in keine Volumengruppe eingebunden sind und die Größe der physikalischen Verwaltungseinheiten (PE) noch nicht festgelegt wurden.

debian:~# pvdisplay /dev/sdd1 /dev/sde1
  "/dev/sdd1" is a new physical volume of "977,86 MB"
  --- NEW Physical volume ---
  PV Name               /dev/sdd1
  VG Name
  PV Size               977,86 MB
  Allocatable           NO
  PE Size (KByte)       0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               BtJlrX-MWdf-NZZl-WIHN-8lrR-lKHa-V3zKec

  "/dev/sde1" is a new physical volume of "977,86 MB"
  --- NEW Physical volume ---
  PV Name               /dev/sde1
  VG Name
  PV Size               977,86 MB
  Allocatable           NO
  PE Size (KByte)       0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               MRIGsr-k0sa-2YYI-HZ2C-Hcuy-7pq2-wCEuMI
Attribut Beschreibung
PE Name Name und Pfad der Gerätedatei der verwendeten physikalischen Partition.
VG Name Name der Volumengruppe, dem das physikalische Volumen zugeordnet ist.
PV Size Größe des physikalischen Volumens.
Allocatable
PE Size (KByte) Größe der physikalischen Verwaltungseinheiten. Wird bei der Zuordnung zu einer Volumengruppe festgelegt.
Total PE Anzahl der physikalischen Verwaltungseinheiten, in die das physikalische Volumen unterteilt ist.
Free PE Anzahl der physikalischen Verwaltungseinheiten, die noch nicht als logische Verwaltungseinheit einem logischen Volumen zugeordnet wurden.
Allocated PE Anzahl der physikalischer Verwaltungseinheiten, die über die Volumengruppe bereits einem logischen Volumen zugeordnet wurden.
PV UUID Universally Unique Identifier - Unabhängige Volumen- oder Datenträgerbezeichnung. Wird beim Vorbereiten des physikalischen Volumens automatisch generiert.

Erstellen von Volumengruppen

Beim Erstellen einer Volumengruppe ist ein Name zu wählen, mit dem diese im System bekanntgemacht wird. Es sind die physikalischen Volumen anzugeben, die der Volumengruppe zugeordnet werden sollen. Beim Anlegen der Volumengruppe wird die Größe der physikalischen Verwaltungseinheiten festgelegt. Diese Einstellung kann später nicht mehr verändert werden und beträgt als Standardgröße 4 Megabyte. Diese Größe stellt die Granularität dar, in denen der Speicher an logische Volumen verteilt wird, und kann Auswirkungen auf die Performance haben. Da wir heute Laufwerke im Terabyte-Bereich haben und gegebenenfalls größere logische Volumen planen, kann dieser Wert ohne Weiteres auf 8 oder 16 Megabyte angehoben werden. Zusätzlich kann die maximale Anzahl, der physikalischen Volumen und der logischen Volumen die in dieser Gruppe verwaltet werden können, festgelegt werden. Zum Anlegen einer neuen Volumengruppe kommt das Werkzeug „vgcreate“ zum Einsatz.

debian:~# vgcreate -s 2m vg01 /dev/sdd1
  Volume group "vg01" successfully created
debian:~# vgcreate -s 2m vg02 /dev/sde1
  Volume group "vg02" successfully created

Dieses Beispiel legt zwei Volumengruppe mit den Namen „vg01“ und „vg02“ an, denen die Blockgeräte /dev/sdd1 und /dev/sde1 als physikalisches Volumen zugewiesen werden. Die Größe der PE-Verwaltungseinheiten wird auf 2 Megabyte festgelegt.

Option Beschreibung
-s VALUE Festlegen der Verwaltungseinheitsgröße
-p VALUE Festlegen der maximalen Anzahl physikalischen Volumen
-l VALUE Festlegen der maximalen Anzahl der verwaltbaren logischen Volumen

Eine Prüfung, der physikalischen Volumen offenbart, dass die Volumen wie gewünscht der neuen Volumengruppe zugeordnet und auch die Größe und Anzahl der physikalischer Verwaltungseinheiten festgelegt wurden.

debian:~# pvdisplay /dev/sdd1 /dev/sde1
  --- Physical volume ---
  PV Name               /dev/sdd1
  VG Name               vg01
  PV Size               977,86 MB / not usable 1,86 MB
  Allocatable           yes
  PE Size (KByte)       2048
  Total PE              488
  Free PE               488
  Allocated PE          0
  PV UUID               BtJlrX-MWdf-NZZl-WIHN-8lrR-lKHa-V3zKec

  "/dev/sde1" is a new physical volume of "977,86 MB"
  --- NEW Physical volume ---
  PV Name               /dev/sde1
  VG Name               vg02
  PV Size               977,86 MB / not usable 1,86 MB
  Allocatable           yes
  PE Size (KByte)       2048
  Total PE              488
  Free PE               488
  Allocated PE          0
  PV UUID               MRIGsr-k0sa-2YYI-HZ2C-Hcuy-7pq2-wCEuMI

Abfragen von Volumengruppen-Informationen Der aktuellen Status und die Konfiguration einer Volumengruppen kann mit dem Werkzeug „vgdisplay“ abgefragt werden. Das Werkzeug erwartet als Argument den Namen der abzufragenden Volumengruppe. Mit der Option -v wird die zusätzliche Ausgabe der Konfiguration aller in einer Volumengruppe enthaltenen logischen Volumen angefordert.

debian:~# vgdisplay vg01

  --- Volume group ---
  VG Name               vg01
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               976,00 MB
  PE Size               2,00 MB
  Total PE              488
  Alloc PE / Size       0 / 0
  Free  PE / Size       488 / 976,00 MB
  VG UUID               RZ27X2-kyaU-9Yf3-jZ0s-UfbU-20Ts-juoKer

Hier offenbart sich die genutzte und verfügbare Kapazität der Volumengruppe. Auch die Anzahl der eingebundenen physikalischen Volumen und ein Überblick der logischen Volumen, kann abgelesen werden. Die Volumengruppe hat ein physikalisches Volumen eingebunden. Sie hat eine Speichergröße von 976MB, die noch vollständig ungenutzt ist. Es wurden noch keine logischen Volumen angelegt und es sind auch keine Volumen in dieser Gruppe geöffnet.

Attribut Beschreibung
VG Name Bezeichnung der Volumengruppe.
System ID
Format Format der Volumengruppe, Version des verwendeten LVM.
Metadata Areas Anzahl der Metadatenbereiche für die Volumengruppenkonfiguration.
Metadata Sequence No
VG Access Gibt an, ob in dieser Gruppe Daten gelesen oder geschrieben werden können.
VG Status Gibt den Status der Volumengruppe an.
MAX LV Festgelegte Anzahl der maximal verwaltbaren logischen Volumen.
Cur LV Anzahl der angelegten logischen Volumen in dieser Volumengruppe.
Open LV Anzahl der geöffneten logischen Volumen in dieser Volumengruppe.
Max PV Anzahl der maximal zuweisbaren physikalischen Volumen.
Cur PV Anzahl der zugewiesenen physikalischen Volumen.
Act PV Anzahl der aktiven physikalischen Volumen.
VG Size Speichergröße der Volumengruppe.
PE Size Größe der physikalischer Verwaltungseinheiten.
Total PE Anzahl der vorhandenen physikalischen Verwaltungseinheiten in der Volumengruppe
Alloc PE / Size Anzahl der an logische Volumen zugewiesenen physikalischen Verwaltungseinheiten mit der Angabe der Speichergröße.
Free PE / Size Anzahl der noch verfügbaren physikalischen Verwaltungseinheiten mit der Angabe der Speichergröße.
VG UUID Universally Unique Identifier - Unabhängige Volumen oder Datenträgerbezeichnung. Wird beim Anlegen der Volumengruppe automatisch generiert.

Entfernen von Volumengruppen

Wird eine Volumengruppe nicht mehr benötigt, kann sie aufgelöst werden um die physikalischen Volumen wieder freizugeben. Bei diesem Vorgang gehen alle logischen Volumen und ihre Daten verloren. Das Werkzeug „vgremove“ benötigt den Namen der Volumengruppe und besitzt eine Option zum Simulieren des Vorgangs. Enthält die Volumengruppe logische Volumen, entfernt es diese und fragt hierbei bei jedem Volumen nach.

debian:~# vgremove vg01 --test
  Test mode: Metadata will NOT be updated.
Do you really want to remove volume group "vg01" containing 1 logical volumes? [y/n]: y
Do you really want to remove active logical volume "lv-linear"? [y/n]: n
  Logical volume "lv-linear" not removed
  Command failed with status code 5.

Aufgrund des Nachfragens konnte im letzten Moment der Verlust des logischen Volumens „lv-linear“ verhindert werden. Jetzt wird die Volumengruppe „vg02“ endgültig gelöscht.

Da die Gruppe keine logischen Volumen enthalten hat, wurde auch keine weitere Sicherheitsabfrage vom Werkzeug gestellt.

Option Option Beschreibung
-t –test Das Entfernen der Volumengruppe nur simulieren.
-v –verbose Ein paar mehr Informationen über den Vorgang ausgeben.
-f –force Mache das, was ich sage. Ohne weiteres Nachfragen.

Erstellen von logischen Volumen

Logische Volumen werden mit dem Werkzeug „lvcreate“ erzeugt. Beim Erstellen wird die Größe des neuen Volumen und der Name der Volumengruppe, in der das Volumen erstellt werden soll, erwartet. Zusätzlich muss über die Werkzeugoptionen ein Name für das neue logische Volumen angegeben werden, der dieses eindeutig kennzeichnet. Beim linearen Erstellen des logischen Volumens werden ihm freie PE-Verwaltungseinheiten aus der Volumengruppe zugewiesen. Es erfolgt hierbei keine direkte Zuweisung oder Aufteilung auf die eingebundenen physikalischen Volumen.

debian:~# lvcreate -L 250m -n lv-linear vg01
  Logical volume "lv-linear" created
debian:~# lvcreate -L 250m -n lv-nc vg01
  Logical volume "lv-linear" created

Das Beispiel erstellt in der Volumengruppe „vg01“ zwei neue logischen Volumen mit der Größe von 250 Megabyte und den Namen „lv-linear“ und „lv-nc“ in linearer Weise an.

Option Option Beschreibung
-L VALUE –size VALUE Zu reservierende Größe des neuen Volumens in Byte. Für größere Volumen können die Suffixe M(egabyte), G(igabyte), T(errabyte), P(etabyte) oder E(xabyte) angehängt werden.
-l Zu reservierende Größe des neuen Volumens in logischen Verwaltungseinheiten. Mit einem Suffix ist es möglich, die Angabe in Prozent relativ zur Volumengruppe „%VG“, physikalischer Volumen „(%PV)“ oder den freien Einheiten in logischen Verwaltungseinheiten „(%FREE)“ in einer Volumengruppe anzugeben.
-n –name VALUE Name des logischen Volumens.
-r VALUE –readahead VALUE Festlegen der Sektoren, die vorausschauend geladen werden sollen. Der Standardwert ist „Auto“. Er legt den Wert automatisch bei Starten des Volumens fest. Der Wert „None“ deaktiviert das vorausschauende Laden von Sektoren. Werte zwischen 2 bis 120 sind für Volumen im LVM1-Format gültig.
-p [r/rw] –permission [r/rw] Legt fest, ob das Volumen geschrieben oder nur gelesen werden darf.

Abfragen von Volumen-Information

Information über die Konfiguration eines logischen Volumens liefert das Werkzeug „lvdisplay“. Zusätzlich kann das Werkzeug „vgdisplay“ mit der Verbose-Option (-v) verwendet werden, um die Konfiguration vorhandener logischen Volumen auszugeben.

debian:~# lvdisplay vg01/lv-linear
  --- Logical volume ---
  LV Name                /dev/vg01/lv-linear
  VG Name                vg01
  LV UUID                z5DibN-wyGJ-vMnY-A8qn-G1cb-c5V1-O6dh97
  LV Write Access        read/write
  LV Status              available
  # open                 0
  LV Size                250,00 MB
  Current LE             125
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           254:0


Attribut Beschreibung
LV Name Bezeichnung und Pfad der Gerätedatei des logischen Volumens.
VG Name Bezeichnung der Volumengruppe.
LV UUID Universall Unique Identifier - Unabhängige Volumen oder Datenträgerbezeichnung. Wird beim Anlegen des logischen Volumens automatisch generiert.
LV Write Access Gibt an ob ein schreibender Zugriff auf das Volumen erlaubt ist.
LV Status Status des logischen Volumens.
# open
LV Size Speichergröße des logischen Volumens.
Current LE Anzahl der zugewiesenen logischen Verwaltungseinheiten.
Segments Anzahl der Segmente aus der das Volumen besteht.
Allocation Zuweisungsrichtlinie für neue Verwaltungseinheiten.
read ahead sectors Gibt an ob Sectoren vorausschauend gelesen werden.
currently set do Anzahl der Sektoren, die vorausschauend gelesen werden.
Block device Major- und Minor-Nummer des verwendeten Blockgerätes.

Entfernen von logischen Volumen

Logische Volumen, die nicht mehr benötigt werden, können wieder aus der Volumengruppe entfernt werden um die belegte logischen Verwaltungseinheiten freizugeben. Für diese Aufgabe steht das Werkzeug „lvremove“ zur Verfügung. Es erwartet den Pfad zur Gerätedatei des logischen Volumens und verfügt über eine Option für einen Testmodus, in dem das Entfernen nur simuliert wird.

debian:~# lvremove /dev/vg01/lv-nc --test -v
  Test mode: Metadata will NOT be updated.
    Using logical volume(s) on command line
Do you really want to remove active logical volume "lv-nc"? [y/n]: y
    Test mode: Skipping archiving of volume group.
    Found volume group "vg01"
    Found volume group "vg01"
    Releasing logical volume "lv-nc"
    Test mode: Skipping volume group backup.
  Logical volume "lv-nc" successfully removed
    Test mode: Wiping internal cache
    Wiping internal VG cache
debian:~# lvremove /dev/vg01/lv-nc
Do you really want to remove active logical volume "lv-nc"? [y/n]: y
  Logical volume "lv-nc" successfully removed

Die zusätzliche Verbose-Option sorgt für ein paar weitere Information. Das Werkzeug fragt interaktiv nach, ob man es mit dem Löschen auch wirklich ernst meint. Da das der Fall ist, wird das logische Volumen jetzt komplett entfernt.

Option Option Beschreibung
-t –test Das Entfernen des logischen Volumens nur simulieren.
-v –verbose Ein paar zusätzliche Informationen über den Vorgang ausgeben.
-f –force Mache, was ich sage. Ohne weiteres Nachfragen.

Verwenden von logischen Volumen

Logische Volumen werden als normale Blockgeräte im System verwendet und eingebunden. Sie müssen vor ihrer Verwendung mit einem Dateisystem vorbereitet werden. Welches Dateisystem zum Einsatz kommt, ist abhängig vom Einsatzszenario des Volumens. Im Beispiel wird das Volumen mit einem Standard Ext2-Dateisystem formatiert und an den neu erzeugten Mountpoint „/mnt/linear“ angebunden.

debian:~# mkfs -t ext2 /dev/vg01/lv-linear
mke2fs 1.41.3 (12-Oct-2008)
Dateisystem-Label=
OS-Typ: Linux
Blockgröße=1024 (log=0)
Fragmentgmente=1024 (log=0)
64000 Inodes, 256000 Blöcke
12800 Blöcke (5.00%) reserviert für den Superuser
Erster Datenblock=1
Maximale Dateisystem-Blöcke=67371008
32 Blockgruppen
8192 Blöcke pro Gruppe, 8192 Fragmente pro Gruppe
2000 Inodes pro Gruppe
Superblock-Sicherungskopien gespeichert in den Blöcken:
        8193, 24577, 40961, 57345, 73729, 204801, 221185

Schreibe Inode-Tabellen: erledigt
Schreibe Superblöcke und Dateisystem-Accountinginformationen: erledigt

Das Dateisystem wird automatisch nach jeweils 38 Einhäng-Vorgängen bzw.
alle 180 Tage überprüft, je nachdem, was zuerst eintritt. Verwenderbar mit
tune2fs -c oder -t .
debian:~# mkdir /mnt/linear
debian:~# mount /dev/vg01/lv-linear /mnt/linear
debian:~# df
Dateisystem          1KBlöcke   Benutzt Verfügbar Ben% Eingehängt auf
/dev/sda2              6870656   1359592   5162052  21% /
tmpfs                   253144         0    253144   0% /lib/init/rw
udev                     10240       764      9476   8% /dev
tmpfs                   253144         0    253144   0% /dev/shm
/dev/mapper/vg01-lv--linear
                        247919      2062    233057   1% /mnt/linear

Weiter zu Teil 3. - Administrative Grundarbeiten


wiki/seminare/workshops/lvm2/wst02.txt · Zuletzt geändert: 2011-12-20 22:44 von Marek Walther