Verwendung von LVM zum Verwalten von Speichergeräten unter Ubuntu 16.04

Einführung

  • LVM * (Logical Volume Management) ist eine Technologie zur Verwaltung von Speichergeräten, mit der Benutzer das physische Layout von Komponentenspeichergeräten für eine einfachere und flexiblere Verwaltung zusammenfassen und abstrahieren können. Unter Verwendung des Linux-Kernel-Frameworks für Device Mapper kann die aktuelle Iteration LVM2 verwendet werden, um vorhandene Speichergeräte in Gruppen zusammenzufassen und logische Einheiten aus dem kombinierten Speicherplatz nach Bedarf zuzuweisen.

In diesem Handbuch erfahren Sie, wie Sie Ihre Speichergeräte mit LVM verwalten. Wir zeigen Ihnen, wie Sie Informationen zu Volumes und potenziellen Zielen anzeigen, Volumes verschiedener Typen erstellen und zerstören und vorhandene Volumes durch Ändern der Größe oder Transformation ändern. Wir werden einen Ubuntu 16.04-Server verwenden, um diese Operationen zu demonstrieren.

Voraussetzungen

Um mitzumachen, solltest du Zugriff auf einen Ubuntu 16.04 Server haben. Sie benötigen einen Nicht-Root-Benutzer mit "+ sudo +" - Berechtigungen, der für administrative Aufgaben konfiguriert ist. Sie können unserer Ubuntu 16.04 Anleitung zur Ersteinrichtung des Servers folgen, um das erforderliche Konto zu erstellen.

Um sich mit LVM-Komponenten und -Konzepten vertraut zu machen und eine grundlegende LVM-Konfiguration zu testen, folgen Sie unseren https://www.digitalocean.com/community/tutorials/an-einführung-in-lvm-concepts-terminology-and-operations# [ Einführung in den LVM-Leitfaden], bevor Sie mit diesem Lernprogramm beginnen.

Wenn Sie fertig sind, melden Sie sich mit Ihrem Benutzer "+ sudo +" bei Ihrem Server an.

Anzeigen von Informationen zu physischen Datenträgern, Datenträgergruppen und logischen Datenträgern

Es ist wichtig, auf einfache Weise Informationen zu den verschiedenen LVM-Komponenten in Ihrem System zu erhalten. Glücklicherweise bietet die LVM-Tool-Suite eine Vielzahl von Tools zum Anzeigen von Informationen zu jeder Ebene im LVM-Stapel.

Anzeigen von Informationen zu allen LVM-kompatiblen Blockspeichergeräten

Verwenden Sie den Befehl + lvmdiskscan +, um alle verfügbaren Blockspeichergeräte anzuzeigen, die LVM möglicherweise verwalten kann:

sudo lvmdiskscan
Output  /dev/ram0  [      64.00 MiB]

 /dev/ram1  [      64.00 MiB]

 . . .

 /dev/ram15 [      64.00 MiB]


 17 partitions
 0 LVM physical volume whole disks
 0 LVM physical volumes

Wenn wir die + / dev / ram * + - Geräte (Teil der Linux-RAM-Festplattenimplementierung) ignorieren, sehen wir die Geräte, die möglicherweise als physische Datenträger für LVM verwendet werden können.

Dies ist wahrscheinlich der erste Schritt, wenn Sie neue Speichergeräte zur Verwendung mit LVM hinzufügen.

Anzeigen von Informationen zu physischen Volumes

Auf Speichergeräten wird ein Header geschrieben, um sie als frei zur Verwendung als LVM-Komponenten zu kennzeichnen. Geräte mit diesen Headern werden als * physische Volumes * bezeichnet.

Sie können alle physischen Geräte auf Ihrem System anzeigen, indem Sie "+ lvmdiskscan " mit der Option " -l +" verwenden, die nur physische Volumes zurückgibt:

sudo lvmdiskscan -l
Output  WARNING: only considering LVM devices
 /dev/sda                   [     200.00 GiB] LVM physical volume
 /dev/sdb                   [     100.00 GiB] LVM physical volume
 2 LVM physical volume whole disks
 0 LVM physical volumes

Der Befehl + pvscan + ist dem obigen ziemlich ähnlich, da er alle verfügbaren Geräte nach physischen LVM-Volumes durchsucht. Das Ausgabeformat ist etwas anders und enthält einige zusätzliche Informationen:

sudo pvscan
Output  PV /dev/sda   VG LVMVolGroup     lvm2 [200.00 GiB / 0    free]
 PV /dev/sdb   VG LVMVolGroup     lvm2 [100.00 GiB / 10.00 GiB free]
 Total: 2 [299.99 GiB] / in use: 2 [299.99 GiB] / in no VG: 0 [0   ]

Wenn Sie mehr Details benötigen, sind die Befehle "+ pvs " und " pvdisplay +" bessere Optionen.

Der Befehl + pvs + ist in hohem Maße konfigurierbar und kann Informationen in vielen verschiedenen Formaten anzeigen. Da die Ausgabe genau gesteuert werden kann, wird sie häufig verwendet, wenn Skripte oder Automatisierung erforderlich sind. Die Grundausgabe bietet eine nützliche Zusammenfassung auf einen Blick, die den früheren Befehlen ähnelt:

sudo pvs
Output  PV         VG          Fmt  Attr PSize   PFree
 /dev/sda   LVMVolGroup lvm2 a--  200.00g     0
 /dev/sdb   LVMVolGroup lvm2 a--  100.00g 10.00g

Für eine ausführlichere, für Menschen lesbare Ausgabe ist der Befehl + pvdisplay + normalerweise eine bessere Option:

sudo pvdisplay
Output  --- Physical volume ---
 PV Name               /dev/sda
 VG Name               LVMVolGroup
 PV Size               200.00 GiB / not usable 4.00 MiB
 Allocatable           yes (but full)
 PE Size               4.00 MiB
 Total PE              51199
 Free PE               0
 Allocated PE          51199
 PV UUID               kRUOyU-0ib4-ujPh-kAJP-eeQv-ztRL-4EkaDQ

 --- Physical volume ---
 PV Name               /dev/sdb
 VG Name               LVMVolGroup
 PV Size               100.00 GiB / not usable 4.00 MiB
 Allocatable           yes
 PE Size               4.00 MiB
 Total PE              25599
 Free PE               2560
 Allocated PE          23039
 PV UUID               udcuRJ-jCDC-26nD-ro9u-QQNd-D6VL-GEIlD7

Wie Sie sehen, ist der Befehl "+ pvdisplay +" häufig der einfachste Befehl, um detaillierte Informationen zu physischen Volumes abzurufen.

Übergeben Sie die Option "+ -m " an " pvdisplay +", um die logischen Speicherbereiche zu ermitteln, die den einzelnen Volumes zugeordnet wurden:

sudo pvdisplay -m
Output  --- Physical volume ---
 PV Name               /dev/sda
 VG Name               LVMVolGroup
 PV Size               200.00 GiB / not usable 4.00 MiB
 Allocatable           yes
 PE Size               4.00 MiB
 Total PE              51199
 Free PE               38395
 Allocated PE          12804
 PV UUID               kRUOyU-0ib4-ujPh-kAJP-eeQv-ztRL-4EkaDQ

 --- Physical Segments ---
 Physical extent 0 to 0:
   Logical volume  /dev/LVMVolGroup/db_rmeta_0
   Logical extents 0 to 0
 Physical extent 1 to 5120:
   Logical volume  /dev/LVMVolGroup/db_rimage_0
   Logical extents 0 to 5119

  . . .

Dies kann sehr nützlich sein, wenn Sie zu Verwaltungszwecken ermitteln möchten, welche Daten auf welcher physischen Festplatte gespeichert sind.

Anzeigen von Informationen zu Volume-Gruppen

LVM verfügt auch über zahlreiche Tools zum Anzeigen von Informationen zu Datenträgergruppen.

Mit dem Befehl + vgscan + kann das System nach verfügbaren Datenträgergruppen durchsucht werden. Bei Bedarf wird auch die Cache-Datei neu erstellt. Es ist ein guter Befehl, wenn Sie eine Datenträgergruppe in ein neues System importieren:

sudo vgscan
Output  Reading all physical volumes.  This may take a while...
 Found volume group "LVMVolGroup" using metadata type lvm2

Der Befehl gibt nicht sehr viele Informationen aus, sollte jedoch in der Lage sein, alle verfügbaren Datenträgergruppen auf dem System zu finden. Um weitere Informationen anzuzeigen, stehen die Befehle "+ vgs " und " vgdisplay +" zur Verfügung.

Wie sein Gegenstück zum physischen Volumen ist der Befehl "+ vgs +" vielseitig und kann eine große Menge an Informationen in einer Vielzahl von Formaten anzeigen. Da die Ausgabe leicht manipuliert werden kann, wird sie häufig verwendet, wenn Skripte oder Automatisierung erforderlich sind. Einige hilfreiche Änderungen an der Ausgabe betreffen beispielsweise die Anzeige der physischen Geräte und des Pfads des logischen Datenträgers:

sudo vgs -o +devices,lv_path
Output  VG          #PV #LV #SN Attr   VSize   VFree  Devices        Path
 LVMVolGroup   2   4   0 wz--n- 299.99g 10.00g /dev/sda(0)    /dev/LVMVolGroup/projects
 LVMVolGroup   2   4   0 wz--n- 299.99g 10.00g /dev/sda(2560) /dev/LVMVolGroup/www
 LVMVolGroup   2   4   0 wz--n- 299.99g 10.00g /dev/sda(3840) /dev/LVMVolGroup/db
 LVMVolGroup   2   4   0 wz--n- 299.99g 10.00g /dev/sda(8960) /dev/LVMVolGroup/workspace
 LVMVolGroup   2   4   0 wz--n- 299.99g 10.00g /dev/sdb(0)    /dev/LVMVolGroup/workspace

Für eine ausführlichere, für Menschen lesbare Ausgabe ist der Befehl "+ vgdisplay " normalerweise die beste Wahl. Das Hinzufügen des Flags " -v +" liefert auch Informationen zu den physischen Volumes, auf denen die Volume-Gruppe aufgebaut ist, und zu den logischen Volumes, die mit der Volume-Gruppe erstellt wurden:

sudo vgdisplay -v
Output    Using volume group(s) on command line.
 --- Volume group ---
 VG Name               LVMVolGroup
 . . .

 --- Logical volume ---
 LV Path                /dev/LVMVolGroup/projects
 . . .

 --- Logical volume ---
 LV Path                /dev/LVMVolGroup/www
 . . .

 --- Logical volume ---
 LV Path                /dev/LVMVolGroup/db
 . . .

 --- Logical volume ---
 LV Path                /dev/LVMVolGroup/workspace
 . . .

 --- Physical volumes ---
 PV Name               /dev/sda
 . . .

 PV Name               /dev/sdb
 . . .

Der Befehl + vgdisplay + ist nützlich, da er Informationen zu vielen verschiedenen Elementen des LVM-Stacks zusammenfassen kann.

Anzeigen von Informationen zu logischen Datenträgern

Zum Anzeigen von Informationen zu logischen Volumes verfügt LVM über eine Reihe verwandter Tools.

Wie bei den anderen LVM-Komponenten scannt die Option + lvscan + das System und gibt minimale Informationen zu den gefundenen logischen Volumes aus:

sudo lvscan
Output  ACTIVE            '/dev/LVMVolGroup/projects' [10.00 GiB] inherit
 ACTIVE            '/dev/LVMVolGroup/www' [5.00 GiB] inherit
 ACTIVE            '/dev/LVMVolGroup/db' [20.00 GiB] inherit
 ACTIVE            '/dev/LVMVolGroup/workspace' [254.99 GiB] inherit

Um umfassendere Informationen zu erhalten, ist der Befehl + lvs + flexibel, leistungsfähig und in Skripten einfach zu verwenden:

sudo lvs
Output  LV        VG          Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
 db        LVMVolGroup -wi-ao----  20.00g
 projects  LVMVolGroup -wi-ao----  10.00g
 workspace LVMVolGroup -wi-ao---- 254.99g
 www       LVMVolGroup -wi-ao----   5.00g

Verwenden Sie die Option "+ - Segmente +", um die Anzahl der Streifen und den Typ des logischen Datenträgers zu ermitteln:

sudo lvs --segments
Output  LV           VG          Attr       #Str Type    SSize
 db           LVMVolGroup rwi-a-r---    2 raid1   20.00g
 mirrored_vol LVMVolGroup rwi-a-r---    3 raid1   10.00g
 test         LVMVolGroup rwi-a-r---    3 raid5   10.00g
 test2        LVMVolGroup -wi-a-----    2 striped 10.00g
 test3        LVMVolGroup rwi-a-r---    2 raid1   10.00g

Die am besten lesbare Ausgabe wird mit dem Befehl + lvdisplay + erzeugt.

Wenn das Flag "+ -m +" hinzugefügt wird, zeigt das Tool auch Informationen darüber an, wie das logische Volume aufgeteilt und verteilt wird:

sudo lvdisplay -m
Output  --- Logical volume ---
 LV Path                /dev/LVMVolGroup/projects
 LV Name                projects
 VG Name                LVMVolGroup
 LV UUID                IN4GZm-ePJU-zAAn-DRO3-1f2w-qSN8-ahisNK
 LV Write Access        read/write
 LV Creation host, time lvmtest, 2016-09-09 21:00:03 +0000
 LV Status              available
 # open                 1
 LV Size                10.00 GiB
 Current LE             2560
 Segments               1
 Allocation             inherit
 Read ahead sectors     auto
 - currently set to     256
 Block device           252:0

 --- Segments ---
 Logical extents 0 to 2559:
   Type        linear
   Physical volume /dev/sda
   Physical extents    0 to 2559


 . . .

Wie Sie an der Ausgabe unten sehen können, ist das logische Volume "+ / dev / LVMVolGroup / projects " in diesem Beispiel vollständig im physischen Volume " / dev / sda +" enthalten. Diese Informationen sind nützlich, wenn Sie das zugrunde liegende Gerät entfernen und die Daten an einen bestimmten Speicherort verschieben möchten.

Erstellen oder Erweitern von LVM-Komponenten

In diesem Abschnitt wird erläutert, wie Sie physische Volumes, Volume-Gruppen und logische Volumes erstellen und erweitern.

Erstellen physischer Volumes von Raw-Speichergeräten

Um Speichergeräte mit LVM verwenden zu können, müssen diese zuerst als physisches Volume gekennzeichnet werden. Dies gibt an, dass LVM das Gerät innerhalb einer Datenträgergruppe verwenden kann.

Verwenden Sie zuerst den Befehl + lvmdiskscan +, um alle Blockgeräte zu finden, die LVM sehen und verwenden kann:

sudo lvmdiskscan
Output  /dev/ram0  [      64.00 MiB]

 /dev/ram1  [      64.00 MiB]

 . . .

 /dev/ram15 [      64.00 MiB]


 17 partitions
 0 LVM physical volume whole disks
 0 LVM physical volumes

Wenn wir hier die + / dev / ram * + Geräte ignorieren, können wir die Geräte sehen, die geeignet sind, in physischen Volumes für LVM gedreht zu werden.

Um die Speichergeräte als physische LVM-Volumes zu kennzeichnen, verwenden Sie "+ pvcreate +". Sie können mehrere Geräte gleichzeitig übergeben:

sudo pvcreate /dev/ /dev/

Dies sollte einen LVM-Header auf allen Zielgeräten schreiben, um sie als physische LVM-Volumes zu kennzeichnen.

Erstellen einer neuen Datenträgergruppe aus physischen Datenträgern

Verwenden Sie den Befehl + vgcreate +, um eine neue Datenträgergruppe aus den physischen LVM-Datenträgern zu erstellen. Sie müssen einen Datenträgergruppennamen gefolgt von mindestens einem physischen LVM-Datenträger angeben:

sudo vgcreate  /dev/

In diesem Beispiel wird Ihre Datenträgergruppe mit einem einzelnen physischen Anfangsdatenträger erstellt. Sie können bei der Erstellung mehr als ein physisches Volume übergeben, wenn Sie möchten:

sudo vgcreate  /dev/ /dev/ /dev/

Normalerweise benötigen Sie nur eine Volume-Gruppe pro Server. Der gesamte von LVM verwaltete Speicher kann diesem Pool hinzugefügt werden, und dann können logische Volumes daraus zugewiesen werden.

Möglicherweise möchten Sie mehr als eine Volume-Gruppe haben, wenn Sie der Meinung sind, dass Sie unterschiedliche Extent-Größen für unterschiedliche Volumes verwenden müssen. Normalerweise müssen Sie die Ausdehnungsgröße nicht festlegen (die Standardgröße von 4 MB ist für die meisten Verwendungszwecke ausreichend). Falls erforderlich, können Sie dies jedoch bei der Erstellung der Datenträgergruppe tun, indem Sie die Option "+ -s +" übergeben:

suod vgcreate -s   /dev/

Dadurch wird eine neue Datenträgergruppe mit einer Größe von 8 MB erstellt.

Hinzufügen eines physischen Volumes zu einer vorhandenen Volume-Gruppe

Verwenden Sie den Befehl + vgextend +, um eine Datenträgergruppe durch Hinzufügen zusätzlicher physischer Datenträger zu erweitern. Dieser Befehl benötigt eine Datenträgergruppe, gefolgt von den hinzuzufügenden physischen Datenträgern. Sie können mehrere Geräte gleichzeitig übergeben, wenn Sie möchten:

sudo vgextend  /dev/

Das physische Volume wird der Volume-Gruppe hinzugefügt, wodurch die verfügbare Kapazität des Speicherpools erweitert wird.

Erstellen eines logischen Volumes durch Angabe der Größe

Verwenden Sie den Befehl + lvcreate +, um einen logischen Datenträger aus einem Datenträgergruppenspeicherpool zu erstellen. Geben Sie die Größe des logischen Datenträgers mit der Option "+ -L " an, geben Sie einen Namen mit der Option " -n +" an und übergeben Sie die Datenträgergruppe, von der der Speicherplatz zugewiesen werden soll.

Um beispielsweise ein logisches 10G-Volume mit dem Namen "+ test " aus der Volume-Gruppe " LVMVolGroup +" zu erstellen, geben Sie Folgendes ein:

sudo lvcreate -L 10G -n test LVMVolGroup

Sofern die Volume-Gruppe über genügend freien Speicherplatz für die Volume-Kapazität verfügt, wird das neue logische Volume erstellt.

Erstellen eines logischen Datenträgers aus dem gesamten verbleibenden freien Speicherplatz

Wenn Sie ein Volume mit dem verbleibenden freien Speicherplatz in einer Volume-Gruppe erstellen möchten, verwenden Sie den Befehl "+ vgcreate " mit der Option " -n ", um die Volume-Gruppe wie zuvor zu benennen und zu übergeben. Anstatt eine Größe einzugeben, verwenden Sie die Option " -l 100% FREE +", die die verbleibenden Speicherbereiche in der Datenträgergruppe verwendet, um den logischen Datenträger zu bilden:

sudo lvcreate -l 100%FREE -n test2 LVMVolGroup

Dies sollte den verbleibenden Speicherplatz auf dem logischen Datenträger belegen.

Erstellen logischer Volumes mit erweiterten Optionen

Mit einigen erweiterten Optionen können auch logische Volumes erstellt werden. Einige Optionen, die Sie in Betracht ziehen könnten, sind:

  • * –Type *: Gibt den Typ des logischen Volumes an, der bestimmt, wie das logische Volume zugeordnet wird. Einige der verfügbaren Typen sind nicht verfügbar, wenn nicht genügend zugrunde liegende physische Volumes vorhanden sind, um die ausgewählte Topographie korrekt zu erstellen. Einige der häufigsten Arten sind:

  • * linear *: Der Standardtyp. Die zugrunde liegenden physischen Geräte (falls mehr als eines verwendet wird) werden einfach nacheinander aneinander angehängt.

  • * gestreift *: Ähnlich wie bei RAID 0 teilt die gestreifte Topologie Daten in Blöcke auf und verteilt sie im Round-Robin-Verfahren auf die zugrunde liegenden physischen Volumes. Dies kann zu Leistungsverbesserungen führen, kann jedoch zu einer größeren Sicherheitsanfälligkeit für Daten führen. Dies erfordert die unten beschriebene Option "+ -i +" und mindestens zwei physische Volumes.

  • * raid1 *: Erstellt ein gespiegeltes RAID 1-Volume. Standardmäßig verfügt der Spiegel über zwei Kopien, weitere können jedoch mit der unten beschriebenen Option "+ -m +" angegeben werden. Benötigt mindestens zwei physische Volumes.

  • * raid5 *: Erstellt ein RAID 5-Volume. Benötigt mindestens drei physische Volumes.

  • * raid6 *: Erstellt ein RAID 6-Volume. Benötigt mindestens vier physische Volumes.

  • * -m *: Gibt die Anzahl der zusätzlichen Kopien von Daten an, die aufbewahrt werden sollen. Der Wert "1" gibt an, dass eine zusätzliche Kopie für insgesamt zwei Datensätze verwaltet wird.

  • * -i *: Gibt die Anzahl der Streifen an, die beibehalten werden sollen. Dies ist für den Typ "+ striped +" erforderlich und kann das Standardverhalten einiger anderer RAID-Optionen ändern.

  • * -s *: Gibt an, dass die Aktion einen Snapshot von einem vorhandenen logischen Datenträger anstelle eines neuen unabhängigen logischen Datenträgers erstellen soll.

Wir zeigen anhand einiger Beispiele, wie diese Optionen normalerweise verwendet werden.

Um ein Stripeset-Volume zu erstellen, müssen Sie mindestens zwei Stripes angeben. Diese Topologie- und Stripe-Anzahl erfordert mindestens zwei physische Volumes mit verfügbarer Kapazität:

sudo lvcreate --type striped -i  -L 10G -n

Verwenden Sie den Typ "+ raid1 ", um ein gespiegeltes Volume zu erstellen. Wenn Sie mehr als zwei Datensätze wünschen, verwenden Sie die Option " -m ". In diesem Beispiel werden mit " -m 2 +" insgesamt drei Datensätze erstellt (LVM zählt dies als einen Originaldatensatz mit zwei Spiegeln). Sie benötigen mindestens drei physische Volumes, um erfolgreich zu sein:

sudo lvcreate --type  -m  -L 20G -n

Um einen Snapshot eines Volumes zu erstellen, müssen Sie anstelle der Volume-Gruppe das ursprüngliche logische Volume für den Snapshot bereitstellen. Snapshots belegen anfangs nicht viel Speicherplatz, nehmen jedoch an Größe zu, wenn Änderungen am logischen Datenträger vorgenommen werden, den sie verfolgen. Die während dieses Vorgangs verwendete Größe ist die maximale Größe, die der Snapshot sein kann (Snapshots, die über diese Größe hinaus wachsen, sind fehlerhaft und können nicht verwendet werden; Snapshots, die sich ihrer Kapazität nähern, können jedoch erweitert werden):

sudo lvcreate -s -L 10G -n  /

Wie Sie sehen, gibt es eine Reihe von Optionen, die die Funktionsweise Ihrer logischen Volumes erheblich verändern können.

Größe eines logischen Datenträgers erhöhen

Einer der Hauptvorteile von LVM ist die Flexibilität, die es bei der Bereitstellung logischer Volumes bietet. Sie können die Anzahl oder Größe der Volumes schnell und einfach anpassen, ohne das System anhalten zu müssen.

