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
Diskussion