18Aug

So verwalten und verwenden Sie 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, und heute werden wir Sie durch einige der wichtigsten Verwaltungswerkzeuge von LVM führen, so dass Sie beim Einrichten oder Erweitern Ihrer Installation sicher sind.

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

Zur Verwaltung von LVM stehen GUI-Tools zur Verfügung, aber um wirklich zu verstehen, was mit Ihrer LVM-Konfiguration passiert, ist es wahrscheinlich am besten zu wissen, was die Kommandozeilen-Tools sind. Dies ist besonders nützlich, wenn Sie LVM auf einem Server oder einer Distribution verwalten, die keine GUI-Tools bietet.

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

  • Physisches Volume = pv
  • Volume-Gruppe = vg
  • Logisches Volume = lv

Die Befehle für den physischen Datenträger dienen zum Hinzufügen oder Entfernen von Festplattenlaufwerken in Datenträgergruppen. Volume-Gruppenbefehle dienen dazu, zu ändern, welche abstrahierten physischen Partitionen Ihrem Betrieb in logischen Volumes präsentiert werden. Logische Volume-Befehle stellen die Volume-Gruppen als Partitionen dar, sodass Ihr Betriebssystem den zugewiesenen Speicherplatz verwenden kann.

Herunterladbarer LVM-Spickzettel

Um zu verstehen, welche Befehle für jeden Präfix verfügbar sind, haben wir einen LVM-Spickzettel erstellt. Wir werden einige der Befehle in diesem Artikel behandeln, aber es gibt noch eine Menge, die Sie tun können, die hier nicht behandelt wird.

Alle Befehle in dieser Liste müssen als Root ausgeführt werden, da Sie die systemweiten Einstellungen ändern, die sich auf den gesamten Rechner 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. Die s- und display-Befehle arbeiten mit physischen Volumes( PV), Volume-Gruppen( VG) und logischen Volumes( LV). Daher ist es ein guter Ausgangspunkt, wenn Sie versuchen, die aktuellen Einstellungen herauszufinden.

Der Anzeigebefehl formatiert die Informationen so, dass sie leichter zu verstehen sind als der Befehl s. Für jeden Befehl sehen Sie den Namen und Pfad von pv / vg und es sollte auch Informationen über freien und benutzten 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.

Erstellen eines logischen Volumes

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

Erstellen Sie ein physikalisches Volume

Wir werden von vorne anfangen mit einer brandneuen Festplatte ohne Partitionen oder Informationen darüber. Suchen Sie zunächst nach der Festplatte, mit der Sie arbeiten werden.(/dev/ sda, sdb usw.)

Anmerkung: Denken Sie daran, dass alle Befehle als root oder durch Hinzufügen von 'sudo' zum Anfang des Befehls ausgeführt werden müssen.

fdisk -l

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

Unsere neue Festplatte befindet sich unter /dev/ sdb. Verwenden Sie fdisk, um eine neue Partition auf dem Laufwerk zu erstellen.

Es gibt eine Vielzahl von Tools, die eine neue Partition mit einer GUI erstellen können, einschließlich Gparted, aber da wir das Terminal bereits geöffnet haben, verwenden wir fdisk, um die benötigte Partition zu erstellen.

Von einem Terminal-Typ geben Sie die folgenden Befehle ein:

fdisk /dev/ sdb

Dies bringt Sie in eine spezielle fdisk-Eingabeaufforderung.

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 oder mehrere Partitionen benötigen, empfehle ich, GParted zu verwenden oder über fdisk selbst zu lesen.

Warnung: Die folgenden Schritte formatieren Ihre Festplatte. Stellen Sie sicher, dass Sie keine Informationen zu dieser Festplatte haben, bevor Sie diese Schritte ausführen.

  • n = neue Partition erstellen
  • p = primäre Partition erstellen
  • 1 = Partition als erste Partition auf der Festplatte festlegen

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

