Erstellen und Erweitern von LVM Logical Volumes in RHEL

Red Hat Enterprise LinuxRed Hat Enterprise LinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie den grundlegenden Prozess der Erstellung und Verwaltung von LVM (Logical Volume Manager) Speicher auf einem Red Hat Enterprise Linux System. Sie beginnen mit der Vorbereitung einer physischen Festplatte, ihrer Partitionierung mit parted und ihrer Initialisierung als LVM Physical Volume (PV) mit pvcreate. Anschließend werden Sie dieses PV mit vgcreate in einem Volume Group (VG) zusammenfassen und dann mit lvcreate ein flexibles Logical Volume (LV) aus dieser Gruppe erstellen. Die anfängliche Einrichtung wird mit der Formatierung des neuen LV mit einem XFS-Dateisystem und der dauerhaften Einbindung für die Systemnutzung abgeschlossen.

Aufbauend auf der anfänglichen Konfiguration werden Sie dann einen der Hauptvorteile von LVM erkunden: die Fähigkeit, Speicher dynamisch zu vergrößern. Sie lernen, wie Sie eine bestehende Volume Group durch Hinzufügen eines neuen Physical Volume mit vgextend erweitern können. Anschließend erweitern Sie das Logical Volume, um diesen neuen Speicherplatz mit lvextend zu nutzen, und passen das XFS-Dateisystem online mit xfs_growfs an, um die zusätzliche Kapazität ohne Ausfallzeiten sofort für das Betriebssystem verfügbar zu machen.

Vorbereiten von Physical Volumes mit parted und pvcreate

In diesem Schritt beginnen Sie mit der Verwaltung von Speicher, indem Sie eine physische Festplatte für die Verwendung mit dem Logical Volume Manager (LVM) vorbereiten. Dies umfasst zwei Hauptphasen: Zuerst die Partitionierung der Festplatte mit dem Dienstprogramm parted und zweitens die Initialisierung dieser Partitionen als LVM Physical Volumes (PVs) mit dem Befehl pvcreate.

Logical Volume Manager (LVM) Übersicht

LVM ist ein leistungsstarkes Speichermanagement-Tool in Linux, das eine flexible Schicht über physischen Speichergeräten bereitstellt. Anstatt Festplatten und Partitionen direkt zu verwenden, ermöglicht LVM das Erstellen von abstrakten "Volume Groups" aus einem oder mehreren physischen Geräten und das anschließende Ausgliedern von "Logical Volumes" aus diesem gepoolten Speicherplatz. Dies erleichtert die Größenänderung von Speicher, den Austausch von Festplatten und die Verwaltung des Speichers Ihres Systems ohne Ausfallzeiten erheblich.

Die grundlegendste Komponente in LVM ist das Physical Volume (PV). Ein PV ist ein physisches Speichergerät, wie z. B. eine Festplattenpartition oder eine ganze Festplatte, das für die Verwendung durch LVM initialisiert wurde.

1. Erstellen einer Partition für LVM

Bevor eine Festplatte von LVM verwendet werden kann, müssen Sie eine Partition darauf erstellen und ihren Typ auf "LVM" setzen. Für diese Übung verwenden wir das Gerät /dev/vdb. Sie benötigen sudo-Rechte, um Festplattenpartitionen zu ändern.

Erstellen Sie zuerst eine neue GUID Partition Table (GPT) auf dem Gerät /dev/vdb. GPT ist ein moderner Standard für das Layout der Partitionstabelle auf einem physischen Speichergerät.

sudo parted /dev/vdb mklabel gpt

Erstellen Sie als Nächstes eine einzelne Partition mit einer Größe von 512 MiB. Wir nennen diese Partition lvm-part1.

sudo parted /dev/vdb mkpart lvm-part1 1MiB 513MiB

Setzen Sie nun den Partitionstyp auf lvm. Dieses Flag weist das System an, dass diese Partition für die Verwendung mit dem Logical Volume Manager vorgesehen ist.

