Arbeiten mit LVM

Installation

aptitude install lvm2 xfsprogs

Pysical Volumes

pvcreate <Device1 [DeviceN]>	Erstellen Physical Volume (Setzen der LVM ID 8e, UUID und Metadata schreiben)
pvs	Anzeige der Physical Volumes mit Größe und freiem Speicherplatz
pvdisplay	Anzeige von PVName, VGName, PV UUID PV Größe aller PhysicalVolumes
pvscan	Scannen aller angeschlossenen Platten nach PhysicalVolumes
pvremove <Device[s]>	LVM ID (8e) wird von der Platte genommen; Diese kann wiederverwendet werden

Volume Groups

vgcreate <VG-Name> <Device[s]>	Erstellen einer VG mit den Devices
vgdisplay	Anzeige von Name, VG Größe, Format, UUID aller VG
vgextend <VG-Name> <Device[s]>	Erweitern einer VG
vgreduce <VG-Name> <Device[s]>	Verkleinerung einer VolumeGroup um die Devices

Logical Volumes

lvcreate <VG-Name>	Erstellen einer LV auf der VG
-n <LV-Name>	Name für die Logical Volume
-L <Größe in Megabytes>	Größe definieren (Megabytes)
-l <Größe in Extends>	Größe definieren (Extends)
-l (1..100)%VG	LV mit 1..100% der Größe der VG
-l (1..100)%FREE	LV mit 1..100% des freien Speichers in der VG
lvdisplay	Anzeige von LV Name, VG Name, LV UUID, LV Größe aller LogicalVolumes
lvextend <LogicalVolumePath>
-L <Größe in Megabytes>	Größe definieren (Megabytes); +hängt Größe an
-l <Größe in Extends>	Größe definieren (Extends)
lvremove <LogicalVolumePath>	entfernt ein Logisches Volume

Modi

Linear Volumes
Striped Logical Volumes	Daten werden Blockweise nacheinander auf alle Platten verteilt
Mirrored Logical Volumes

Tipps

enfernen von Disks

Man hat eine VG bestehend aus mehreren PVs und möchte eine Platte entfernen.

Anzeigen aller Platten und deren Nutzung

pvs -o+pv_used
PV VG Fmt Attr PSize PFree Used
/dev/sda1 myvg lvm2 a- 17.15G 12.15G 5.00G
/dev/sdb1 myvg lvm2 a- 17.15G 12.15G 5.00G
/dev/sdc1 myvg lvm2 a- 17.15G 12.15G 5.00G
/dev/sdd1 myvg lvm2 a- 17.15G 2.15G 15.00G

Möchte man jetzt die Platte /dev/sdb1 enfernen, müssen alle Daten auf die anderen Platten verschoben werden

# pvmove /dev/sdb1
/dev/sdb1: Moved: 2.0%
...
/dev/sdb1: Moved: 79.2%
...
/dev/sdb1: Moved: 100.0%

Ein weiteres pvs zeigt dann die Nutzung der Disk an

# pvs -o+pv_used
PV VG Fmt Attr PSize PFree Used
/dev/sda1 myvg lvm2 a- 17.15G 7.15G 10.00G
/dev/sdb1 myvg lvm2 a- 17.15G 17.15G 0
/dev/sdc1 myvg lvm2 a- 17.15G 12.15G 5.00G
/dev/sdd1 myvg lvm2 a- 17.15G 2.15G 15.00G

Jetzt muss das VG noch verkleiner werden

# vgreduce myvg /dev/sdb1
Removed "/dev/sdb1" from volume group "myvg"
# pvs
PV VG Fmt Attr PSize PFree
/dev/sda1 myvg lvm2 a- 17.15G 7.15G
/dev/sdb1 lvm2 -- 17.15G 17.15G
/dev/sdc1 myvg lvm2 a- 17.15G 12.15G
/dev/sdd1 myvg lvm2 a- 17.15G 2.15G

Quellen

https://www.howtoforge.de/anleitung/lvm-anleitung-fur-anfanger/

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Logical_Volume_Manager_Administration/disk_remove_ex.html