Hier werden die wesentlichen Administationsvorg�nge beschrieben.
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.
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
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
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
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.
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.
pvmove /dev/sdx1 vgreduce vg0x /dev/sdx1
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
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)
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)
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"
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"
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
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
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.