Website-Suche

LFCS: So verwalten und erstellen Sie LVM mit den Befehlen vgcreate, lvcreate und lvextend – Teil 11


Aufgrund der Änderungen der LFCS-Prüfungsanforderungen mit Wirkung zum Februar. 2. 2016 ergänzen wir die hier veröffentlichte LFCS-Reihe um die notwendigen Themen. Zur Vorbereitung auf diese Prüfung empfehlen wir Ihnen dringend, auch die LFCE-Reihe zu nutzen.

Eine der wichtigsten Entscheidungen bei der Installation eines Linux-Systems ist die Menge an Speicherplatz, der für Systemdateien, Home-Verzeichnisse und andere zugewiesen werden soll. Wenn Sie an dieser Stelle einen Fehler machen, kann das Erweitern einer Partition, auf der nicht mehr genügend Speicherplatz vorhanden ist, mühsam und etwas riskant sein.

Logical Volumes Management (auch bekannt als LVM), das bei der Installation der meisten (wenn nicht aller) Linux-Distributionen zum Standard geworden ist, bietet gegenüber der herkömmlichen Partitionierungsverwaltung zahlreiche Vorteile. Das vielleicht herausragendste Merkmal von LVM ist, dass es die Möglichkeit bietet, die Größe logischer Unterteilungen nach Belieben und ohne großen Aufwand zu ändern (verkleinern oder vergrößern).

Die Struktur des LVM besteht aus:

  1. Eine oder mehrere ganze Festplatten oder Partitionen werden als physische Volumes (PVs) konfiguriert.
  2. Eine Volume-Gruppe (VG) wird mit einem oder mehreren physischen Volumes erstellt. Sie können sich eine Volume-Gruppe als eine einzelne Speichereinheit vorstellen.
  3. Anschließend können mehrere logische Volumes in einer Volume-Gruppe erstellt werden. Jedes logische Volume entspricht in gewisser Weise einer herkömmlichen Partition – mit dem Vorteil, dass die Größe, wie bereits erwähnt, nach Belieben geändert werden kann.

In diesem Artikel verwenden wir drei Festplatten mit jeweils 8 GB (/dev/sdb, /dev/sdc und /dev /sdd), um drei physische Volumes zu erstellen. Sie können die PVs entweder direkt auf dem Gerät erstellen oder es zuerst partitionieren.

Obwohl wir uns für die erste Methode entschieden haben, stellen Sie sicher, dass Sie jede Partition als Typ 8e< konfigurieren, wenn Sie sich für die zweite Methode entscheiden (wie in Teil 4 – Erstellen von Partitionen und Dateisystemen unter Linux dieser Serie erläutert)..

Erstellen von physischen Volumes, Volume-Gruppen und logischen Volumes

Um physische Volumes zusätzlich zu /dev/sdb, /dev/sdc und /dev/sdd zu erstellen, gehen Sie wie folgt vor:

pvcreate /dev/sdb /dev/sdc /dev/sdd

Sie können die neu erstellten PVs auflisten mit:

pvs

und erhalten Sie detaillierte Informationen zu jedem PV mit:

pvdisplay /dev/sdX

(wobei X b, c oder d ist)

Wenn Sie /dev/sdX als Parameter weglassen, erhalten Sie Informationen über alle PVs.

Um eine Volume-Gruppe mit dem Namen vg00 mit /dev/sdb und /dev/sdc zu erstellen (wir speichern /dev/sdd für später, um die Möglichkeit zu veranschaulichen, bei Bedarf weitere Geräte hinzuzufügen, um die Speicherkapazität zu erweitern):

vgcreate vg00 /dev/sdb /dev/sdc

Wie bei physischen Datenträgern können Sie auch Informationen zu dieser Datenträgergruppe anzeigen, indem Sie Folgendes eingeben:

vgdisplay vg00

Da vg00 aus zwei 8-GB-Festplatten besteht, wird es als einzelnes 16-GB-Laufwerk angezeigt:

Wenn es darum geht, logische Volumes zu erstellen, muss die Raumverteilung sowohl aktuelle als auch zukünftige Bedürfnisse berücksichtigen. Es gilt als bewährte Praxis, jedes logische Volume entsprechend seiner beabsichtigten Verwendung zu benennen.

Erstellen wir beispielsweise zwei LVs mit den Namen vol_projects (10 GB) und vol_backups (verbleibender Speicherplatz), die wir später zum Speichern der Projektdokumentation verwenden können bzw. Systemsicherungen.

Die Option -n wird verwendet, um einen Namen für das LV anzugeben, während -L eine feste Größe festlegt und -l (Kleinbuchstabe L) eine feste Größe festlegt Wird verwendet, um einen Prozentsatz des verbleibenden Platzes im Container VG anzugeben.

lvcreate -n vol_projects -L 10G vg00
lvcreate -n vol_backups -l 100%FREE vg00

Wie bisher können Sie die Liste der LVs und grundlegende Informationen anzeigen mit:

lvs

und detaillierte Informationen mit

lvdisplay

