article

Der Logical Volume Manager (LVM) ist eine hauptsächlich im UNIX- und Linux-Umfeld verbreitete Abstraktionsebene zwischen Festplatten und Dateisystemen. Festplatten (Physical Volume, PV) werden zu einem Pool (Volume Group, VG) zusammengefasst, aus dem dynamisch "Partitionen" (Logical Volume, LV) angefordert werden können. Auf diesen Logical Volumes werden die Dateisysteme angelegt.

Eine Volume Group kann durch Hinzufügen von Physical Volumes erweitert werden, und Logical Volumes können sich innerhalb der Volume Group über mehrere Physical Volumes erstrecken. Somit kann ein Logical Volume um ein Vielfaches größer sein, als die größte im System vorhandene Festplatte.

Die wichtigsten Vorteile des LVM gegenüber der traditionell weit verbreiteten statischen Partitionierung von Festplatten liegen in der Erweiterbarkeit der Volume Groups durch Hinzufügen von Physical Volumes (Festplatten) und der daraus folgenden Erweiterbarkeit der darin enthaltenen Logical Volumes. Unter den meisten Betriebssystemen ist die Vergrößerung eines Logical Volume und des darauf angelegten Dateisystems im laufenden Betrieb möglich, ohne dass darauf laufende Applikationen durch die Vergrößerung beeinträchtigt werden.

Grundsätzlich ist es nicht erforderlich, den genauen Überblick darüber zu behalten, auf welchen Physical Volumes ein Logical Volume zum liegen kommt, denn die Verteilung auf die Physical Volumes innerhalb einer Volume Group wird vom LVM automatisch vorgenommen. Bei leistungskritischen Anwendungen kann jedoch darauf geachtet werden, dass simultane Plattenzugriffe auf verschiedene Physical Volumes verteilt werden, um die Bewegung der Schreib- und Leseköpfe zu optimieren. Darüber hinaus ist es in der Praxis üblich, die Verteilung so zu steuern, dass ein Logical Volume sich nicht auf zu viele Physical Volumes verteilt. So können die Auswirkungen eines Festplattenausfalls begrenzt werden. Alle LVMs besitzen entsprechende Befehle, um die Verteilung der Daten auf den Physical Volumes im laufenden Betrieb zu prüfen und zu ändern.

RAID Unterstützung durch den LVM


Viele LVMs unterstützen die Organisation der Logical Volumes als RAIDs, so dass die Daten gegen Plattenausfälle geschützt werden oder der Zugriff beschleunigt wird. Da dies ohne zusätzliche Hardware geschieht wird das Verfahren auch als SoftRAID bezeichnet. Typischerweise werden meist RAID-0 (Striping, kein(!) Schutz gegen Plattenausfälle) und RAID-1 (Mirroring, Spiegeln) unterstützt, in manchen LVMs auch RAID-5, also Paritätsbildung. Da letzteres auch nennenswert Rechenkapazität benötigt, kommt es nur bei ausreichend ausgestatteten System in Frage. Manche LVMs lizenzieren Mirroring und/oder RAID-5 separat.

Physical und Logical Extents


Der Physical Extent (implementationsabhängig auch: Physical Partition) ist die Speichereinheit, in der die Daten der Volume Group organisiert werden. Die Größe eines Logical Volume entspricht immer dem Vielfachen der Größe eines Physical Extent in der Volume Group.

Der Logical Extent (implementationsabhängig auch: Logical Partition) fasst bei LVMs, die die Spiegelung von Logical Volumes auf mehreren Festplatten unterstützen, die Anzahl der Spiegel zusammen. Liegen zwei Spiegelhälften vor, entspricht ein Logical Extent zwei Physical Extents. Bei LVM-Implementationen, die keine Spiegelung unterstützen, entspricht ein Logical Extent immer genau einem Physical Extent.

Betriebssysteme mit LVM-Unterstützung


