Website-Suche

LFCS: Verwalten und Erstellen von LVM mit den Befehlen vgcreate, lvcreate und lvextend - Teil 11


Aufgrund der Änderungen in den LFCS-Prüfungsanforderungen, die am 2. Februar 2016 in Kraft treten, fügen wir die hier veröffentlichten LFCS-Serien um die notwendigen Themen hinzu. Zur Vorbereitung auf diese Prüfung wird Ihnen dringend empfohlen, auch die LFCE-Serie zu verwenden.

Eine der wichtigsten Entscheidungen bei der Installation eines Linux-Systems ist die Menge an Speicherplatz, die für Systemdateien, Home-Verzeichnisse und andere zugewiesen werden soll. Wenn Sie an dieser Stelle einen Fehler machen, kann das Vergrößern einer Partition, bei der der Speicherplatz knapp geworden ist, mühsam und etwas riskant sein.

Logical Volumes Management (auch bekannt als LVM), das sich zum Standard für die Installation der meisten (wenn nicht aller) Linux-Distributionen entwickelt hat, hat zahlreiche Vorteile gegenüber der herkömmlichen Partitionierungsverwaltung. Das vielleicht herausragendste Merkmal von LVM ist, dass logische Unterteilungen ohne großen Aufwand nach Belieben verkleinert (verkleinert oder vergrößert) werden können.

Der Aufbau des LVM besteht aus:

  1. Eine oder mehrere ganze Festplatten oder Partitionen werden als physische Volumes (PVs) konfiguriert.
  2. Eine Datenträgergruppe (VG) wird mit einem oder mehreren physischen Datenträgern erstellt. Sie können sich eine Volume-Gruppe als eine einzelne Speichereinheit vorstellen.
  3. In einer Datenträgergruppe können dann mehrere logische Datenträger erstellt werden. Jedes logische Volume entspricht in gewisser Weise einer herkömmlichen Partition – mit dem Vorteil, dass es, wie bereits erwähnt, nach Belieben in der Größe 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 in Linux in dieser Serie erklärt).

Erstellen von physischen Volumes, Volume-Gruppen und logischen Volumes

Um physische Datenträger auf /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.

So erstellen Sie eine Datenträgergruppe mit dem Namen vg00 unter Verwendung von /dev/sdb und /dev/sdc (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 ausgeben:

# 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 Anforderungen berücksichtigen. Es gilt als bewährte Praxis, jedes logische Volume entsprechend seinem Verwendungszweck zu benennen.

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

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

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

Wie zuvor können Sie die Liste der LVs und grundlegende Informationen wie folgt anzeigen:

# lvs

und detaillierte Informationen mit

# lvdisplay

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

# lvdisplay vg00/vol_projects

In der obigen Abbildung 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 ein Dateisystem darauf aufbauen.

Wir werden hier ext4 als Beispiel verwenden, da es uns ermöglicht, die Größe jedes LV sowohl zu vergrößern als auch zu verkleinern (im Gegensatz zu xfs, das nur erlaubt, die Größe zu erhöhen):

# 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 Datenträger und Erweitern von Datenträgergruppen

Stellen Sie sich nun folgendes Szenario vor. In vol_backups geht Ihnen langsam der Platz aus, während Sie in vol_projects viel Platz zur Verfügung haben. Aufgrund der Natur von LVM können wir die Größe des letzteren (z. B. 2,5 GB) leicht reduzieren und für Ersteres zuweisen, während wir gleichzeitig die Größe jedes Dateisystems ändern.

Glücklicherweise ist das so einfach wie das Machen:

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

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

Es kann vorkommen, dass Sie an einen Punkt kommen, an dem die Größenänderung logischer Volumes Ihre Speicheranforderungen nicht mehr erfüllen kann und Sie ein zusätzliches Speichergerät kaufen müssen. Um es einfach zu halten, benötigen Sie eine weitere Festplatte. Wir werden diese Situation simulieren, indem wir das verbleibende PV aus unserer Ersteinrichtung (/dev/sdd) hinzufügen.

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, wird die Größe der VG vergrößert:

# vgdisplay vg00

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

Bereitstellen logischer Datenträger beim Booten und bei Bedarf

Natürlich macht es keinen Sinn, logische Volumes zu erstellen, wenn wir sie nicht tatsächlich verwenden! Um ein logisches Volume besser identifizieren zu können, müssen wir herausfinden, was seine UUID (ein unveränderliches Attribut, das ein formatiertes Speichergerät eindeutig identifiziert) ist.

Um dies zu tun, verwenden Sie blkid, gefolgt vom Pfad zu jedem Gerät:

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

Erstellen Sie Bereitstellungspunkte für jedes LV:

# mkdir /home/projects
mkdir /home/backups

und fügen Sie die entsprechenden Einträge in /etc/fstab ein (stellen Sie sicher, dass Sie die zuvor erhaltenen UUIDs 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 in Linux dieser Serie beschrieben.

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 (das wir in Teil 6 – Erstellen und Verwalten von RAID unter Linux dieser Serie erläutert haben) können Sie nicht nur die Skalierbarkeit (von LVM bereitgestellt), sondern auch die Redundanz (von RAID angeboten) genießen.

Bei dieser Art von Setup finden Sie in der Regel LVM auf RAID, d. h. Sie konfigurieren zuerst RAID und dann LVM darauf.

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

Verwandte Artikel: