Was sind die Vorteile des Logical Volume Managers [geschlossen]

11

Was sind die Funktionen und potenziellen Vorteile von Logical Volume Manager, die über die Angaben auf der Wikipedia-Seite hinausgehen?

LanceBaynes
quelle
1
Gegen was? Wirklich, das ist eine zu vage Frage. Kein Wunder, dass sie herabgestimmt wurde.
Nandhini Anand
Bitte erläutern Sie Ihre Möglichkeiten.
Ori
1
Wow - die Umformulierung dieser Frage wurde von Matt Simmons großartig beantwortet!
Dunxd
1
Der Vollständigkeit halber
RichVel

Antworten:

33

Entnommen direkt aus meinem Blogeintrag: http://www.standalone-sysadmin.com/blog/2008/09/introduction-to-lvm-in-linux/

Lassen Sie uns zunächst das Leben ohne LVM diskutieren. In den schlechten alten Zeiten hatten Sie eine Festplatte. Diese Festplatte könnte Partitionen haben. Sie können Dateisysteme auf diesen Partitionen installieren und diese Dateisysteme dann verwenden. In beide Richtungen bergauf. Es sah sehr ähnlich aus:

Sie haben das eigentliche Laufwerk, in diesem Fall sda. Auf diesem Laufwerk befinden sich zwei Partitionen, sda1 und sda2. Es gibt auch ungenutzten freien Speicherplatz. Auf jeder Partition befindet sich ein Dateisystem, das gemountet ist. Der tatsächliche Dateisystemtyp ist beliebig. Sie könnten es ext3, reiserfs oder was haben Sie nennen. Wichtig ist, dass zwischen Festplattenpartitionen und möglichen Dateisystemen eine direkte Eins-zu-Eins-Korrelation besteht.

Fügen wir eine logische Datenträgerverwaltung hinzu, die genau dieselbe Struktur wiederherstellt:

Jetzt sehen Sie dieselben Partitionen, jedoch befindet sich über den Partitionen eine Ebene, die als "Volume-Gruppe" bezeichnet wird, wörtlich eine Gruppe von Volumes, in diesem Fall Festplattenpartitionen. Es ist möglicherweise akzeptabel, sich dies als eine Art virtuelles Laufwerk vorzustellen, das Sie partitionieren können. Da wir genau mit unserer vorherigen Konfiguration übereinstimmen, können Sie die Stärken des Systems noch nicht erkennen. Möglicherweise stellen Sie fest, dass wir über der Datenträgergruppe logische Datenträger erstellt haben, die als virtuelle Partitionen betrachtet werden können. Auf diesen Datenträgern erstellen wir unsere Dateisysteme.

Mal sehen, was passiert, wenn wir mehr als ein physisches Volume hinzufügen:

Hier haben wir drei physische Festplatten, sda, sdb und sdc. Jede der ersten beiden Festplatten verfügt über eine Partition, die den gesamten Speicherplatz einnimmt. Die letzte, sdc, hat eine Partition, die die Hälfte der Festplatte einnimmt, wobei die Hälfte nicht partitionierten freien Speicherplatz bleibt.

Wir können die Datenträgergruppe über der sehen, die alle derzeit verfügbaren Datenträger enthält. Hier liegt eines der größten Verkaufsargumente. Sie können eine logische Partition erstellen, die so groß ist wie die Summe Ihrer Festplatten. In vielerlei Hinsicht ähnelt dies der Funktionsweise von RAID Level 0, außer dass überhaupt kein Striping vorhanden ist. Die Daten werden größtenteils linear geschrieben. Wenn Sie Redundanz benötigen oder die von RAID bereitgestellte Leistung erhöht, stellen Sie sicher, dass Ihre logischen Volumes über den RAID-Arrays liegen. RAID-Slices funktionieren hier genau wie physische Festplatten.

