Next Previous Contents

3. Arbeiten mit LVM

Hier werden die wesentlichen Administationsvorg�nge beschrieben.

3.1 Booten

Eventuell muss das LVM-Modul geladen werden. Normalerweise k�nnen die gespeicherte LVM-Konfiguration in den Dateien/Verzeichnissen /etc/lvmtab, /etc/lvmconf, /etc/lvmtab.d wieder benutzt werden:

vgchange -a y

Sollte die gespeicherten Daten korrupt oder nicht vorhanden sein (z.B. weil eine Platte in ein fremdes System eingebaut wird) k�nnen alle potentiellen PV's (alle SCSI- und IDE-Platten, Loop-Devices, etc.) gescannt werden.

vgscan -v

Es ist Zweckm�ssig vgscan jedesmal beim booten, vor dem Arbeiten mit logischen Volumes automatisch zu starten. Danach ebenfalls mit vgchange -a y aktivieren.

3.2 Shutdown

LVM mu� sauber abgeschlossen werden, damit ein Wiederherstellen sp�ter m�glich ist. Zuerst sind alle Filesysteme auf den LV's zu unmounten. Es d�rfen keine ge�ffneten LV (gemountete Filesysteme, Swap etc.) existieren. Danach die VG als Gesamtes deaktivieren:

vgchange -a n

3.3 Anlegen einer Volume Group (VG)

Einer Volume Group mu� beim Anlegen mindestens ein PV zugef�gt werden, weitere k�nnen sp�ter hinzugef�gt werden. Anlegen einer VG mit dem Namen vg00:

vgcreate -v vg00 /dev/loop7

3.4 Umbenennen einer Volume Group (VG)

Die VG 'vg00' wird zu 'myvg' umbenannt. Dazu muss die VG erst deaktiviert werden. Nur VGs, die keine offenen LVs haben k�nnen deaktiviert werden. Nach dem Umbenennen muss die VG wieder aktiviert werden.

vgchange -a n vg00
vgrename vg00 myvg
vgchange -a y myvg

3.5 Vorbereiten der Physical Volume (PV)

Ein Physical Volume (PV) kann eine Festplatten-Partition, eine gesamte Platte, ein Loop-Device, ein MD-Device oder eine beliebiges anderes Block-Device sein. Das PV mu� vor Benutzung durch LVM formatiert werden, d.h. gewisse Datenstrukturen werden darin abgelegt. Wenn eine Partition benutzt wird, mu� der Partitionstyp mit fdisk auf 0x8E gesetzt werden. Dies dient lediglich dazu, da� die Partition nicht �ber andere Wege (z.B. Filesystem) benutzt wird. Aufruf von pvcreate:

pvcreate /dev/loop7

Falls sich dort schon ein PV konfiguriert wurde, zum �berschreiben ev. Parameter -f oder -ff angeben.

3.6 Hinzuf�gen eines PV zu einer VG

Erstellen Sie die Partition und setzen Sie die Partions ID auf 0x8e um sie als LVM Partition zu kennzeichnen. Beispiel f�r "sda1" und "vg01":

[FDISK BEISPIEL FEHLT NOCH]
pvcreate /dev/sda1
vgextend vg01
 /dev/sda1

Die erste Partition wird mit 'vgcreate vg01 /dev/sda1' hinzugef�gt, da die Volume Group dann ja noch nicht existiert.

3.7 Entfernen eines PV aus einer VG

pvmove /dev/sdx1
vgreduce vg0x /dev/sdx1

3.8 Verlagerung eines PV auf ein anderes PV

Manchmal ist es Notwendig, die Daten von ein einem physikalischen Volume auf ein anderes zu Verschieben. Gr�nde daf�r k�nnen sein,

Vorraussetzung f�r die Verlaferung der PEs eines PV auf ein anderes ist, dass auf den verbleibenden PVs genug Platz vorhanden ist, um die gesamten Daten aufnehmen zu k�nnen. Die Verlagerung kann im Online Betrieb erfolgen. (Vertrauen ist gut; Ein Backup ist besser :-)

Beispiel 1: hda1 in vg0x soll "frei gemacht" werden, damit die Festplatte ausgebaut werden kann:

pvmove /dev/hda1
vgreduce vg0x /dev/hda1

Beispiel2: Das PV '/dev/loop7' in VG 'vg00' soll von dem jetzigen provisorischen Loop-Device auf eine neue Partition ('/dev/hda1') verschoben werden. Dies geschieht im Online-Betrieb.

(Ggf. mit fdisk Partition-ID von hda1 auf 0xfe setzen) 
pvcreate -v /dev/hda1
vgextend -v vg00 /dev/hda1
pvmove -v /dev/loop7 /dev/hda1
vgreduce -v vg00 /dev/loop7