Verwenden Sie den Befehl + lvresize +, um ein vorhandenes logisches Volume zu vergrößern. Verwenden Sie das Flag "+ -L ", um eine neue Größe festzulegen. Sie können auch relative Größen verwenden, indem Sie eine "" - Größe hinzufügen. In diesem Fall erhöht LVM das logische Volume um den angegebenen Betrag. Um die Größe des Dateisystems, das auch auf dem logischen Volume verwendet wird, automatisch zu ändern, geben Sie das Flag "+ - resizefs +" ein.

Um den Namen des zu erweiternden logischen Datenträgers korrekt anzugeben, müssen Sie der Datenträgergruppe einen Schrägstrich gefolgt von dem logischen Datenträger geben:

sudo lvresize -L  --resizefs /

In diesem Beispiel werden der logische Datenträger und das Dateisystem des logischen Datenträgers "+ test " in der Datenträgergruppe " LVMVolGroup +" um jeweils 5 G erhöht.

Wenn Sie die Dateisystemerweiterung manuell handhaben möchten, können Sie die Option "+ - resizefs +" entfernen und anschließend das native Erweiterungsdienstprogramm des Dateisystems verwenden. Für ein Ext4-Dateisystem können Sie beispielsweise Folgendes eingeben:

sudo lvresize -L  /
sudo resize2fs /dev//

Dies würde Sie mit dem gleichen Ergebnis belassen.

Entfernen oder Verkleinern von LVM-Komponenten

Da eine Reduzierung der Kapazität zu Datenverlusten führen kann, sind die Verfahren zum Verringern der verfügbaren Kapazität durch Verringern der Größe oder Entfernen von Komponenten in der Regel etwas aufwendiger.

Reduzieren der Größe eines logischen Datenträgers

Um ein logisches Volume zu verkleinern, sollten Sie zuerst * Ihre Daten sichern *. Da dies die verfügbare Kapazität verringert, können Fehler zu Datenverlust führen.

Wenn Sie bereit sind, überprüfen Sie, wie viel Speicherplatz derzeit verwendet wird:

df -h
OutputFilesystem                         Size  Used Avail Use% Mounted on
. . .
/dev/mapper/LVMVolGroup-test       4.8G  521M  4.1G  12% /mnt/test

In diesem Beispiel werden derzeit etwas mehr als 521 MB Speicherplatz verwendet. Verwenden Sie diese Option, um die Größe abzuschätzen, auf die Sie die Lautstärke verringern können.

Hängen Sie als Nächstes das Dateisystem aus. Im Gegensatz zu Erweiterungen sollte die Dateisystemverkleinerung im nicht gemounteten Zustand durchgeführt werden:

cd ~
sudo umount /dev//

Überprüfen Sie nach dem Abmelden das Dateisystem, um sicherzustellen, dass alles in Ordnung ist. Übergeben Sie den Dateisystemtyp mit der Option "+ -t ". Wir werden " -f +" verwenden, um zu überprüfen, ob das Dateisystem in Ordnung ist:

sudo fsck -t  -f /dev//

Nachdem Sie das Dateisystem überprüft haben, können Sie die Größe des Dateisystems mit den nativen Tools des Dateisystems verringern. Für Ext4-Dateisysteme wäre dies der Befehl + resize2fs +. Übergeben Sie die endgültige Größe für das Dateisystem:

sudo resize2fs -p /dev//

Wenn der Vorgang abgeschlossen ist, ändern Sie die Größe des logischen Datenträgers, indem Sie dieselbe Größe an den Befehl "+ lvresize " mit dem Flag " -L +" übergeben:

sudo lvresize -L  /

Sie werden über die Möglichkeit eines Datenverlusts gewarnt. Wenn Sie bereit sind, geben Sie * y * ein, um fortzufahren.

Nachdem das logische Volumen reduziert wurde, überprüfen Sie das Dateisystem erneut:

sudo fsck -t ext4 -f /dev//

Wenn alles korrekt funktioniert, können Sie das Dateisystem mit Ihrem üblichen Befehl mount erneut einbinden:

sudo mount /dev// /mnt/

Ihr logisches Volume sollte jetzt auf die entsprechende Größe reduziert werden.

Logisches Volume entfernen

Wenn Sie ein logisches Volume nicht mehr benötigen, können Sie es mit dem Befehl + lvremove + entfernen.

Hängen Sie zunächst das logische Volume aus, wenn es aktuell bereitgestellt ist:

cd ~
sudo umount /dev//

Entfernen Sie anschließend das logische Volume, indem Sie Folgendes eingeben:

sudo lvremove /

Sie werden aufgefordert, den Vorgang zu bestätigen. Wenn Sie sicher sind, dass Sie das logische Volume löschen möchten, geben Sie * y * ein.

Entfernen einer Volumengruppe

Verwenden Sie den Befehl + vgremove +, um eine gesamte Datenträgergruppe einschließlich aller darin enthaltenen logischen Datenträger zu entfernen.

Bevor Sie eine Datenträgergruppe entfernen, sollten Sie in der Regel die logischen Datenträger wie oben beschrieben entfernen. Zumindest müssen Sie sicherstellen, dass Sie alle logischen Datenträger, die die Datenträgergruppe enthält, aushängen:

sudo umount /dev//
sudo umount /dev//
sudo umount /dev//

Anschließend können Sie die gesamte Datenträgergruppe löschen, indem Sie den Namen der Datenträgergruppe an den Befehl + vgremove + übergeben:

sudo vgremove

Sie werden aufgefordert, das Entfernen der Datenträgergruppe zu bestätigen. Wenn noch logische Datenträger vorhanden sind, werden Sie vor dem Entfernen zur Bestätigung aufgefordert.

Entfernen eines physischen Volumes

Wenn Sie ein physisches Volume aus der LVM-Verwaltung entfernen möchten, hängt die Vorgehensweise davon ab, ob das Gerät derzeit von LVM verwendet wird.

Wenn das physische Volume verwendet wird, müssen Sie die physischen Speicherbereiche auf dem Gerät an einen anderen Ort verschieben. Dies setzt voraus, dass die Volume-Gruppe über genügend andere physische Volumes verfügt, um die physischen Extents verarbeiten zu können. Wenn Sie komplexere logische Datenträgertypen verwenden, müssen Sie möglicherweise über zusätzliche physische Datenträger verfügen, auch wenn Sie über ausreichend freien Speicherplatz verfügen, um die Topologie unterzubringen.

Wenn die Volume-Gruppe über genügend physische Volumes verfügt, um die physischen Extents zu verwalten, verschieben Sie sie von dem physischen Volume, das Sie entfernen möchten, indem Sie Folgendes eingeben:

sudo pvmove /dev/

Dieser Vorgang kann abhängig von der Größe des Volumes und der zu übertragenden Datenmenge eine Weile dauern.

Nachdem die Extents auf Peer-Volumes verschoben wurden, können Sie das physische Volume aus der Volume-Gruppe entfernen, indem Sie Folgendes eingeben:

sudo vgreduce  /dev/

Dadurch wird das leere physische Volume aus der Volume-Gruppe entfernt. Nachdem dies abgeschlossen ist, können Sie die physische Datenträgermarkierung vom Speichergerät entfernen, indem Sie Folgendes eingeben:

sudo pvremove /dev/

Sie sollten nun in der Lage sein, das entfernte Speichergerät für andere Zwecke zu verwenden oder es vollständig aus dem System zu entfernen.

Fazit

Inzwischen sollten Sie mit dem Verwalten von Speichergeräten unter Ubuntu 16.04 mit LVM vertraut sein. Sie sollten wissen, wie Sie Informationen über den Status vorhandener LVM-Komponenten erhalten, wie Sie mit LVM Ihr Speichersystem zusammenstellen und wie Sie Volumes an Ihre Anforderungen anpassen. Sie können diese Konzepte auch in einer sicheren Umgebung testen, um zu verstehen, wie sie zusammenpassen.