Jetzt haben wir diese Volume-Gruppe, die 2 und 1/2 Festplatten belegt. Es wurde in zwei logische Volumes unterteilt, von denen das erste größer ist als eines der Datenträger. Den logischen Volumes ist es egal, wie groß die tatsächlichen physischen Festplatten sind, da sie nur sehen, dass sie aus myVolumeGroup01 herausgeschnitten sind. Diese Abstraktionsebene ist wichtig, wie wir sehen werden.

Was passiert, wenn wir entscheiden, dass wir den nicht genutzten Speicherplatz benötigen, weil wir mehr Benutzer hinzugefügt haben?

Normalerweise wären wir traurig, wenn wir das Eins-zu-Eins-Mapping verwenden würden, aber mit logischen Volumes können wir Folgendes tun:

Hier haben wir den zuvor freien Speicherplatz in / dev / sdc belegt und / dev / sdc2 erstellt. Dann haben wir das zur Liste der Volumes hinzugefügt, aus denen myVolumeGroup01 besteht. Sobald dies erledigt war, konnten wir jedes der logischen Volumes nach Bedarf erweitern. Seit wir Benutzer hinzugefügt haben, haben wir myLogicalVolume2 erweitert. Zu diesem Zeitpunkt konnten wir es erweitern, solange das Dateisystem / Home es unterstützte, um den zusätzlichen Speicherplatz zu füllen. Alles nur, weil wir unseren Speicher von den physischen Datenträgern abstrahiert haben, auf denen er lebt.

Okay, das deckt das grundlegende Warum von Logical Volume Management ab. Da ich sicher bin, dass Sie mehr darüber erfahren möchten, wie Sie Ihre eigenen Systeme vorbereiten und erstellen, finden Sie hier einige hervorragende Ressourcen, um Ihnen den Einstieg zu erleichtern:

http://www.pma.caltech.edu/~laurence/Linux/lvm.html
http://www.freeos.com/articles/3921/
http://www.linuxdevcenter.com/pub/a/linux/2006/04/27/managing-disk-space-with-lvm.html

Matt Simmons
quelle
2
+1 für eine hervorragende Beschreibung und Visualisierung.
Dämon des Chaos
5

Sie können LVM verwenden, um viele Dinge mit Festplatten zu tun. Der Hauptvorteil ist die Möglichkeit, Dateisysteme im laufenden Betrieb zu erweitern. Angenommen, Sie richten einen Protokollserver ein und wissen, dass Sie in Zukunft eine Menge Daten haben werden. Ext3 unterstützt maximal 16 TB (mehr abhängig von Ihrem Kernel und der Version von EL). Aber was ist, wenn Sie in 2 Jahren wissen, dass Sie 1PB Speicher benötigen? Nun, das schafft einige Probleme. Zuerst wird Ihr Chef Sie mit Rehen in den Augen der Scheinwerfer ansehen, wenn Sie ihm den Preis für diese Speicherhardware mitteilen. Dies führt zu einem weiteren Problem: Sie müssen mit einer kleinen Lösung beginnen, die Sie nach oben skalieren können. LVM bietet Ihnen diese Option. Sie beginnen mit ein paar Festplatten. Dann fügen Sie weitere hinzu, verwandeln sie in eine logische Gruppe, fügen sie dem ersten logischen Volume hinzu, vergrößern das Volume und erweitern schließlich das Dateisystem. Voila, du '

Dies erspart Ihnen das Verschieben der Daten vom Gerät, das Neuformatieren der LUNs und das Zurückschieben aller Daten, um ein Upgrade durchzuführen. Entschuldigung für die Kürze, hoffe das macht Sinn.

Bearbeiten: Ich sollte auch beachten, dass Sie, wenn Sie mit 1PB zu tun haben, Ext3 nicht verwenden möchten ... wahrscheinlich XFS.

Matthew
quelle
Ich kaufe LVM wirklich nicht als Mechanismus zur Skalierung von 16 TB auf 1 PB - Sie benötigen wirklich ZFS oder ähnliches, das "Thin Provisioning" ermöglicht, dh Sie erstellen jetzt einen ZFS-Speicherpool mit insgesamt etwa 1 PB, der jedoch nur teilweise gesichert ist durch echte Speicherblöcke. Während Sie wachsen, fügen Sie einfach Speicher innerhalb desselben Pools hinzu. Mit LVM würden Sie enorm viel Zeit damit verbringen, die Größe der FS (s) zu ändern und jedes Mal, wenn Sie Speicher hinzufügen, fsck (s) auszuführen.
RichVel
4