3.9 Anlegen und Benutzen eines Logical Volume (LV)

In einer gegebenen VG k�nnen mehrere Logical Volume's (LV) angelegt werden. Ohne spezielle Parameter wird irgendwo freier Platz belegt. Normalerweise werden die PV's nacheinander, m�glichst aneinanderh�ngend aufgef�llt. Wird kein Name f�r das LV angegeben, vergibt LVM automatisch einen (lvol1, lvol2, ...). Die Gr��e der LV wird durch -L gefolgt von einer Zahl mit dem Zusatz K, M oder G (f�r Kbyte, MByte, GByte) angegeben.

Beispiel: LV mit dem Namen test mit 10 MB in der VG vg00:

lvcreate -v  -L10M -n test vg00

LVM legt damit ein Block-Device /dev/vg00/test an, auf das jetzt normal zugegriffen werden kann:

mkfs -t ext2 /dev/vg00/test 
mount /dev/vg00/test /tmp/lvmtest/mnt0

(... und/oder fstab Eintrag)

3.10 Vergr�ssern eines Logischen Volumes (LV)

Sie k�nnen ein LV /dev/test_vg/test_lv auf 1600MB erweitern, in dem Sie eine relative Gr�ssenangabe verwenden

"lvextend -L+100 /dev/test_vg/test_lv"

oder eine absolute Gr�ssenangabe

"lvextend -L1600 /dev/test_vg/test_lv"

Beispiel zusammen mit Erweiterung des Filesystems:

lvextend -L+3G /dev/vg01/lvol01
e2fsadm -L+3G /dev/vg01/lvol01

Eventuell /var/state/nfs/devtab anpassen falls nfs freigabe bestand. (Warum??? - Bitte um Input - richard)

3.11 Verkleinern eines logischen Volumes (LV)

Das LV '/dev/test_vg/test_lv' soll um 700 LEs auf 900 LEs verkleinert werden. Die logical Extents k�nnen relativ angegeben werden:

"lvreduce -l-700 /dev/test_vg/test_lv"

oder die gew�nschte Gr�sse kann in absoluten PEs angegeben werden:

"lvreduce -l900 /dev/test_vg/test_lv"

3.12 Umbenennen eines Logischen Volumes (LV)

Nur geschlossene LVs k�nnen umbenannt werden. Vergessen Sie nicht nach dem Umbennen ggf. Ihren Eintrag in '/etc/fstab' zu �ndern.

"lvchange -an /dev/whatever/test_lv"
"lvrename  /dev/whatever/test_lv 
 /dev/whatever/whatvolume"
"lvchange -ay /dev/whatever/whatvolume"

Alternativ kann folgender Aufruf von lvrename verwendet werden:

"lvrename  whatever test_lv whatvolume"

3.13 Anpassen der Gr�sse eine ext2 Filesystems

Wenn Sie das Tool resize2fs besitzen, k�nnen Sie ein LV mit ext2-Filesystem dynamisch vergr��ern oder verkleinern, ohne die existierenden Daten auf dem Filesystem zu zerst�ren. Das Programm resize2fs gibt es bei www.powerquest.com

e2fsadm -L+100 /dev/test_vg/another_test_lv

3.14 Anlegen eines Swap-Devices

Es soll ein 50 MB Volume in vg00 zur Verwendung als Swap Partition erzeugt und verwendet werden.

lvcreate -L50M -n swap1 vg00
mkswap /dev/vg00/swap1
swapon /dev/vg00/swap1

Eintrag in /etc/fstab:

/dev/vg00/swap1     swa     swap    defaults      0 0

3.15 Test Konfigurationen mit Loop-Devices

Will man LVM testen, ohne Umpartitionieren zu m�ssen, kann man Loop-Devices verwenden. F�r den produktiven Einsatz empfiehlt sich das nat�rlich nicht. Mit Loop-Devices kann man auf normale Dateien im Filesystem wie auf ein Block-Device zugreifen. Siehe 'man losetup'. Anmerkung:

Einrichtung:

Datei in bestimmter Gr��e anlegen:

dd if=/dev/zero of=/tmp/lvmtest/loop bs=1024 count=21000 

Loop-Device konfigurieren:

losetup /dev/loop7 /tmp/lvmtest/loop

Jetzt kann man auf /dev/loop7 wie auf ein normales Block-Device zugreifen. Wird /dev/loop7 nicht mehr gebraucht, mit Loop-Device konfigurieren:

losetup -d /dev/loop7 

die Verbindung l�sen; danach kann die Datei /tmp/lvmtest/loop gel�scht werden.


Next Previous Contents