Startseite » wie man » Verwalten und Verwenden von LVM (Logical Volume Management) in Ubuntu

    Verwalten und Verwenden von LVM (Logical Volume Management) in Ubuntu

    In unserem vorherigen Artikel haben wir Ihnen erklärt, was LVM ist und wofür Sie es verwenden möchten. Heute werden wir Sie durch einige der wichtigsten Management-Tools von LVM führen, sodass Sie sich beim Einrichten oder Erweitern Ihrer Installation sicher fühlen können.

    Wie bereits erwähnt, ist LVM eine Abstraktionsschicht zwischen Ihrem Betriebssystem und physischen Festplatten. Dies bedeutet, dass Ihre physischen Festplatten und Partitionen nicht mehr an die Festplatten und Partitionen gebunden sind, auf denen sie sich befinden. Die Festplatten und Partitionen, die Ihr Betriebssystem erkennt, können eine beliebige Anzahl von separaten Festplatten sein, die zusammen oder in einem Software-RAID zusammengefasst sind.

    Für die Verwaltung von LVM stehen GUI-Tools zur Verfügung. Um wirklich zu verstehen, was mit Ihrer LVM-Konfiguration geschieht, ist es wahrscheinlich am besten zu wissen, was die Befehlszeilen-Tools sind. Dies ist besonders hilfreich, wenn Sie LVM auf einem Server oder einer Distribution verwalten, die keine GUI-Tools anbieten.

    Die meisten Befehle in LVM sind einander sehr ähnlich. Jedem gültigen Befehl ist eine der folgenden Anweisungen vorangestellt:

    • Physikalisches Volumen = pv
    • Volumengruppe = vg
    • Logisches Volumen = lv

    Die Befehle für das physische Volume dienen zum Hinzufügen oder Entfernen von Festplatten in Volume-Gruppen. Volume Group-Befehle dienen zum Ändern der Menge der abstrakten physischen Partitionen, die in logischen Volumes angezeigt werden. Logische Volume-Befehle zeigen die Volume-Gruppen als Partitionen an, damit Ihr Betriebssystem den angegebenen Speicherplatz verwenden kann.

    Herunterladbares LVM-Spickzettel

    Um zu verstehen, welche Befehle für jedes Präfix verfügbar sind, haben wir ein LVM-Spickzettel erstellt. Wir werden einige der Befehle in diesem Artikel behandeln, aber es gibt noch eine Menge Möglichkeiten, die hier nicht behandelt werden.

    Alle Befehle in dieser Liste müssen als root ausgeführt werden, da Sie systemweite Einstellungen ändern, die sich auf die gesamte Maschine auswirken.

    (Klicken Sie auf die Miniaturansicht für ein Bild in voller Größe.)

    So zeigen Sie aktuelle LVM-Informationen an

    Als Erstes müssen Sie überprüfen, wie Ihr LVM eingerichtet ist. Das s und Anzeige Befehle funktionieren mit physischen Datenträgern (pv), Datenträgergruppen (vg) und logischen Datenträgern (lv). Daher ist dies ein guter Ausgangspunkt, wenn Sie versuchen, die aktuellen Einstellungen herauszufinden.

    Das Anzeige Mit dem Befehl werden die Informationen so formatiert, dass sie einfacher zu verstehen sind als die s Befehl. Für jeden Befehl sehen Sie den Namen und den Pfad von pv / vg und es sollte auch Informationen zu freiem und belegtem Speicherplatz geben.

    Die wichtigsten Informationen sind der PV-Name und der VG-Name. Mit diesen beiden Informationen können wir weiter am LVM-Setup arbeiten.

    Logisches Volume erstellen

    Logische Volumes sind die Partitionen, die Ihr Betriebssystem in LVM verwendet. Um ein logisches Volume zu erstellen, benötigen wir zunächst eine physische Volume- und Volume-Gruppe. Hier sind alle Schritte zum Erstellen eines neuen logischen Volumes aufgeführt.

    Erstellen Sie ein physisches Volume

    Wir beginnen mit einer brandneuen Festplatte ohne Partitionen oder Informationen. Beginnen Sie, indem Sie herausfinden, mit welcher Festplatte Sie arbeiten werden. (/ dev / sda, sdb usw.)

    Hinweis: Denken Sie daran, dass alle Befehle als root ausgeführt werden müssen, oder indem Sie am Anfang des Befehls 'sudo' hinzufügen.

    fdisk -l

    Wenn Ihre Festplatte noch nie formatiert oder partitioniert wurde, werden Sie wahrscheinlich in der Ausgabe von fdisk so etwas sehen. Dies ist vollkommen in Ordnung, da wir in den nächsten Schritten die benötigten Partitionen erstellen werden.

    Unsere neue Festplatte befindet sich unter / dev / sdb. Daher können Sie mit fdisk eine neue Partition auf dem Laufwerk erstellen.

    Es gibt eine Vielzahl von Tools, mit denen eine neue Partition mit einer GUI erstellt werden kann, einschließlich Gparted. Da das Terminal jedoch bereits geöffnet ist, verwenden wir fdisk, um die benötigte Partition zu erstellen.

    Geben Sie an einem Terminal die folgenden Befehle ein:

    fdisk / dev / sdb

    Dadurch erhalten Sie eine spezielle Eingabeaufforderung für fdisk.

    Geben Sie die Befehle in der angegebenen Reihenfolge ein, um eine neue primäre Partition zu erstellen, die 100% der neuen Festplatte verwendet und für LVM bereit ist. Wenn Sie die Partitionsgröße ändern müssen oder mehrere Partitionen wünschen, schlage ich vor, GParted zu verwenden oder selbst über fdisk zu lesen.

    Warnung: Mit den folgenden Schritten wird Ihre Festplatte formatiert. Stellen Sie sicher, dass Sie keine Informationen auf dieser Festplatte haben, bevor Sie diese Schritte ausführen.

    • n = Neue Partition erstellen
    • p = erstellt eine primäre Partition
    • 1 = macht die erste Partition auf der Festplatte

    Drücken Sie zweimal die Eingabetaste, um den voreingestellten ersten und letzten Zylinder zu übernehmen.

    Um die von LVM zu verwendende Partition vorzubereiten, verwenden Sie die folgenden zwei Befehle.

    • t = Partitionstyp ändern
    • 8e = wechselt zum LVM-Partitionstyp

    Überprüfen Sie die Informationen und schreiben Sie sie auf die Festplatte.

    • p = Partitions-Setup anzeigen, damit wir die Änderungen überprüfen können, bevor sie auf die Festplatte geschrieben werden
    • w = Änderungen auf die Festplatte schreiben

    Nach diesen Befehlen sollte die Eingabeaufforderung von fdisk beendet werden, und Sie werden wieder zur Bash-Eingabeaufforderung Ihres Terminals gelangen.

    Eingeben pvcreate / dev / sdb1 um ein physisches LVM-Volume auf der soeben erstellten Partition zu erstellen.

    Sie fragen sich vielleicht, warum wir die Partition nicht mit einem Dateisystem formatiert haben, aber machen Sie sich keine Sorgen, dieser Schritt kommt später.


    Erstellen Sie eine Volume-Gruppe

    Nachdem wir nun eine Partition festgelegt und ein physisches Volume erstellt haben, müssen wir die Volume-Gruppe erstellen. Zum Glück dauert dies nur einen Befehl.

    vgcreate vgpool / dev / sdb1

    Vgpool ist der Name der neuen Volume-Gruppe, die wir erstellt haben. Sie können es beliebig benennen, es wird jedoch empfohlen, vg an der Vorderseite des Labels anzubringen. Wenn Sie später darauf verweisen, wissen Sie, dass es sich um eine Volume-Gruppe handelt.

    Logisches Volume erstellen

    So erstellen Sie den logischen Datenträger, den LVM verwenden wird:

    lvcreate -L 3G -n lvstuff vgpool

    Der Befehl -L gibt die Größe des logischen Datenträgers an, in diesem Fall 3 GB, und der Befehl -n bezeichnet den Datenträger. Auf Vgpool wird verwiesen, sodass der Befehl lvcreate weiß, von welchem ​​Volume der Speicherplatz abgerufen wird.

    Formatieren und Laden des logischen Datenträgers

    Ein letzter Schritt ist das Formatieren des neuen logischen Datenträgers mit einem Dateisystem. Wenn Sie Hilfe bei der Auswahl eines Linux-Dateisystems benötigen, lesen Sie unsere Anleitung, mit der Sie das für Ihre Anforderungen am besten geeignete Dateisystem auswählen können.

    mkfs -t ext3 / dev / vgpool / lvstuff

    Erstellen Sie einen Bereitstellungspunkt und stellen Sie das Volume dann an einem Ort bereit, an dem Sie es verwenden können.

    mkdir / mnt / stuff
    mount -t ext3 / dev / vgpool / lvstuff / mnt / stuff

    Größe eines logischen Volumes ändern

    Logische Volumes haben den Vorteil, dass Sie Ihre Freigaben physisch vergrößern oder verkleinern können, ohne dass Sie alles auf eine größere Festplatte verschieben müssen. Stattdessen können Sie eine neue Festplatte hinzufügen und Ihre Volume-Gruppe im laufenden Betrieb erweitern. Wenn Sie eine Festplatte haben, die nicht verwendet wird, können Sie sie aus der Volume-Gruppe entfernen, um das logische Volume zu verkleinern.

    Es gibt drei grundlegende Werkzeuge, um physische Datenträger, Datenträgergruppen und logische Datenträger größer oder kleiner zu machen.

    Hinweis: Jedem dieser Befehle müssen pv, vg oder lv vorangestellt werden, je nachdem, mit was Sie arbeiten.

    • Größe ändern - kann physische Datenträger und logische Datenträger verkleinern oder erweitern, nicht jedoch Datenträgergruppen
    • erweitern - Volume-Gruppen und logische Volumes können zwar größer, aber nicht kleiner werden
    • reduzieren - Volume-Gruppen und logische Volumes können zwar kleiner, aber nicht größer werden

    Sehen wir uns ein Beispiel für das Hinzufügen einer neuen Festplatte zu dem soeben erstellten logischen Volume „lvstuff“ an.

    Neue Festplatte installieren und formatieren

    Um eine neue Festplatte zu installieren, gehen Sie wie oben beschrieben vor, um eine neue Partition zu erstellen und den Partitionstyp der Änderung zu LVM (8e) hinzuzufügen. Verwenden Sie dann pvcreate, um ein physisches Volume zu erstellen, das von LVM erkannt werden kann.

    Neue Festplatte zur Volume-Gruppe hinzufügen

    Um die neue Festplatte einer Volume-Gruppe hinzuzufügen, müssen Sie nur wissen, wie Ihre neue Partition lautet, in diesem Fall / dev / sdc1 und den Namen der Volume-Gruppe, der Sie sie hinzufügen möchten.

    Dadurch wird das neue physische Volume der vorhandenen Volume-Gruppe hinzugefügt.

    vgextend vgpool / dev / sdc1

    Logisches Volumen erweitern

    Um die Größe des logischen Datenträgers zu ändern, müssen Sie angeben, um wie viel wir die Größe erweitern möchten, anstatt nach Gerät. In unserem Beispiel haben wir unserem 3-GB-Vgpool gerade eine 8-GB-Festplatte hinzugefügt. Um diesen Raum nutzbar zu machen, können wir lvextend oder lvresize verwenden.

    lvextend -L8G / dev / vgpool / lvstuff

    Während dieser Befehl funktioniert, werden Sie feststellen, dass die Größe unseres logischen Datenträgers tatsächlich auf 8 GB geändert wird, anstatt dem vorhandenen Volume 8 GB hinzuzufügen, wie wir es wollten. Um die letzten 3 verfügbaren Gigabytes hinzuzufügen, müssen Sie den folgenden Befehl verwenden.

    lvextend -L + 3G / dev / vgpool / lvstuff

    Jetzt ist unser logischer Datenträger 11 GB groß.

    Dateisystem erweitern

    Das logische Volume ist 11 GB groß, aber das Dateisystem auf diesem Volume ist nur noch 3 GB groß. Damit das Dateisystem die gesamten 11 GB zur Verfügung stellt, müssen Sie den Befehl resize2fs verwenden. Richten Sie resize2fs einfach auf das 11-GB-logische Volume und es wird die Magie für Sie tun.

    resize2fs / dev / vgpool / lvstuff

    Hinweis: Wenn Sie ein anderes Dateisystem als ext3 / 4 verwenden, sehen Sie sich die Tools zum Ändern der Dateigröße Ihres Dateisystems an.

    Logisches Volumen verkleinern

    Wenn Sie eine Festplatte aus einer Volume-Gruppe entfernen möchten, müssen Sie die obigen Schritte in umgekehrter Reihenfolge ausführen und stattdessen lvreduce und vgreduce verwenden.

    1. Ändern Sie die Größe des Dateisystems (stellen Sie sicher, dass die Dateien vor dem Ändern der Größe in einen sicheren Bereich der Festplatte verschoben werden.)
    2. logisches Volumen reduzieren (anstelle von + können Sie auch - zum Reduzieren nach Größe verwenden)
    3. Entfernen Sie die Festplatte aus der Volume-Gruppe mit Vgreduce

    Logisches Volume sichern

    Snapshots sind eine Funktion, die einige neuere, fortgeschrittene Dateisysteme enthalten, aber Ext3 / 4 bietet nicht die Möglichkeit, Snapshots spontan zu erstellen. Eines der coolsten Dinge bei LVM-Snapshots ist, dass Ihr Dateisystem niemals offline geschaltet wird und Sie können so viele wie Sie möchten, ohne zusätzlichen Festplattenspeicher zu belegen.

    Wenn LVM einen Schnappschuss erstellt, wird ein Bild davon erstellt, wie das logische Volume genau aussieht, und dieses Bild kann zum Erstellen einer Kopie auf einer anderen Festplatte verwendet werden. Während des Kopiervorgangs werden alle neuen Informationen, die dem logischen Datenträger hinzugefügt werden müssen, wie üblich auf die Festplatte geschrieben. Die Änderungen werden jedoch so nachverfolgt, dass das Originalbild niemals zerstört wird.

    Um einen Snapshot erstellen zu können, müssen Sie ein neues logisches Volume mit ausreichend freiem Speicherplatz erstellen, um alle neuen Informationen aufzunehmen, die während des Backups auf das logische Volume geschrieben werden. Wenn nicht gerade auf das Laufwerk geschrieben wird, können Sie sehr wenig Speicher verwenden. Sobald wir mit unserer Sicherung fertig sind, entfernen wir einfach das temporäre logische Volume und das ursprüngliche logische Volume wird normal weiterlaufen.

    Neuen Snapshot erstellen

    Um einen Snapshot von lvstuff zu erstellen, verwenden Sie den Befehl lvcreate wie zuvor, verwenden Sie jedoch das Flag -s.

    lvcreate -L512M -s -n lvstuffbackup / dev / vgpool / lvstuff

    Hier haben wir ein logisches Volume mit nur 512 MB erstellt, da das Laufwerk nicht aktiv verwendet wird. Die 512 MB speichern alle neuen Schreibvorgänge, während wir unser Backup erstellen.

    Neuen Snapshot einbinden

    Wie zuvor müssen wir einen Einhängepunkt erstellen und den neuen Snapshot einhängen, damit wir Dateien daraus kopieren können.

    mkdir / mnt / lvstuffbackup
    mount / dev / vgpool / lvstuffbackup / mnt / lvstuffbackup

    Schnappschuss kopieren und Logisches Volume löschen

    Alles, was Sie noch tun müssen, ist, alle Dateien von / mnt / lvstuffbackup / auf eine externe Festplatte zu kopieren.

    Hinweis: tar -c erstellt ein Archiv und -f gibt den Speicherort und den Dateinamen des Archivs an. Hilfe beim Befehl tar verwenden Mann Teer im Terminal.

    tar -cf / home / rothgar / Backup / lvstuff-ss / mnt / lvstuffbackup /

    Denken Sie daran, dass während des Backups alle Dateien, die in lvstuff geschrieben werden würden, in dem zuvor erstellten temporären logischen Volume nachverfolgt werden. Stellen Sie sicher, dass während der Sicherung genügend Speicherplatz zur Verfügung steht.

    Wenn die Sicherung abgeschlossen ist, müssen Sie das Volume aushängen und den temporären Snapshot entfernen.

    umount / mnt / lvstuffbackup
    lvremove / dev / vgpool / lvstuffbackup /

    Logisches Volume löschen

    Um ein logisches Volume zu löschen, müssen Sie zunächst sicherstellen, dass das Volume nicht bereitgestellt ist. Anschließend können Sie es mit lvremove löschen. Sie können eine Volume-Gruppe auch entfernen, wenn die logischen Volumes gelöscht wurden und ein physisches Volume nach dem Löschen der Volume-Gruppe.

    Hier sind alle Befehle, die die von uns erstellten Volumes und Gruppen verwenden.

    umount / mnt / lvstuff
    lvremove / dev / vgpool / lvstuff
    vgremove vgpool
    pvremove / dev / sdb1 / dev / sdc1

    Dies sollte die meisten Informationen abdecken, die Sie zur Verwendung von LVM benötigen. Wenn Sie Erfahrung mit dem Thema haben, teilen Sie Ihre Weisheit in den Kommentaren mit.