AIX, HP-UX, Tru64: Komplette LVM-Unterstützung mit Spiegelung und Online-Vergrößerung von Logical Volumes. Letztere sind unter HP-UX (MirrorDisk UX, OnlineJFS) und Tru64 (AdvFS, LSM) zusätzlich lizenzpflichtig.
Linux: LVM-Implementation, die sich in der Bedienung stark an HP-UX anlehnt. Online-Vergrößerung möglich mit Ext (Ext2 und Ext3), ReiserFS v3 und XFS. Spiegelung der Logical Volumes möglich und unabhängig vom verwendeten Dateisystem.
Solaris:Ab Solaris Version 9 gehört der SVM (Solaris Volume Manager) zum Betriebssystem. Ab Solaris 10 kann auch ZFS (Zettabyte File System) Pooled Storage verwendet werden. Damit werden Platten oder Plattenbereiche einem Storage Pool zugeordnet. Die Dateisysteme (ZFS) werden dann direkt in diesem Storage Pool angelegt. Storage Pool und Dateisysteme sind dynamisch erweiterbar. Außerdem ist für Solaris Systeme (wie auch für AIX, HP-UX und Linux) der Veritas Volume Manager verfügbar, der jedoch zusätzlich lizenziert werden muss.
IRIX:Sowohl der alte XLV als auch der neue XVM LVM werden mit IRIX 6.5 ausgeliefert, jedoch ist für das Einrichten von Spiegeln eine zusätzliche Lizenz (Plexing Licence) notwendig.
OS/2, eComStation: Mit der Einführung des JFS im Jahr 2000 wurde gleichzeitig ein LVM eingeführt. Die Verwaltung kann über ein CUI oder GUI stattfinden. Die OS/2 Portierung von JFS war die Basis für JFS2.

Sonstige LVM-Unterstützung


Veritas Volume Manager: Unterstützung verschiedener Betriebssysteme wie Solaris und Linux inkl. eines kommandozeilenorientierten sowie eines graphischen Interfaces. Veritas bietet zudem einen Cluster Volume Manager an, der logisches Volume Management in Clustern ermöglicht. Beide Volume Manager sind Lizenzpflichtig.

Oracle Automatic Storage Management (ASM): Unterstützung von Logical Volumes für Oracle Datenbanken inkl. Disk Striping und Mirroring. Die Verteilung der Daten in sogenannten Stripes erfolgt dabei nicht aufgrund der Datenmenge, sondern nach I/O-Last. Diese Last wird über ein internes Repository (Automatic Workload Repository, kurz AWR) gespeichert und ausgewertet.
ASM wird kostenfrei mit der Oracle Datenbanksoftware zur Verfügung gestellt.

Wichtige Kommandos zur Verwaltung des LVM


AIX HP-UX Linux Veritas Tru64 Solaris
Anzeigen der vorhandenen Volume Groups bzw. Details über die genannte Volume Group anzeigen lsvg vgdisplay vgdisplay vxprint (-g) volprint -l (-g) metastat (-s)
Anzeigen von Informationen über ein Physical Volume lspv pvdisplay pvdisplay vxprint -dl volprint -dl metastat (-s)
Anzeigen von Informationen über ein Logical Volume lslv lvdisplay lvdisplay vxprint -vl volprint -vl metastat (-s)
Löschen eines Logical Volume rmlv lvremove lvremove vxedit -rf rm voledit -rf rm metaclear (-s)
Eigenschaften eines Logical Volume ändern chlv lvchange lvchange vxedit set voledit set metaparam
Verschieben von Physical Extents eines Logical Volume auf ein anderes Physical Volume der Volume Group migratepv pvmove pvmove vxsd -o mv volassist move n/a
Vergrößern eines Logical Volume extendlv lvextend lvextend vxassist growto volassist growto n/a
Vorbereiten einer Festplatte für den Einsatz als Physical Volume mkdev pvcreate pvcreate vxdiskadd voldiskadd format, metadb
Erweitern einer Volume Group um ein Physical Volume extendvg vgextend vgextend vxdg adddisk voldg adddisk n/a
Herausnehmen eines Physical Volume aus der Volume Group reducevg vgreduce vgreduce vxdg rmdisk voldg rmdisk metadetach/metaclear
Einrichten einer Spiegelung mklvcopy lvextend -m lvconvert -m vxassist mirror volassist mirror=true metainit (-s) -m + metattach
Aufheben einer Spiegelung rmlvcopy lvreduce -m lvconvert -m vxassist remove mirror ? metadetach (-s)

Weblinks


Speicherlaufwerk | Dateisystem

Logical volume management | Gestion par volumes logiques | Gestore logico dei volumi | 論理ボリュームマネージャ

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Logical Volume Manager".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld