Aufgrund der Änderungen in den Anforderungen der LFCS-Prüfung, die ab dem 2. Februar 2016 wirksam sind, fügen wir die erforderlichen Themen zur hier veröffentlichten LFCS-Serie hinzu. Um sich auf diese Prüfung vorzubereiten, wird dringend empfohlen, auch die LFCE-Serie zu nutzen.

Eine der wichtigsten Entscheidungen bei der Installation eines Linux-Systems ist die Menge des Speicherplatzes, der für Systemdateien, Benutzerverzeichnisse und andere Bereiche zugewiesen werden soll. Wenn Sie an dieser Stelle einen Fehler machen, kann das Wachsen einer Partition, die keinen freien Speicherplatz mehr hat, mühsam und auch etwas riskant sein.
Das Logical Volume Management (auch bekannt als LVM), das mittlerweile Standard für die Installation der meisten (wenn nicht aller) Linux-Distributionen geworden ist, bietet zahlreiche Vorteile gegenüber der herkömmlichen Partitionsverwaltung. Vielleicht das markanteste Merkmal von LVM ist, dass logische Bereiche nach Belieben vergrößert oder verkleinert werden können, ohne viel Aufwand.
Die Struktur des LVM besteht aus:
- Ein oder mehrere gesamte Festplatten oder Partitionen sind als physische Volumes (PVs) konfiguriert.
- A volume group (VG) is created using one or more physical volumes. You can think of a volume group as a single storage unit.
- In einer Volume Group können dann mehrere logische Volumes erstellt werden. Jedes logische Volume entspricht in etwa einer herkömmlichen Partition, mit dem Vorteil, dass es wie bereits erwähnt nach Belieben vergrößert werden kann.
In diesem Artikel werden wir drei Festplatten mit je 8 GB verwenden, um drei physische Volumes zu erstellen (/dev/sdb, /dev/sdc und /dev/sdd). Manchmal kann man die PVs direkt auf dem Gerät erstellen, manchmal partitioniert man es zuerst.
Obwohl wir die erste Methode gewählt haben, sollten Sie sich bei der zweiten Methode (wie in Teil 4 – Erstellen von Partitionen und Dateisystemen in Linux dieser Reihe beschrieben) sicherstellen, dass jede Partition als Typ 8e
konfiguriert wird.
Erstellen von physischen Volumes, Volume Groups und logischen Volumes
Um physische Volumes auf /dev/sdb, /dev/sdc und /dev/sdd zu erstellen, führen Sie die folgenden Schritte aus:
# pvcreate /dev/sdb /dev/sdc /dev/sdd
Sie können die neu erstellten PVs mit:
# pvs
und erhalten detaillierte Informationen über jedes 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 ein Volume Group namens vg00
mit /dev/sdb
und /dev/sdc
zu erstellen (wir sparen /dev/sdd
für später, um die Möglichkeit zu illustrieren, andere Geräte zum Erweitern der Speicherkapazität bei Bedarf hinzuzufügen):
# vgcreate vg00 /dev/sdb /dev/sdc
Wie bei physischen Volumes können Sie auch Informationen über dieses Volume Group mit folgender Befehl erhalten:
# vgdisplay vg00
Da vg00
aus zwei 8 GB -Festplatten besteht, erscheint es als ein einziges 16 GB -Laufwerk:

Bei der Erstellung von logischen Volumes muss die Verteilung des Speicherplatzes sowohl aktuelle als auch zukünftige Bedürfnisse berücksichtigen. Es wird als bewährte Praxis angesehen, jedem logischen Volume einen Namen entsprechend seiner beabsichtigten Verwendung zu geben.
Zum Beispiel erstellen wir zwei LVs namens vol_projects
(10 GB) und vol_backups
(verbleibender Speicherplatz), die wir später für die Speicherung von Projektunterlagen bzw. Systemsicherungen verwenden können.
Die Option -n
wird verwendet, um einen Namen für das LV anzugeben, während -L
eine feste Größe festlegt und -l
(kleines L) verwendet wird, um einen Prozentsatz des verbleibenden Speicherplatzes in der 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 mit dem Befehl anzeigen:
# lvs
und detaillierte Informationen mit dem Befehl:
# lvdisplay
Um Informationen über ein einzelnes LV anzuzeigen, verwenden Sie lvdisplay mit der VG und dem LV als Parameter, wie folgt:
# lvdisplay vg00/vol_projects

Auf dem obigen Bild können wir sehen, dass die LVs als Speichergeräte erstellt wurden (siehe Zeile LV-Pfad). Bevor jedes logische Volume verwendet werden kann, müssen wir ein Dateisystem darauf erstellen.
Wir verwenden hier ext4 als Beispiel, da es uns ermöglicht, die Größe jedes LV zu vergrößern und zu verkleinern (im Gegensatz zu xfs, das nur die Größe erhöhen lässt):
# mkfs.ext4 /dev/vg00/vol_projects # mkfs.ext4 /dev/vg00/vol_backups
Im nächsten Abschnitt erläutern wir, wie man logische Volumes vergrößert und zusätzlichen physischen Speicherplatz hinzufügt, wenn dies erforderlich ist.
Vergrößern von logischen Volumes und Erweitern von Volume Groups
Stellen Sie sich nun das folgende Szenario vor. Ihnen geht der Platz in vol_backups
langsam aus, während Sie in vol_projects
noch reichlich Platz haben. Aufgrund der Art von LVM können wir die Größe des letzteren (sagen wir 2,5 GB) problemlos reduzieren und es dem ersteren zuweisen, während wir gleichzeitig das Dateisystem vergrößern.
Zum Glück ist das genauso einfach wie:
# lvreduce -L -2.5G -r /dev/vg00/vol_projects # lvextend -l +100%FREE -r /dev/vg00/vol_backups

Es ist wichtig, das Minuszeichen (-)
oder Pluszeichen (+)
beim Ändern der Größe eines logischen Volumes einzuschließen. Andernfalls legen Sie eine feste Größe für das LV fest, anstatt es zu ändern.
Es kann vorkommen, dass Sie an einen Punkt gelangen, an dem das Ändern der Größe von logischen Volumes Ihre Speicheranforderungen nicht mehr lösen 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 ursprünglichen Einrichtung (/dev/sdd
) hinzufügen.
Um /dev/sdd
zu vg00
hinzuzufügen, führen Sie folgenden Befehl aus:
# vgextend vg00 /dev/sdd
Wenn Sie den Befehl vgdisplay vg00
vor und nach dem vorherigen Befehl ausführen, sehen Sie die Zunahme der Größe der VG:
# vgdisplay vg00

Jetzt können Sie den neu hinzugefügten Speicherplatz verwenden, um die vorhandenen LVs nach Ihren Bedürfnissen zu vergrößern oder bei Bedarf zusätzliche LVs zu erstellen.
Einbinden von logischen Volumes beim Start und bei Bedarf
Natürlich macht es keinen Sinn, logische Volumes zu erstellen, wenn wir sie nicht tatsächlich verwenden werden! Um ein logisches Volume besser zu identifizieren, müssen wir seine UUID
(ein nicht veränderliches Attribut, das ein formatiertes Speichergerät eindeutig identifiziert) herausfinden.
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 Mount-Points für jede 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
Dann speichern Sie die Änderungen und mounten die LVs:
# mount -a # mount | grep home

Wenn es darum geht, die LVs tatsächlich zu verwenden, müssen Sie die entsprechenden ugo+rwx
Berechtigungen zuweisen, wie in Teil 8 – Benutzer und Gruppen verwalten in Linux dieser Serie erklärt.
Zusammenfassung
In diesem Artikel haben wir das Logical Volume Management vorgestellt, ein vielseitiges Werkzeug zur Verwaltung von Speichergeräten, das Skalierbarkeit bietet. In Kombination mit RAID (das wir in Teil 6 – RAID in Linux erstellen und verwalten dieser Serie erklärt haben) können Sie nicht nur Skalierbarkeit (bereitgestellt von LVM) genießen, sondern auch Redundanz (die von RAID angeboten wird).
In dieser Art von Setup finden Sie typischerweise LVM über RAID, das heißt, konfigurieren Sie zuerst RAID und dann konfigurieren Sie LVM darauf.
Wenn Sie Fragen zu diesem Artikel haben oder Vorschläge zur Verbesserung, zögern Sie nicht, uns über das Kommentarformular unten zu erreichen.
Source:
https://www.tecmint.com/manage-and-create-lvm-parition-using-vgcreate-lvcreate-and-lvextend/