sudo parted /dev/vdb set 1 lvm on

Um sicherzustellen, dass der Kernel die neue Partition sofort erkennt, führen Sie den Befehl udevadm settle aus. Dieser Befehl wartet, bis der udev-Daemon alle Geräteereignisse verarbeitet hat, um sicherzustellen, dass die neue Partition /dev/vdb1 verfügbar ist.

sudo udevadm settle

Überprüfen Sie abschließend, ob die Partition korrekt erstellt wurde, indem Sie die Partitionstabelle ausgeben.

sudo parted /dev/vdb print

Sie sollten eine Ausgabe ähnlich der folgenden sehen, die eine Partition mit dem aktivierten lvm-Flag zeigt.

Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 42.9GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End    Size   File system  Name       Flags
 1      1049kB  538MB  537MB               lvm-part1  lvm

2. Initialisieren der Partition als Physical Volume

Nachdem die Partition erstellt und korrekt typisiert wurde, besteht der nächste Schritt darin, sie mit dem Befehl pvcreate als LVM Physical Volume zu initialisieren. Dieser Befehl schreibt LVM-Metadaten auf die Partition und macht sie formell zu einem Teil des LVM-Systems.

Führen Sie den folgenden Befehl aus, um /dev/vdb1 zu initialisieren:

sudo pvcreate /dev/vdb1

Eine erfolgreiche Operation erzeugt die folgende Meldung:

  Physical volume "/dev/vdb1" successfully created.
  Creating devices file /etc/lvm/devices/system.devices

3. Anzeigen von Physical Volume Informationen

Sie können jetzt das neu erstellte Physical Volume untersuchen. Der Befehl pvs bietet eine kompakte Zusammenfassung aller PVs auf dem System, während pvdisplay eine detailliertere Ansicht bietet.

Verwenden Sie pvs, um eine kurze Zusammenfassung zu sehen:

sudo pvs

Die Ausgabe listet Ihr neues PV auf. Beachten Sie, dass es noch keiner Volume Group (VG) angehört.

  PV         VG Fmt  Attr PSize   PFree
  /dev/vdb1     lvm2 ---  512.00m 512.00m

Für weitere Details verwenden Sie pvdisplay:

sudo pvdisplay /dev/vdb1

Dieser Befehl zeigt detaillierte Informationen, einschließlich des PV-Namens, der Größe und des eindeutigen Bezeichners (UUID).

  "/dev/vdb1" is a new physical volume of "512.00 MiB"
  --- NEW Physical volume ---
  PV Name               /dev/vdb1
  VG Name
  PV Size               512.00 MiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Sie haben jetzt erfolgreich eine physische Partition für LVM vorbereitet. Im nächsten Schritt verwenden Sie dieses PV, um eine Volume Group zu erstellen.

Erstellen einer Volume Group aus Physical Volumes mit vgcreate

In diesem Schritt verwenden Sie das Physical Volume (PV), das Sie im vorherigen Schritt vorbereitet haben, um eine Volume Group (VG) zu erstellen. Eine Volume Group ist eine zentrale Komponente von LVM und fungiert als ein einzelner, verwaltbarer Pool an Festplattenspeicher, aus dem Sie Logical Volumes erstellen können.

Verständnis von Volume Groups und Physical Extents

Eine Volume Group (VG) aggregiert ein oder mehrere Physical Volumes zu einem einzigen Speicherpool. Stellen Sie sich das so vor, als würden Sie mehrere kleinere Wasserbehälter zu einem großen Tank kombinieren. Diese Abstraktion ist es, die LVM seine Flexibilität verleiht.

Dieser Speicherpool ist in kleine, fest definierte Blöcke unterteilt, die als Physical Extents (PEs) bezeichnet werden. Standardmäßig beträgt ein PE 4 MiB. Wenn Sie später ein Logical Volume erstellen, weisen Sie im Wesentlichen eine bestimmte Anzahl dieser PEs aus der Volume Group zu.

1. Erstellen der Volume Group

Nun erstellen Sie eine Volume Group namens my_vg unter Verwendung des Physical Volume /dev/vdb1. Der Befehl hierfür lautet vgcreate.

sudo vgcreate my_vg /dev/vdb1

Wenn der Befehl erfolgreich ist, sehen Sie eine Bestätigungsmeldung:

  Volume group "my_vg" successfully created

Dieser Befehl hat einen neuen Speicherpool namens my_vg erstellt, der den gesamten verfügbaren Speicherplatz von /dev/vdb1 enthält.

2. Anzeigen von Volume Group Informationen

Genau wie bei Physical Volumes können Sie Informationen über Ihre neue Volume Group anzeigen. Der Befehl vgs liefert eine Zusammenfassung, und vgdisplay bietet eine detaillierte Ansicht.

Um eine kompakte Zusammenfassung aller Volume Groups auf dem System zu erhalten, führen Sie aus:

sudo vgs

Die Ausgabe zeigt Ihre neue VG, ihre Größe und die Menge an freiem Speicherplatz.

  VG    #PV #LV #SN Attr   VSize   VFree
  my_vg   1   0   0 wz--n- 508.00m 508.00m

Für einen detaillierteren Bericht über Ihre spezifische Volume Group verwenden Sie vgdisplay:

sudo vgdisplay my_vg

Diese Ausgabe liefert umfassende Details, einschließlich der PE-Größe, der Gesamtanzahl der PEs und wie viele noch frei sind.

  --- Volume group ---
  VG Name               my_vg
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               508.00 MiB
  PE Size               4.00 MiB
  Total PE              127
  Alloc PE / Size       0 / 0
  Free  PE / Size       127 / 508.00 MiB
  VG UUID               xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Beachten Sie, dass die PE Size 4,00 MiB beträgt und Sie 127 Free PE haben, was dem gesamten verfügbaren Speicherplatz in der Volume Group entspricht. Sie haben jetzt erfolgreich eine Volume Group erstellt und sie ist bereit, Logical Volumes daraus zu erstellen.

Erstellen und Formatieren eines Logical Volume mit lvcreate und mkfs.xfs

In diesem Schritt erstellen Sie ein nutzbares Blockgerät, bekannt als Logical Volume (LV), aus der von Ihnen erstellten Volume Group. Sobald das LV erstellt wurde, ist es immer noch nur roher Speicherplatz. Um Dateien darauf zu speichern, müssen Sie es mit einem Dateisystem formatieren.

Verständnis von Logical Volumes und Dateisystemen

Ein Logical Volume (LV) ist das LVM-Äquivalent einer herkömmlichen Festplattenpartition. Es wird aus dem freien Speicherplatz innerhalb einer Volume Group erstellt und dem Betriebssystem als Standard-Blockgerät präsentiert. Sie können Dateisysteme auf LVs erstellen, sie einbinden und sie zum Speichern von Daten verwenden. Der Hauptvorteil besteht darin, dass LVs einfach in der Größe verändert werden können, was mit physischen Partitionen viel schwieriger ist.

Ein Dateisystem (Filesystem) ist eine Datenstruktur, die das Betriebssystem verwendet, um zu steuern, wie Daten gespeichert und abgerufen werden. Es organisiert den rohen Speicherplatz eines Geräts wie ein LV in Dateien und Verzeichnisse. Für dieses Lab verwenden wir XFS, ein hochleistungsfähiges, journalbasiertes Dateisystem, das der Standard für Red Hat Enterprise Linux ist.

1. Erstellen des Logical Volume

Sie erstellen jetzt ein 256 MiB Logical Volume namens my_lv aus der Volume Group my_vg. Der Befehl hierfür lautet lvcreate.

  • -n my_lv: Gibt den Namen für das neue LV an.
  • -L 256M: Legt die Größe des LV auf 256 Megabyte fest.
  • my_vg: Der Name der Volume Group, aus der das LV erstellt werden soll.

Führen Sie den folgenden Befehl aus:

sudo lvcreate -n my_lv -L 256M my_vg

Ein erfolgreicher Befehl erzeugt diese Ausgabe:

  Logical volume "my_lv" created.

2. Überprüfen der Erstellung des Logical Volume

Sie können Ihr neues LV mit den Befehlen lvs und lvdisplay untersuchen.

Um eine Zusammenfassung aller LVs anzuzeigen, führen Sie aus:

sudo lvs

Die Ausgabe zeigt Ihr neues LV, my_lv, innerhalb der Gruppe my_vg.

  LV    VG    Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  my_lv my_vg -wi-a----- 256.00m

Für eine detaillierte Ansicht können Sie den vollständigen Pfad des LV angeben. Der Pfad zu einem LV ist typischerweise /dev/VG_NAME/LV_NAME.

sudo lvdisplay /dev/my_vg/my_lv

Dies liefert detaillierte Informationen, einschließlich des LV-Pfads, den Sie für den nächsten Schritt benötigen.

  --- Logical volume ---
  LV Path                /dev/my_vg/my_lv
  LV Name                my_lv
  VG Name                my_vg
  LV UUID                xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
  LV Write Access        read/write
  LV Creation host, time host, 2023-10-27 10:30:00 +0000
  LV Status              available
  ## open                 0
  LV Size                256.00 MiB
  Current LE             64
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

3. Formatieren des Logical Volume mit einem XFS-Dateisystem

Nun formatieren Sie das Logical Volume my_lv mit dem XFS-Dateisystem mithilfe des Befehls mkfs.xfs. Dies bereitet das Volume für die Speicherung von Dateien vor.

sudo mkfs.xfs /dev/my_vg/my_lv

Der Befehl gibt Details über das Dateisystem aus, das er erstellt.

meta-data=/dev/my_vg/my_lv       isize=512    agcount=4, agsize=16384 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=65536, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

Ihr Logical Volume ist jetzt formatiert und bereit, eingebunden und verwendet zu werden. Dies tun Sie im nächsten Schritt.

Dauerhaftes Einbinden des Logical Volume mit /etc/fstab

In diesem Schritt machen Sie das von Ihnen erstellte und formatierte Logical Volume für das System zugänglich. Dies beinhaltet zwei Aktionen: das Erstellen eines Verzeichnisses, das als "Mount Point" dient, und dann die Konfiguration des Systems, um das Logical Volume bei jedem Start automatisch an dieses Verzeichnis anzuhängen.

Verständnis von Einbinden (Mounting) und /etc/fstab

Ein formatiertes Blockgerät, wie Ihr Logical Volume my_lv, ist erst direkt nutzbar, wenn es eingebunden (mounted) ist. Einbinden ist der Prozess des Anfügens eines Dateisystems an ein bestimmtes Verzeichnis im Hauptdateisystembaum. Nach dem Einbinden können Sie in dieses Verzeichnis navigieren, um Dateien auf dem Gerät zu lesen und zu schreiben.

Um sicherzustellen, dass das Dateisystem nach einem Neustart automatisch eingebunden wird, müssen Sie einen Eintrag dafür in der Datei /etc/fstab (File System Table) hinzufügen. Diese Datei enthält eine Liste aller Festplatten und Partitionen, die das System beim Booten einbinden soll.

1. Erstellen eines Mount Points

Ein Mount Point ist einfach ein leeres Verzeichnis, das als Wurzel Ihres neuen Dateisystems dient. Wir erstellen zu diesem Zweck ein Verzeichnis namens /data.

sudo mkdir /data

2. Hinzufügen eines Eintrags zu /etc/fstab für dauerhaftes Einbinden

Nun müssen Sie dem System mitteilen, dass es Ihr LV automatisch im Verzeichnis /data einbinden soll. Sie fügen eine neue Zeile zur Datei /etc/fstab hinzu. Jede Zeile in dieser Datei hat sechs Felder:

  1. Gerät (Device): Das Gerät, das eingebunden werden soll. In unserem Fall /dev/my_vg/my_lv.
  2. Mount Point: Das Verzeichnis, in das es eingebunden werden soll. Hier ist es /data.
  3. Dateisystemtyp (Filesystem Type): Der Typ des Dateisystems, also xfs.
  4. Einbindeoptionen (Mount Options): Optionen für das Einbinden. defaults ist eine Standardmenge an Optionen, die für die meisten Fälle geeignet ist.
  5. Dump: Wird vom Dienstprogramm dump verwendet, um zu entscheiden, ob das Dateisystem gesichert werden soll. 0 bedeutet deaktivieren.
  6. Pass: Wird von fsck verwendet, um die Reihenfolge für die Überprüfung von Dateisystemen beim Booten zu bestimmen. 0 bedeutet, nicht zu prüfen.

Wir verwenden den Befehl echo in Kombination mit sudo tee -a, um die korrekte Zeile an /etc/fstab anzuhängen, ohne einen Texteditor zu benötigen.

echo '/dev/my_vg/my_lv /data xfs defaults 0 0' | sudo tee -a /etc/fstab

Sie können überprüfen, ob die Zeile korrekt hinzugefügt wurde, indem Sie den Inhalt der Datei anzeigen:

cat /etc/fstab

3. Einbinden des Dateisystems

Da der Eintrag in /etc/fstab vorhanden ist, können Sie den Befehl mount verwenden, um es sofort einzubinden. Da der Mount Point /data in /etc/fstab aufgeführt ist, müssen Sie nur den Verzeichnisnamen angeben.

sudo mount /data

Das System liest /etc/fstab, findet den Eintrag für /data und bindet das entsprechende Gerät ein.

4. Überprüfen des Einbindens

Um zu bestätigen, dass das Dateisystem erfolgreich eingebunden wurde, können Sie den Befehl df (disk free) mit der Option -h (human-readable) verwenden.

df -h /data

Die Ausgabe sollte Ihr Logical Volume auf /data eingebunden anzeigen, mit seiner Gesamtgröße und dem verfügbaren Speicherplatz.

Filesystem                  Size  Used Avail Use% Mounted on
/dev/mapper/my_vg-my_lv     251M   28M  224M  11% /data

Sie können auch eine Testdatei erstellen, um sicherzustellen, dass Sie Schreibzugriff haben:

echo "My LVM is working!" | sudo tee /data/test.txt

Lesen Sie dann die Datei zurück, um zu bestätigen, dass sie geschrieben wurde:

cat /data/test.txt
My LVM is working!

Ihr Logical Volume ist jetzt eingebunden und steht automatisch bei jedem Systemstart zur Verfügung.

Erweitern der Volume Group und des Logical Volume mit vgextend und lvextend

In diesem Schritt erleben Sie eine der leistungsstärksten Funktionen von LVM: die Möglichkeit, die Größe Ihres Speichers dynamisch zu erhöhen. Sie fügen Ihrer bestehenden Volume Group eine neue physische Festplattenpartition hinzu, um ihre Gesamtkapazität zu erweitern, und erweitern dann Ihr Logical Volume, um einen Teil dieses neuen Speicherplatzes zu nutzen.

Verständnis der Speichererweiterung

Ein Hauptgrund für die Verwendung von LVM ist seine Flexibilität. Wenn Ihnen der Speicherplatz ausgeht, müssen Sie keine komplexe Datenmigration durchführen. Stattdessen können Sie einfach eine weitere physische Festplatte (oder Partition) zur Volume Group hinzufügen und dann Ihre Logical Volumes nach Bedarf vergrößern. Dies kann alles online erfolgen, ohne das Dateisystem auszuhängen.

  • vgextend: Dieser Befehl fügt eine oder mehrere Physical Volumes zu einer bestehenden Volume Group hinzu und erhöht deren Gesamtgröße.
  • lvextend: Dieser Befehl erhöht die Größe eines Logical Volume und bezieht Speicherplatz aus den freien Extents innerhalb seiner Volume Group.

1. Vorbereiten eines neuen Physical Volume

Um die Volume Group zu erweitern, benötigen Sie zuerst ein neues Physical Volume. Wir erstellen eine zweite Partition auf dem Gerät /dev/vdb, genau wie im ersten Schritt.

Erstellen Sie zuerst eine neue 512 MiB Partition. Wir platzieren sie direkt nach der ersten.

sudo parted /dev/vdb mkpart lvm-part2 513MiB 1025MiB

Als Nächstes setzen Sie den Partitionstyp auf lvm.

sudo parted /dev/vdb set 2 lvm on

Stellen Sie sicher, dass der Kernel die neue Partition /dev/vdb2 erkennt.

sudo udevadm settle

Schließlich initialisieren Sie diese neue Partition als Physical Volume.

sudo pvcreate /dev/vdb2

Sie sollten die Erfolgsmeldung sehen:

  Physical volume "/dev/vdb2" successfully created.

2. Erweitern der Volume Group

Fügen Sie nun das neue Physical Volume (/dev/vdb2) mit dem Befehl vgextend zu Ihrer bestehenden Volume Group (my_vg) hinzu.

sudo vgextend my_vg /dev/vdb2

Die Bestätigungsmeldung zeigt den Erfolg an:

  Volume group "my_vg" successfully extended

Sie können die Änderung mit dem Befehl vgs überprüfen. Beachten Sie, dass sich VSize und VFree erheblich erhöht haben.

sudo vgs my_vg
  VG    #PV #LV #SN Attr   VSize    VFree
  my_vg   2   1   0 wz--n- 1022.00m 766.00m

Die Volume Group my_vg erstreckt sich jetzt über zwei physische Partitionen und verfügt über mehr freien Speicherplatz.

3. Erweitern des Logical Volume

Mit mehr verfügbarem Speicherplatz in der Volume Group können Sie jetzt Ihr Logical Volume erweitern. Erhöhen wir die Größe von my_lv von 256 MiB auf eine neue Gesamtgröße von 400 MiB.

Der Befehl lvextend mit der Option -L legt die neue absolute Größe des Volumes fest.

sudo lvextend -L 400M /dev/my_vg/my_lv

Die Ausgabe bestätigt die Größenänderungsoperation.

  Size of logical volume my_vg/my_lv changed from 256.00 MiB (64 extents) to 400.00 MiB (100 extents).
  Logical volume my_vg/my_lv successfully resized.

Überprüfen Sie die neue Größe des Logical Volume mit lvs:

sudo lvs /dev/my_vg/my_lv
  LV    VG    Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  my_lv my_vg -wi-ao---- 400.00m

Wichtig: Sie haben das Logical Volume (das Blockgerät) erfolgreich erweitert, aber das XFS-Dateisystem, das darauf lebt, ist sich dieses neuen Speicherplatzes noch nicht bewusst. Wenn Sie die Größe des eingebundenen Dateisystems überprüfen, meldet es immer noch die alte Größe.

df -h /data
Filesystem                  Size  Used Avail Use% Mounted on
/dev/mapper/my_vg-my_lv     251M   28M  224M  11% /data

Im nächsten Schritt passen Sie die Größe des Dateisystems an, um den neu verfügbaren Speicherplatz im Logical Volume zu nutzen.

Ändern der Größe des XFS-Dateisystems mit xfs_growfs

In diesem letzten Schritt schließen Sie den Speichererweiterungsprozess ab, indem Sie die Größe des XFS-Dateisystems ändern, um es über den zusätzlichen Speicherplatz zu informieren, den Sie seinem zugrunde liegenden Logical Volume zugewiesen haben. Dies ist der entscheidende letzte Schritt, der den neuen Speicherplatz für die Speicherung von Dateien nutzbar macht.

Verständnis der Größenänderung des Dateisystems

