Auf Personal Computern ist es eine Selbstverständlichkeit, dass Festplatten und ähnliche Speichermedien partitioniert werden müssen, bevor sie benutzt werden können. Erst auf den Partitionen werden dann später die Dateisysteme angelegt und die Dateien gespeichert. Partitionen werden mit Programmen wie fdisk angelegt oder gelöscht, nachträglich verändert werden können sie damit nur sehr bedingt, auch wenn es dazu heute funktionsfähige Tools gibt wie Partition Magic oder fips. Fakt ist also, dass man beim Einrichten einer Festplatte einen einigermaßen soliden Plan haben sollte, wie sie aufgeteilt werden soll, weil es später, wenn bereits Dateisysteme und Daten auf den Partitionen sind, sehr umständlich ist, die Größe der Partitionen zu verändern.

Auf Workstations mag das ein vertretbarer Ansatz sein, Partitionen sind leicht vorausplanbar und wenn man tatsächlich etwas ändern wollte, ist es kein Beinbruch, wenn die Systeme neu gebootet werden müssen, um mit Hilfsmitteln die Partitionen zu verändern. Aber Serversysteme, die womöglich hunderte Anwender gerade mit Diensten versorgen können nicht so einfach mal runtergefahren werden und sind auch nicht so leicht planbar. Hier stößt das System der Partitionierung an Grenzen.

Die Lösung dieses Dilemmas ist der Logical Volume Manager, den Linux anbietet. Er fasst mehrere sogenannte Physikalische Volumes (physical volumes – Partitionen, ganze Platten, RAID-Arrays oder Loop-Geräte) zu Gruppen zusammen. Eine solche Gruppe wird volume group genannt und beinhalten die gesamte Speicherkapazität aller der Gruppe zugehörigen physikalischen Volumes. Aus dieser Gruppen heraus werden jetzt logische Volumes (logical volume) angelegt, die beliebige Größen haben dürfen, solange sie alle zusammen die Kapazität der Gruppe nicht übersteigen. Auf welcher physikalischen Platte die Information jetzt tatsächlich steht ist jetzt unerheblich.

Die eigentliche Stärke dieses Systems ist es, dass diese logischen Volumes dynamisch die Größe verändern können. Es ist möglich:

  • neue Platten in eine Gruppe aufzunehmen und damit ihre Speicherkapazität zu erhöhen,
  • bereits der Gruppe zugehörige Platten aus ihr zu entfernen, ohne Datenverlust,
  • bestehende logische Volumes innerhalb einer Volume Group zu vergrößern und zu verkleinern ohne Datenverlust,
  • logische Volumes zu löschen und neu anzulegen

und das alles ohne einmal neu booten zu müssen (mit Ausnahme des Einbaus neuer Platten, sofern keine Hotplugging Schränke zur Verfügung stehen…). LVM hat eine sehr gute Handbuchseite, die die grundlegende Funktionsweise genau erklärt.