Verwenden Sie die folgenden zwei Befehle, um die von LVM zu verwendende Partition vorzubereiten.

  • t = Änderung des Partitionstyps
  • 8e = Änderung des LVM-Partitionstyps

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

  • p = Partitions-Setup anzeigen, damit wir Änderungen vor dem Schreiben auf
  • überprüfen können w = Änderungen auf Disk schreiben

Nach diesen Befehlen sollte die fdisk-Eingabeaufforderung beendet werden und Sie kehren zur Bash-Eingabeaufforderung Ihres Terminals zurück.

Geben Sie pvcreate /dev/ sdb1 ein, 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 keine Sorge, dieser Schritt kommt später.


Erstellen der Datenträgergruppe

Jetzt, da wir eine Partition erstellt und ein physisches Volume erstellt haben, müssen wir die Datenträgergruppe erstellen. Zum Glück braucht das nur einen Befehl.

vgcreate vgpool /dev/ sdb1

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

Erstellen des logischen Datenträgers

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

lvcreate -L 3G -n lvstuff vgpool

Der Befehl -L bestimmt die Größe des logischen Datenträgers, in diesem Fall 3 GB, und der Befehl -n benennt ihnVolumen. Vgpool wird referenziert, damit der Befehl lvcreate weiß, von welchem ​​Volume der Speicher abgerufen werden soll.

Formatieren und Bereitstellen des logischen Volumes

Ein letzter Schritt besteht darin, das neue logische Volume mit einem Dateisystem zu formatieren. Wenn Sie Hilfe bei der Auswahl eines Linux-Dateisystems benötigen, lesen Sie unser How to, das Ihnen dabei helfen kann, das beste Dateisystem für Ihre Anforderungen auszuwählen.

mkfs -t ext3 /dev/vgpool/ lvstuff

Erstellen Sie einen Mount-Punkt und mounten Sie das Volume dann, wo Sie es verwenden können.

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

Skalieren eines logischen Volumens

Einer der Vorteile von logischen Volumes ist, dass Sie Ihre Shares physisch vergrößern oder verkleinern können, ohne alles auf eine größere Festplatte zu verschieben. 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 Datenträgergruppe entfernen, um den logischen Datenträger zu verkleinern.

Es gibt drei grundlegende Werkzeuge, um physische Volumes, Volume-Gruppen und logische Volumes größer oder kleiner zu machen.

Hinweis: Jedem dieser Befehle müssen pv, vg oder lv vorangehen, je nachdem, woran Sie gerade arbeiten.

  • resize - kann physische Volumes und logische Volumes verkleinern oder vergrößern, aber nicht Volume-Gruppen
  • erweitern - kann Volume-Gruppen und logische Volumes größer, aber nicht kleiner machen
  • reduzieren - können Volume-Gruppen und logische Volumes kleiner, aber nicht größer machen

Lassen Sie uns ein Beispiel durchgehenwie man eine neue Festplatte zu dem logischen Datenträger "lvstuff" hinzufügt, den wir gerade erstellt haben.

Installieren und Formatieren der neuen Festplatte

Um eine neue Festplatte zu installieren, gehen Sie wie oben beschrieben vor, um eine neue Partition zu erstellen und ändern Sie den Partitionstyp in LVM( 8e).Verwenden Sie dann pvcreate, um ein physisches Volumen zu erstellen, das LVM erkennen kann.

Neue Festplatte zu Volume-Gruppe hinzufügen

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

Dies fügt das neue physische Volumen zur vorhandenen Datenträgergruppe hinzu.

vgextend vgpool /dev/ sdc1

Erweitern des logischen Volumens

Um die Größe des logischen Volumes zu ändern, müssen wir sagen, wie viel wir nach Größe statt nach Gerät erweitern möchten. In unserem Beispiel haben wir unserem 3 GB vgpool 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 er unser logisches Volumen tatsächlich auf 8 GB skalieren wird, anstatt dem vorhandenen Volumen 8 GB hinzuzufügen, wie wir es wollten. Um die letzten 3 verfügbaren Gigabyte hinzuzufügen, müssen Sie den folgenden Befehl verwenden.

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

Jetzt ist unser logisches Volume 11 GB groß.

Dateisystem erweitern