Um Informationen zu einem einzelnen LV anzuzeigen, verwenden Sie lvdisplay mit den Parametern VG und LV wie folgt:

lvdisplay vg00/vol_projects

Im Bild oben können wir sehen, dass die LVs als Speichergeräte erstellt wurden (siehe Zeile LV Path). Bevor jedes logische Volume verwendet werden kann, müssen wir darauf ein Dateisystem erstellen.

Wir verwenden hier ext4 als Beispiel, da wir damit die Größe jedes LV sowohl vergrößern als auch verkleinern können (im Gegensatz zu xfs, das nur eine Vergrößerung der Größe zulässt):

mkfs.ext4 /dev/vg00/vol_projects
mkfs.ext4 /dev/vg00/vol_backups

Im nächsten Abschnitt erklären wir, wie Sie die Größe logischer Volumes ändern und bei Bedarf zusätzlichen physischen Speicherplatz hinzufügen können.

Ändern der Größe logischer Volumes und Erweitern von Volume-Gruppen

Stellen Sie sich nun das folgende Szenario vor. In vol_backups geht Ihnen langsam der Speicherplatz aus, während in vol_projects noch ausreichend Speicherplatz zur Verfügung steht. Aufgrund der Natur von LVM können wir die Größe des letzteren leicht reduzieren (z. B. 2,5 GB) und es dem ersteren zuweisen und gleichzeitig die Größe jedes Dateisystems ändern.

Glücklicherweise ist das so einfach wie:

lvreduce -L -2.5G -r /dev/vg00/vol_projects
lvextend -l +100%FREE -r /dev/vg00/vol_backups

Es ist wichtig, bei der Größenänderung eines logischen Volumes die Minuszeichen (-) oder Pluszeichen (+) einzufügen. Andernfalls legen Sie eine feste Größe für das LV fest, anstatt die Größe zu ändern.

Es kann vorkommen, dass Sie an einem Punkt ankommen, an dem die Größenänderung logischer Volumes Ihren Speicherbedarf nicht mehr decken kann und Sie ein zusätzliches Speichergerät kaufen müssen. Der Einfachheit halber benötigen Sie eine weitere Festplatte. Wir werden diese Situation simulieren, indem wir die verbleibende PV aus unserem anfänglichen Setup hinzufügen (/dev/sdd).

Um /dev/sdd zu vg00 hinzuzufügen, gehen Sie wie folgt vor

vgextend vg00 /dev/sdd

Wenn Sie vgdisplay vg00 vor und nach dem vorherigen Befehl ausführen, sehen Sie die Vergrößerung der VG:

vgdisplay vg00

Jetzt können Sie den neu hinzugefügten Platz nutzen, um die Größe der vorhandenen LVs entsprechend Ihren Anforderungen zu ändern oder bei Bedarf zusätzliche zu erstellen.

Mounten logischer Volumes beim Booten und bei Bedarf

Natürlich hätte es keinen Sinn, logische Volumes zu erstellen, wenn wir sie nicht tatsächlich nutzen würden! Um ein logisches Volume besser identifizieren zu können, müssen wir herausfinden, wie seine UUID (ein sich nicht änderndes Attribut, das ein formatiertes Speichergerät eindeutig identifiziert) lautet.

Verwenden Sie dazu blkid gefolgt vom Pfad zu jedem Gerät:

blkid /dev/vg00/vol_projects
blkid /dev/vg00/vol_backups

Erstellen Sie Mount-Punkte für jedes LV:

mkdir /home/projects
mkdir /home/backups

und fügen Sie die entsprechenden Einträge in /etc/fstab ein (achten Sie darauf, die zuvor erhaltenen UUIDs zu verwenden):

UUID=b85df913-580f-461c-844f-546d8cde4646 /home/projects	ext4 defaults 0 0
UUID=e1929239-5087-44b1-9396-53e09db6eb9e /home/backups ext4	defaults 0 0

Speichern Sie dann die Änderungen und mounten Sie die LVs:

mount -a
mount | grep home

Wenn es darum geht, die LVs tatsächlich zu verwenden, müssen Sie die richtigen ugo+rwx-Berechtigungen zuweisen, wie in Teil 8 – Verwalten von Benutzern und Gruppen unter Linux dieser Serie erläutert.

Zusammenfassung

In diesem Artikel haben wir Logical Volume Management vorgestellt, ein vielseitiges Tool zur Verwaltung von Speichergeräten, das Skalierbarkeit bietet. In Kombination mit RAID (was wir in Teil 6 – Erstellen und Verwalten von RAID unter Linux dieser Serie) erklärt haben, können Sie nicht nur Skalierbarkeit (bereitgestellt durch LVM), sondern auch Redundanz (durch RAID geboten) genießen.

Bei dieser Art von Setup finden Sie normalerweise LVM über RAID, d. h., Sie konfigurieren zuerst RAID und dann LVM darüber.

Wenn Sie Fragen zu diesem Artikel oder Verbesserungsvorschläge haben, können Sie uns gerne über das Kommentarformular unten erreichen.