Wenn Sie ein Logical Volume erweitern, erhöhen Sie nur die Größe des Containers (des Blockgeräts). Das Dateisystem innerhalb dieses Containers behält seine ursprüngliche Größe bei und ist sich des neuen, ungenutzten Speicherplatzes am Ende des Geräts nicht bewusst.

Für ein XFS-Dateisystem wird der Befehl xfs_growfs verwendet, um das Dateisystem zu erweitern und das zugrunde liegende Gerät zu füllen. Ein großer Vorteil von XFS ist, dass dieser Vorgang online durchgeführt werden kann, während das Dateisystem eingebunden und in Gebrauch ist, ohne dass Ausfallzeiten erforderlich sind.

1. Erweitern des XFS-Dateisystems

Der Befehl xfs_growfs verwendet den Mount Point des Dateisystems als Argument. In Ihrem Fall ist der Mount Point /data.

Führen Sie den folgenden Befehl aus, um das Dateisystem zu erweitern:

sudo xfs_growfs /data

Der Befehl gibt Informationen über die Änderung aus, die die alte und die neue Anzahl der Datenblöcke angibt.

meta-data=/dev/mapper/my_vg-my_lv isize=512    agcount=4, agsize=16384 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1
data     =                       bsize=4096   blocks=65536, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 65536 to 102400

Die Schlüsselzeile ist data blocks changed from 65536 to 102400, was bestätigt, dass das Dateisystem gewachsen ist.

2. Überprüfen der neuen Dateisystemgröße

Führen Sie nun den Befehl df -h erneut aus, um zu überprüfen, ob die Dateisystemgröße die Änderung widerspiegelt.

df -h /data

Die Ausgabe sollte nun die neue, größere Größe anzeigen, die ungefähr 400 MiB beträgt.

Filesystem                  Size  Used Avail Use% Mounted on
/dev/mapper/my_vg-my_lv     395M   29M  367M   8% /data

Sie können auch überprüfen, ob die zuvor erstellte Testdatei noch intakt ist:

cat /data/test.txt
My LVM is working!

Herzlichen Glückwunsch! Sie haben den gesamten LVM-Workflow erfolgreich abgeschlossen: von der Partitionierung einer physischen Festplatte und dem Erstellen von Physical Volumes über das Erstellen einer Volume Group, das Erstellen eines Logical Volume, das Formatieren und Einbinden und schließlich das dynamische Erweitern online ohne Datenverlust.

Zusammenfassung

In diesem Lab haben Sie den grundlegenden Workflow für die Einrichtung von Speicher mit dem Logical Volume Manager (LVM) in RHEL gelernt. Sie begannen mit der Vorbereitung einer physischen Festplatte, indem Sie parted verwendeten, um eine Partition mit dem Flag lvm zu erstellen, und diese dann mit pvcreate als Physical Volume (PV) initialisierten. Anschließend haben Sie die PV mit vgcreate in einer neuen Volume Group (VG) zusammengefasst. Aus dieser VG haben Sie mit lvcreate ein Logical Volume (LV) erstellt, es mit einem XFS-Dateisystem mit mkfs.xfs formatiert und es für die dauerhafte Einbindung konfiguriert, indem Sie einen Eintrag zu /etc/fstab hinzugefügt haben.

Das Lab demonstrierte auch die Flexibilität von LVM, indem es Sie durch den Prozess der Erweiterung eines bestehenden Logical Volume führte. Dies beinhaltete die Vorbereitung eines neuen Physical Volume, das Hinzufügen zur Volume Group mit vgextend, um den insgesamt verfügbaren Speicherplatz zu erhöhen, und dann die Erweiterung des Logical Volume selbst mit lvextend. Schließlich haben Sie die Größe des XFS-Dateisystems online mit xfs_growfs geändert, um den zusätzlichen Speicherplatz für das Betriebssystem nutzbar zu machen, wodurch der End-to-End-Prozess der dynamischen Speicherverwaltung abgeschlossen wurde.