Es gibt eine Reihe indirekter Vorteile von LVM. Das Wichtigste, was LVM tut, ist, die physischen Festplatten vom Betriebssystem zu abstrahieren . Der Hauptvorteil davon ist einfach Flexibilität . Die meisten Vorteile von LVM werden nur realisiert, wenn Sie über ein Dateisystem verfügen, das die sofortige Größenänderung unterstützt. Das Grundlegende, was LVM tut, wird unten beschrieben:

Systempartitionen befinden sich eine Schicht über der Festplatte

Ohne LVM verwendet Linux die Partitionen, die sich physisch auf der Festplatte befinden. Die Partitionen sind direkte Gerätenamen. Die Partitionstabelle befindet sich im MBR und normalerweise (bei logischen erweiterten Partitionen) im erweiterten Startdatensatz (mit dem Sie eine größere Anzahl von Partitionen erstellen können). Partitionen definieren eine Größe und einen Typunter anderem (genauer gesagt, sie definieren einen Start- und Endzylinder, der im Wesentlichen die Größe definiert). Da sie so eng mit der Festplatte verbunden sind, ist es wichtig, bei der Installation ein "korrektes" Partitionierungsschema einzurichten. Wenn sich plötzlich eine Maschinenfunktion ändert oder wenn Sie ein Anfänger sind und die Auswirkungen der Partitionierung nicht verstanden haben oder wenn Sie irgendwo die Festplattennutzung oder die Protokolle einer bestimmten Anwendung unterschätzt haben, kann das Ändern dieser Partitionierung umständlich sein. Es gibt Tools dafür, aber Sie müssen im Allgemeinen Daten von der Partition verschieben, um sie zu ändern. Wenn Sie vier Partitionen haben, wirkt sich das Ändern des Endzylinders der zweiten Partition natürlich auf die Startzylinder der dritten und vierten Partition aus, sodass Sie in eine unordentliche Situation geraten.

Die Naive befürwortet möglicherweise die Verwendung einer einzelnen großen Partition, aber Sie werden möglicherweise rückgängig gemacht, wenn Sie Kontingente einführen oder unerwünschte Prozesse isolieren müssen, die Teile Ihres Systems füllen (z. B. / var / log, / tmp usw.).

Die Vorteile davon sind:

Speicher hinzufügen / entfernen

Das Hinzufügen von Speicher ist im Allgemeinen trivial. Wenn Sie Hardware- oder Software-RAID verwenden und weitere Festplatten hinzufügen, müssen Sie häufig mit Symlinks herumspielen, um das RAID-Array neu zu erstellen, damit Linux Ihren neuen Speicher an den gewünschten Speicherorten verfügbar macht.

Nehmen Sie das Beispiel eines großen / home-Verzeichnisses, das voll wird. Dies ist auf einem vorhandenen RAID 1-Volume mit zwei Festplatten vorhanden. Sie möchten zwei weitere Festplatten hinzufügen. Sie richten diese in einer Hardware-RAID 1-Konfiguration ein. Ohne LVM haben Sie mehrere Möglichkeiten:

  1. Erstellen Sie das vollständige RAID-Array in einer 1 + 0-Konfiguration neu, bei der Daten vom Computer verschoben, neu erstellt und wieder aktiviert werden müssen.
  2. Erstellen Sie eine neue RAID 1-Volume-Gruppe, die separat ist. Linux hat bereits das erste RAID-Volume auf / home gemountet, daher müssen Sie das zweite RAID-Volume auf / home1 oder ähnlichem mounten. Um die geeigneten Pfade für Benutzer zu erhalten, die mit dem ersten übereinstimmen, müssen Sie möglicherweise Symlinks verwenden, um den gleichen Effekt zu erzielen. Darüber hinaus erfordert diese Lösung eine ständige Wartung des ursprünglichen RAID-Volumes und möglicherweise die Migration von Daten von der ursprünglichen Partition.

Mit LVM können Sie einfach die neue RAID 1-Volume-Gruppe zum zusätzlichen Speicherpool hinzufügen, die Größe des Dateisystems ändern (sofern es dies unterstützt) und voila, / home ist jetzt plötzlich größer. Sie müssen nichts miteinander verknüpfen oder Wartungsarbeiten durchführen, um Daten möglicherweise von / home nach / home1 oder umgekehrt zu verschieben. Spülen, waschen, wiederholen für zukünftige Festplatten-Upgrades.

Online-Wartung

Die meisten LVM-Aufgaben können, sofern die Hardware dies unterstützt, online ausgeführt werden, ohne dass der Computer neu gestartet werden muss. Wenn Sie Festplatten auf einem System im laufenden Betrieb austauschen können, können Sie neue Festplatten hinzufügen und anschließend alte (möglicherweise kleinere) Festplatten entfernen, um die Systemspeicheranforderungen zu erhöhen.

Eines der Hauptprobleme bei LVM-Volumes ist, dass Fragmentierung nach meiner Erfahrung zu einem Problem werden kann, wenn sie sich der Kapazität nähern. Volumes> 90% und wirklich> 95% können bedeuten, dass Sie abhängig von Ihrer Festplattennutzung und den Dateitypen zu einer schlechten Fragmentierung auf der Festplatte kommen können. Es ist selten etwas, worüber Sie sich übermäßig Sorgen machen müssen, das ist bei jeder Art von Volume- / Partitionsverwaltung der Fall, aber es ist die Fragmentierung auf der Volume-Ebene im Gegensatz zu der Partition, um die es hier geht.

Philip Reynolds
quelle
Gute Antwort auf die Vorteile, aber in Ihrem Punkt (2) denke ich, dass Sie "ein neues RAID 1-Volume erstellen, das ..." meinen, anstatt eine VG zu erstellen, wie dies im Fall von Nicht-LVM der Fall ist und vermutlich Hardware-RAID verwenden, wie erwähnt .
RichVel
1

Sie hätten mehr Informationen über die Situation bereitstellen sollen, in der Sie dies anwenden werden. Auf diese Weise können wir gezielte Antworten geben und keine allgemeinen, möglicherweise nicht zusammenhängenden Antworten (ich kann nichts kommentieren, sonst hätte ich dies in einem Kommentar gesagt).

Nun zur Frage selbst: Sie können Volumes (auch Partitionen genannt) einfach erstellen, in der Größe ändern und löschen. Eine weitere nette Funktion (abhängig von Ihrer Situation) ist die Möglichkeit, Snapshots eines Volumes zu erstellen.

Nicht verfügbar
quelle
1

Auch wenn Sie bereits als beste Antwort ausgewählt wurden, möchte ich meine Meinung zu diesem Thema einbringen. Aus meiner Erfahrung würde ich die Nützlichkeit von LVM in Frage stellen, wenn Sie ein physisches Laufwerk oder sogar mehrere Laufwerke haben (ich persönlich verwende LVM niemals auf einem Systemlaufwerk). Wo LVM wirklich unverzichtbar ist, ist es jedoch Hardware-RAID. Auf diese Weise können die Funktionen von RAID und LVM klar voneinander getrennt werden. Sie verwenden RAID, um die Zuverlässigkeits- und Leistungsmerkmale Ihres Speichers zu verwalten, und Sie verwenden LVM, um dem System tatsächliche Volumes zuzuweisen. Manchmal überschneidet sich diese Funktionalität, dh LVM kann Funktionen von RAID-0 und RAID-1 bereitstellen, aber ich würde nicht empfehlen, eine der beiden mit einem ernsthaften Build zu verwenden.

Grundsätzlich gehören RAID und LVM zusammen, wobei die Verwendung ohne RAID normalerweise nicht optimal ist.

dtoubelis
quelle