Das logische Volume ist 11 GB, aber das Dateisystem auf diesem Volume ist immer noch nur 3 GB.Damit das Dateisystem die gesamten 11 GB nutzen kann, müssen Sie den Befehl resize2fs verwenden. Zeigen Sie einfach resize2fs auf das logische 11-GB-Volume und es wird die Magie für Sie tun.

resize2fs /dev/vgpool/ lvstuff

Hinweis: Wenn Sie außer ext3 / 4 ein anderes Dateisystem verwenden, lesen Sie bitte die Werkzeuge zur Größenanpassung der Dateisysteme.

Shrink Logical Volume

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. Dateigröße anpassen( Dateien vor der Größenanpassung in einen sicheren Bereich auf der Festplatte verschieben)
  2. logisches Volume reduzieren( statt + zum Erweitern können Sie auch - verwenden, um die Größe zu verringern)
  3. Festplatte aus Datenträgergruppe mit vgreduce entfernen

Ein logisches Volume sichern

Snapshots ist eine Funktion, die einige neuere, erweiterte Dateisysteme enthalten, aber ext3 / 4 ist nicht in der Lage, Snapshots im laufenden Betrieb zu erstellen. Eines der coolsten Dinge an LVM-Snapshots ist, dass Ihr Dateisystem niemals offline genommen wird und Sie so viele haben können, wie Sie möchten, ohne zusätzlichen Festplattenspeicher zu belegen.

Wenn LVM einen Snapshot erstellt, wird genau aufgezeichnet, wie der logische Datenträger aussieht, und dieses Bild kann verwendet werden, um eine Kopie auf einer anderen Festplatte zu erstellen. Während eine Kopie erstellt wird, werden alle neuen Informationen, die dem logischen Datenträger hinzugefügt werden müssen, wie normal auf den Datenträger geschrieben. Änderungen werden jedoch nachverfolgt, sodass das ursprüngliche Bild nicht zerstört wird.

Um einen Snapshot zu erstellen, müssen wir ein neues logisches Volume mit genügend freiem Speicherplatz erstellen, um alle neuen Informationen zu speichern, die während des Backups auf das logische Volume geschrieben werden. Wenn das Laufwerk nicht aktiv beschrieben wird, können Sie sehr wenig Speicherplatz verwenden. Sobald wir mit unserem Backup 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 aber das Flag -s.

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

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

Montieren eines neuen Snapshots

Genau wie zuvor müssen wir einen Mountpunkt erstellen und den neuen Snapshot mounten, damit wir Dateien daraus kopieren können.

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

Kopieren von Snapshot und Löschen des logischen Volumens

Sie müssen lediglich alle Dateien von /mnt/lvstuffbackup/ auf eine externe Festplatte kopieren oder tarieren, damit alles in einer Datei gespeichert wird.

Hinweis: tar -c erstellt ein Archiv und -f gibt den Speicherort und den Dateinamen des Archivs an. Für Hilfe mit dem tar-Befehl verwenden Sie man tar im Terminal.

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

Beachten Sie, dass während des Backups alle Dateien, die in lvstuff geschrieben werden, in dem temporären logischen Volume verfolgt werden, das wir zuvor erstellt haben. Stellen Sie sicher, dass während der Sicherung genügend Speicherplatz vorhanden ist.

Sobald die Sicherung abgeschlossen ist, trennen Sie das Volume und entfernen Sie den temporären Snapshot.

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

Löschen eines logischen Volumens

Um einen logischen Datenträger zu löschen, müssen Sie zuerst sicherstellen, dass der Datenträger ausgehängt ist, und Sie können ihn dann mit lvremove löschen. Sie können eine Datenträgergruppe auch entfernen, nachdem die logischen Datenträger gelöscht wurden und ein physischer Datenträger nach dem Löschen der Datenträgergruppe.

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

Das sollte alles abdecken, was Sie wissen müssen, um LVM zu verwenden. Wenn Sie etwas Erfahrung mit dem Thema haben, sollten Sie Ihre Weisheit in den Kommentaren teilen.