Detaillierte Beispiele für Linux-Festplattengeräte- und LVM-Verwaltungsbefehle

Detaillierte Beispiele für Linux-Festplattengeräte- und LVM-Verwaltungsbefehle

Vorwort

Im Linux-Betriebssystem sind Gerätedateien ein spezieller Dateityp. Die meisten dieser Dateien befinden sich im Verzeichnis /dev und werden verwendet, um ein bestimmtes Hardwaregerät darzustellen, das vom Linux-Host erkannt wird.

Beispielsweise wird die Datei /dev/sda normalerweise verwendet, um auf die erste Festplatte im System zu verweisen.

Das Linux-Betriebssystem und seine Anwendungen und Dienste interagieren über diese Gerätedateien mit den entsprechenden Hardwaregeräten.

Bei gängigen Blockspeichergeräten wie Festplatten (ATA, SATA, SCSI, SAS, SSD usw.) und USB-Sticks werden die Gerätedateien hauptsächlich in der Form sd* benannt. Beispielsweise steht sda für die erste Festplatte, sdb2 für die zweite Partition der zweiten Festplatte und so weiter.

Daher können Sie den Befehl ls -l /dev/sd* direkt verwenden, um die Festplattengeräte im System anzuzeigen:

$ ls -l /dev/sd*
brw-rw---- 1 Root-Disk 8, 0 7. August 00:47 /dev/sda
brw-rw---- 1 Root-Disk 8, 1. August 7 00:47 /dev/sda1

Das heißt, es ist nur eine Festplatte mit dem aktuellen System verbunden (/dev/sda) und die Festplatte hat nur eine Partition (/dev/sda1).

2. Partition

Unter Partitionierung kann man das Aufteilen einer gesamten Festplatte in einen oder mehrere unabhängige Speicherbereiche verstehen.

Beispielsweise kann die erste Festplatte des Systems in drei Partitionen unterteilt werden, nämlich sda1, sda2 und sda3. sda1 wird zum Mounten des Stammverzeichnisses (/) verwendet, sda2 zum Mounten von /var und sda3 zum Mounten des /home-Verzeichnisses. Auch wenn die Protokolldateien im Verzeichnis /var den gesamten Speicherplatz von sda2 belegen, hat dies keine Auswirkungen auf die Nutzung der anderen beiden Partitionen.

Mit dem Befehl fdisk -l können Sie die Festplatten- und Partitionsinformationen im System anzeigen:

$ sudo fdisk -l
Datenträger /dev/sda: 10 GiB, 10737418240 Bytes, 20971520 Sektoren
Festplattenmodell: VBOX HARDDISK
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physisch): 512 Bytes / 512 Bytes
I/O-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Disklabel-Typ: dos
Datenträgerkennung: 0x20985120

Gerät Boot Start Ende Sektoren Größe ID Typ
/dev/sda1 2048 20964824 20962777 10G 83 Linux

Erstellen von Festplattenpartitionen

Mit dem Befehl fdisk können auch Partitionsvorgänge auf der Festplatte ausgeführt werden, darunter das Erstellen neuer Partitionen, das Löschen vorhandener Partitionen, das Erstellen von Partitionstabellen usw.

Hier verwende ich die VirtualBox-Software, um dem Linux-System in der virtuellen Maschine eine leere virtuelle Festplatte hinzuzufügen. Verwenden Sie den Befehl fdisk -l, um die vom System erkannten Festplattengeräte anzuzeigen:

$ sudo fdisk -l
Datenträger /dev/sda: 10 GiB, 10737418240 Bytes, 20971520 Sektoren
Festplattenmodell: VBOX HARDDISK
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physisch): 512 Bytes / 512 Bytes
I/O-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Disklabel-Typ: dos
Datenträgerkennung: 0x20985120

Gerät Boot Start Ende Sektoren Größe ID Typ
/dev/sda1 2048 20964824 20962777 10G 83 Linux


Datenträger /dev/sdb: 5 GiB, 5368709120 Bytes, 10485760 Sektoren
Festplattenmodell: VBOX HARDDISK
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physisch): 512 Bytes / 512 Bytes
I/O-Größe (minimal/optimal): 512 Bytes / 512 Bytes

Zu diesem Zeitpunkt gibt es im System eine neue Festplatte /dev/sdb, die keine Partitionen enthält.

Verwenden Sie den Befehl fdisk /dev/sdb, um die neue Festplatte zu partitionieren:

$ sudo fdisk /dev/sdb

Willkommen bei fdisk (util-linux 2.33.1).
Änderungen bleiben nur im Speicher, bis Sie sich entscheiden, sie zu schreiben.
Seien Sie vorsichtig, bevor Sie den Schreibbefehl verwenden.

Das Gerät enthält keine erkannte Partitionstabelle.
Ein neues DOS-Disklabel mit der Disk-ID 0xce119026 wurde erstellt.

Befehl (m für Hilfe): m

Helfen:

 DOS (MBR)
 ein Umschalten eines bootfähigen Flags
 b verschachteltes BSD-Disklabel bearbeiten
 c schaltet das DOS-Kompatibilitätsflag um

 Generisch
 d) Löschen einer Partition
 F Liste freier unpartitionierter Speicherplatz
 l Liste bekannter Partitionstypen
 n eine neue Partition hinzufügen
 p Drucken Sie die Partitionstabelle
 t einen Partitionstyp ändern
 v Überprüfen der Partitionstabelle
 ich drucke Informationen über eine Partition

 Sonstiges
 m dieses Menü drucken
 u Anzeige-/Eingabeeinheiten ändern
 x Zusatzfunktionalität (nur für Experten)

 Skript
 Ich lade das Festplattenlayout aus einer SFDisk-Skriptdatei
 O Disk-Layout in SFDisk-Skriptdatei kopieren

 Speichern und beenden
 w Tabelle auf Festplatte schreiben und beenden
 q Beenden ohne Änderungen zu speichern

 Neues Etikett erstellen
 g Erstellen Sie eine neue leere GPT-Partitionstabelle
 G Erstellen Sie eine neue leere SGI (IRIX)-Partitionstabelle
 o Erstellen Sie eine neue leere DOS-Partitionstabelle
 s Erstellen Sie eine neue leere Sun-Partitionstabelle

Nachdem Sie die Programmschnittstelle von fdisk aufgerufen haben, drücken Sie die Taste „m“ und dann die Eingabetaste, um Hilfeinformationen auszudrucken und die in dieser Schnittstelle unterstützten interaktiven Befehle abzurufen.

Geben Sie beispielsweise p ein, um die Partitionsinformationen der aktuellen Festplatte auszugeben, geben Sie n ein, um eine neue Partition zu erstellen, und geben Sie d ein, um eine vorhandene Partition zu löschen.

Nach jedem Vorgang auf der Partition müssen Sie w verwenden, um alle vorherigen Änderungen auf die Festplatte zu schreiben.

Drücken Sie hier n, um mit der Erstellung einer neuen Partition zu beginnen. Wählen Sie den Partitionstyp wie angegeben aus (p steht für primäre Partition, e für erweiterte Partition), wählen Sie dann die Partitionsnummer und den Speicherort des ersten Sektors aus (normalerweise reicht die Standardeinstellung aus) und geben Sie schließlich den Speicherort des letzten Sektors in der neuen Partition ein (Sie können die Partitionsgröße auch direkt angeben) im Format +/-Sektoren oder +/-Größe. Wenn Sie +3G eingeben, bedeutet dies, dass eine neue Partition mit einer Größe von 3 GB erstellt werden soll. Die einzelnen Schritte sind wie folgt:

Befehl (m für Hilfe): n
Partitionstyp
 p primär (0 primär, 0 erweitert, 4 frei)
 e extended (Container für logische Partitionen)
Auswählen (Standard p): p
Partitionsnummer (1-4, Standard 1):
Erster Sektor (2048-10485759, Standard 2048):
Letzter Sektor, +/-Sektoren oder +/-Größe{K,M,G,T,P} (2048-10485759, Standard 10485759): +3G

Eine neue Partition 1 vom Typ „Linux“ und mit einer Größe von 3 GiB wurde erstellt.

Befehl (m für Hilfe): n
Partitionstyp
 p primär (1 primär, 0 erweitert, 3 frei)
 e extended (Container für logische Partitionen)
Auswählen (Standard p): p
Partitionsnummer (2-4, Standard 2):
Erster Sektor (6293504-10485759, Standard 6293504):
Letzter Sektor, +/-Sektoren oder +/-Größe{K,M,G,T,P} (6293504-10485759, Standard 10485759):

Eine neue Partition 2 vom Typ „Linux“ und mit einer Größe von 2 GiB wurde erstellt.

Verwenden Sie dieselben Schritte, um den verbleibenden Speicherplatz der Festplatte in eine andere Partition aufzuteilen. Überprüfen Sie jetzt die Partitionsinformationen. Die ursprünglich leere 5 GB große neue Festplatte sdb wurde in zwei Partitionen sdb1 und sdb2 aufgeteilt:

Befehl (m für Hilfe): p
Datenträger /dev/sdb: 5 GiB, 5368709120 Bytes, 10485760 Sektoren
Festplattenmodell: VBOX HARDDISK
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physisch): 512 Bytes / 512 Bytes
I/O-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Disklabel-Typ: dos
Datenträgerkennung: 0xce119026

Gerät Boot Start Ende Sektoren Größe ID Typ
/dev/sdb1 2048 6293503 6291456 3G 83 Linux
/dev/sdb2 6293504 10485759 4192256 2G 83 Linux

Es ist zu beachten, dass alle vorherigen Vorgänge nicht gespeichert werden, wenn Sie zu diesem Zeitpunkt die Taste q drücken, um das Programm fdisk direkt zu beenden.

Wenn Sie sicher sind, dass beim vorherigen Vorgang auf der Festplatte kein Problem vorliegt, sollten Sie die neuen Partitionsinformationen mit dem Befehl w auf die Festplatte schreiben. Ähnlich wie Speichern und Beenden beim Bearbeiten einer Datei.

3. Dateisystem

Ein Speichergerät wie eine Festplatte kann als kleine Bibliothek betrachtet werden. Die darauf gespeicherten Bücher sind die Daten auf der Festplatte, und die Funktion der Partition ähnelt der eines Bücherregals, in dem Bücher in verschiedenen Kategorien gespeichert sind und relativ unabhängige Bereiche bilden.

Allerdings werden die Bücher im Bücherregal nicht zufällig platziert. Jedes Buch muss regelmäßig nach bestimmten Regeln und in einer bestimmten Reihenfolge platziert werden, und manchmal muss der spezifische Ort der Platzierung aufgezeichnet werden. Die Anordnungsregeln dieser Bücher entsprechen dem Dateisystem auf der Partition.

Ein Dateisystem ist ein System, das Speicherplatz auf Speichergeräten organisiert und zuweist, für den Dateizugriff verantwortlich ist und gespeicherte Dateien schützt und abruft. Beim Betriebssystem hat das Lesen und Schreiben von Dateien zwar keinen direkten Einfluss auf die Festplattensektoren, jedoch werden die Dateidaten über das Dateisystem nach bestimmten Regeln verarbeitet und organisiert.

Zu den gängigen Dateisystemen gehören NTFS in Windows und Ext4 in Linux.

In Windows-Systemen umfasst der sogenannte „Partitionierungs“-Vorgang den Vorgang des Erstellens von Partitionen und Einrichtens von Dateisystemen. In Linux-Systemen sind zur Ausführung dieser beiden Schritte zwei separate Befehle erforderlich.

Mit dem Befehl mkfs.ext4 /dev/sdb1 können Sie ein Ext4-Dateisystem auf der ersten Partition der neu hinzugefügten Festplatte erstellen.

$ sudo mkfs.ext4 /dev/sdb1
mke2fs 1.44.6 (5. März 2019)
Erstellen eines Dateisystems mit 786432 4k-Blöcken und 196608 Inodes
Dateisystem-UUID: d5e21599-12e9-44da-ae51-124d89fe5eda
Auf Blöcken gespeicherte Superblock-Backups:
 32768, 98304, 163840, 229376, 294912

Gruppentische zuordnen: erledigt
Inode-Tabellen schreiben: erledigt
Journal erstellen (16384 Blöcke): erledigt
Schreiben von Superblöcken und Dateisystem-Abrechnungsinformationen: erledigt

Swap-Partition

Die Swap-Partition in einem Linux-System kann als ein auf der Festplatte befindliches „Speichergerät“ betrachtet werden. Um Situationen wie unzureichenden Speicher zu entschärfen, wird Linux einige der Daten im Speicher, die nicht sofort benötigt werden, vorübergehend in die Swap-Partition auf der Festplatte auslagern.

Meine virtuelle Linux-Maschine hat bei der Installation keine Swap-Partition zugewiesen. Hier verwende ich den Befehl mkswap, um die 2G-sdb2-Partition in Swap-Speicher aufzuteilen:

$ sudo mkswap /dev/sdb2
Einrichten von Swapspace Version 1, Größe = 2 GiB (2146430976 Bytes)
kein Label, UUID=47006330-810c-4321-8d73-d52a5f70bc88

Verwenden Sie dann den Befehl swapon, um die zuvor erstellte Swap-Partition sofort zu aktivieren:

$ sudo swapon /dev/sdb2
$ frei -h
  insgesamt genutzter freier gemeinsamer Buff/Cache verfügbar
Speicher: 983Mi 223Mi 168Mi 4.0Mi 590Mi 597Mi
Austausch: 2,0 Gi 0B 2,0 Gi

Partitionsmontage

Wenn Sie in Windows eine partitionierte Festplatte oder ein USB-Laufwerk einstecken, wird der hinzugefügten Partition bzw. den hinzugefügten Partitionen automatisch ein Laufwerksbuchstabe (z. B. D:, E:, F: usw.) zugewiesen. Sie können dann mit dem Laufwerksbuchstaben direkt Dateien auf der neuen Partition lesen oder schreiben.

Im Linux-System gibt es kein Konzept von Laufwerksbuchstaben. Die Dateihierarchie ist eine Baumstruktur (Verzeichnis), die beim Stammverzeichnis (/) beginnt und sich nach unten erstreckt. Jeder Zweig ist ein bestimmter Pfad, der auf eine bestimmte Datei verweist. Beispielsweise /usr, /root, /var, /var/log usw.

Ein Verzeichnis kann als eine abstrakte, von Hardware-Speichergeräten unabhängige logische Struktur betrachtet werden, die dazu dient, einen bestimmten Speicherort in der Dateisystemhierarchie anzugeben. Die Zuordnung von Festplattenpartitionen zu Verzeichnisstrukturen muss durch das Mounten festgelegt werden.

Im Allgemeinen können Sie bei der Installation des Systems die sda1-Partition im Stammverzeichnis mounten und alle Dateien in diesem Verzeichnis werden auf sda1 gespeichert. Wenn später eine neue Datenfestplatte sdb hinzugefügt wird, verfügt die Festplatte nur über eine Partition sdb1. Um einige Dateien auf der SDB1-Partition zu speichern, können Sie einen neuen leeren Zweig im Verzeichnisbaum erstellen (z. B. /mnt/data) und SDB1 unter diesem Zweig mounten. Danach werden alle Unterverzeichnisse und Dateien, die im Verzeichnis /mnt/data erstellt werden, auf sdb1 gespeichert.

Die spezifischen Befehle lauten wie folgt:

$ sudo mkdir -p /mnt/data
$ sudo mount /dev/sdb1 /mnt/data

Verwenden Sie den Befehl df -h, um den vom Dateisystem belegten Speicherplatz anzuzeigen:

$ df -h
Verwendete Dateisystemgröße Verfügbare Nutzung% Eingebunden auf
udev 456M 0 456M 0 % /Gerät
tmpfs 99 Mio. 1,1 Mio. 98 Mio. 2 % /Lauf
/dev/sda1 9,8 G 5,2 G 4,2 G 56 % /
tmpfs 492M 0 492M 0 % /Entwickler/shm
tmpfs 5,0 M 4,0 K 5,0 M 1 % /Ausführen/Sperre
tmpfs 492 M 0 492 M 0 % /sys/fs/cgroup
tmpfs 99M 0 99M 0 % /run/Benutzer/117
tmpfs 99M 0 99M 0 % /run/Benutzer/1000
/dev/sdb1 2,9 G 9,0 M 2,8 G 1 % /mnt/Daten

Sie können sehen, dass die neu hinzugefügte Partition /dev/sdb1 im Verzeichnis /mnt/data gemountet wurde.

Alternativ können Sie den Befehl lsblk verwenden, um die Kapazität und Einhängepunkte von Blockspeichergeräten (also Festplatten und Partitionen) anzuzeigen:

$ lsblk
NAME MAJ:MIN RM GRÖSSE RO TYP MOUNTPUNKT
sda 8:0 0 10G 0 Festplatte
└─sda1 8:1 0 10G 0 Teil /
sdb 8:16 0 5G 0 Festplatte
├─sdb1 8:17 0 3G 0 Teil /mnt/Daten
└─sdb2 8:18 0 2G 0 Teil [SWAP]
sr0 11:0 1 1024M 0 rom

Es ist zu beachten, dass manuell gemountete Partitionen nach dem Systemneustart automatisch ungemountet werden. Wenn Sie möchten, dass die Partition bei jedem Systemstart automatisch gemountet wird, genau wie das Stammverzeichnis, können Sie die Konfigurationsdatei /etc/fstab ändern. Der Beispielinhalt lautet wie folgt:

# <Dateisystem> <Einhängepunkt> <Typ> <Optionen> <Dump> <Passwort>
UUID=f3435713-b2cd-4196-b07b-2ffb116a028d / ext4-Standardwerte 0 1
/dev/sdb1 /mnt/data ext4 Standardwerte 0 1
/dev/sdb2 keine Swap-SW 0 0

PS: Im Vergleich zu /dev/sda1 ist es oft sicherer, UUID zum Mounten der Partition zu verwenden. Mit dem Befehl blkid können Sie die UUID der Festplattenpartition anzeigen:

$ sudo blkid
/dev/sda1: UUID="f3435713-b2cd-4196-b07b-2ffb116a028d" TYPE="ext4" PARTUUID="20985120-01"
/dev/sdb1: UUID="d5e21599-12e9-44da-ae51-124d89fe5eda" TYPE="ext4" PARTUUID="ce119026-01"
/dev/sdb2: UUID="47006330-810c-4321-8d73-d52a5f70bc88" TYPE="swap" PARTUUID="ce119026-02"

4. LVM (Logisches Volume-Management)

Bei Festplattenpartitionierungsschemata ohne Logical Volume Management (LVM) sind Speicherort, Größe und Anzahl der Partitionen im Allgemeinen festgelegt, was Vorgänge wie das Erweitern aktueller Partitionen und das Hinzufügen neuer Partitionen erschwert.

Wenn Sie zu diesem Zeitpunkt zusätzliche Festplatten und Partitionen hinzufügen, müssen Sie einen neuen Zweig im Verzeichnisbaum als Einhängepunkt erstellen und die Dateidaten werden auf mehrere komplexe Speicherorte verstreut, was für das Zusammenführen, Sichern und Verwalten von Daten nicht praktisch ist.

LVM ermöglicht die Kombination einzelner oder mehrerer Partitionen zu einer logischen Datenträgergruppe und das dynamische Hinzufügen, Ändern der Größe oder Löschen der darin enthaltenen logischen Datenträger.

Die unterste Ebene des LVM-Systems ist das physische Volume (pv), bei dem es sich um eine Festplatte, eine Partition und ein RAID-Array handelt. Mit physischen Datenträgern können logische Datenträgergruppen (vg) erstellt werden, die wiederum eine beliebige Anzahl logischer Datenträger (lv) enthalten können. Logische Datenträger entsprechen funktional Partitionen auf physischen Datenträgern.

Erstellen von Volume-Gruppen und logischen Volumes

Mit dem Befehl pvcreate können Sie ein Speichergerät (Festplatte oder Partition usw.) als physisches Volume markieren.

Hier habe ich über VirtualBox eine weitere leere virtuelle Festplatte mit 5G hinzugefügt und das System hat das Gerät als /dev/sdc erkannt:

$ lsblk
NAME MAJ:MIN RM GRÖSSE RO TYP MOUNTPUNKT
sda 8:0 0 10G 0 Festplatte
└─sda1 8:1 0 10G 0 Teil /
sdb 8:16 0 5G 0 Festplatte
├─sdb1 8:17 0 3G 0 Teil /mnt/Daten
└─sdb2 8:18 0 2G 0 Teil [SWAP]
sdc 8:32 0 5G 0 Festplatte
sr0 11:0 1 1024M 0 rom

Erstellen Sie ein physisches Volume:

$ sudo pvcreate /dev/sdc
 Physischer Datenträger „/dev/sdc“ erfolgreich erstellt.

Listen Sie alle physischen Datenträger mit dem Befehl pvs auf:

$ sudo pvs
 PV VG Fmt Attr PSize PFrei
 /dev/sdc lvm2 --- 5,00 g 5,00 g

Verwenden Sie den Befehl vgcreate, um eine logische Datenträgergruppe basierend auf dem physischen Datenträger zu erstellen:

$ sudo vgcreate Datenvolumen /dev/sdc
 Volume-Gruppe "data-volume" erfolgreich erstellt

Verwenden Sie den Befehl vgs, um alle aktuellen logischen Datenträgergruppen aufzulisten:

$ sudo vgs
 VG #PV #LV #SN Attr VGröße VFrei
 Datenvolumen 1 0 0 wz--n- <5,00g <5,00g

Verwenden Sie den Befehl lvcreate, um ein logisches Volume in der Volume-Gruppe zu erstellen:

$ sudo lvcreate --name data --size 2G Datenvolumen
 Logisches Volume „Data“ erstellt.

Auf logische Datenträger kann über Pfade in der Form /dev/mapper/<vgname>-<lvname> oder /dev/<vgname>/<lvname> zugegriffen werden. Der soeben erstellte logische Datenträger kann beispielsweise durch /dev/data-volume/data angegeben werden.

Erstellen Sie ein Ext4-Dateisystem auf dem logischen Datenträger:

$ sudo mkfs.ext4 /dev/Datenvolumen/Daten
mke2fs 1.44.6 (5. März 2019)
Erstellen eines Dateisystems mit 524.288 4k-Blöcken und 131.072 Inodes
Dateisystem-UUID: 0f24cdd8-62e0-42fd-bc38-aa3bce91e099
Auf Blöcken gespeicherte Superblock-Backups:
 32768, 98304, 163840, 229376, 294912

Gruppentische zuordnen: erledigt
Inode-Tabellen schreiben: erledigt
Journal erstellen (16384 Blöcke): erledigt
Schreiben von Superblöcken und Dateisystem-Abrechnungsinformationen: erledigt

An diesem Punkt kann das logische Volume in einen Verzeichniszweig eingebunden und wie eine gewöhnliche physische Partition normal verwendet werden.

Bearbeiten von Datenträgergruppen und logischen Datenträgern

Mit dem Befehl lvextend können Sie den Speicherplatz eines logischen Datenträgers dynamisch erweitern:

$ sudo lvextend --size +2G --resizefs /dev/Datenvolumen/Daten
fsck von util-linux 2.33.1
/dev/mapper/data--volume-data: sauber, 11/131072 Dateien, 26156/524288 Blöcke
 Größe des logischen Datenträgers data-volume/data von 2,00 GiB (512 Extents) auf 4,00 GiB (1024 Extents) geändert.
 Die Größe des logischen Datenträgers data-volume/data wurde erfolgreich geändert.
resize2fs 1.44.6 (5. März 2019)
Größenänderung des Dateisystems auf /dev/mapper/data--volume-data auf 1048576 (4k) Blöcke.
Das Dateisystem auf /dev/mapper/data--volume-data ist jetzt 1048576 (4k) Blöcke lang.

Darunter wird --size +2G verwendet, um die Erhöhung des 2G-Speicherplatzes anzugeben, und --resizefs gibt die Erweiterung der Dateisystemgröße bei Erweiterung der logischen Datenträgergröße an (das Dateisystem wird standardmäßig nicht automatisch erweitert, wenn sich der Speicherplatz des logischen Datenträgers ändert).

Oder Sie können die erweiterte Größe direkt angeben, zum Beispiel:

$ sudo lvextend --size 4G --resizefs /dev/Datenvolumen/Daten

Zu den weiteren häufig verwendeten Befehlen gehört die Verwendung des Befehls lvresize, um das logische Volume so zu erweitern, dass es den gesamten verbleibenden Speicherplatz in der aktuellen Volume-Gruppe einnimmt:

$ sudo lvresize -l +100%free /dev/Datenvolumen/Daten
 Größe des logischen Datenträgers „data-volume/data“ von <3,00 GiB (767 Extents) auf <5,00 GiB (1279 Extents) geändert.
 Die Größe des logischen Datenträgers data-volume/data wurde erfolgreich geändert.

Da der obige Befehl die Optionen --resizefs oder -r nicht enthält, wird das Dateisystem nicht automatisch mit dem logischen Datenträger erweitert. Sie können das Dateisystem manuell mit dem Befehl resize2fs erweitern:

$ sudo resize2fs /dev/Datenvolumen/Daten

Angenommen, der Speicherplatz des logischen Datenträgers /dev/data-volume/data ist nach einer gewissen Zeit fast voll. Sie können versuchen, eine weitere Festplatte (sdd) hinzuzufügen:

$ lsblk
NAME MAJ:MIN RM GRÖSSE RO TYP MOUNTPUNKT
sda 8:0 0 10G 0 Festplatte
└─sda1 8:1 0 10G 0 Teil /
sdb 8:16 0 5G 0 Festplatte
├─sdb1 8:17 0 3G 0 Teil /mnt/Daten
└─sdb2 8:18 0 2G 0 Teil [SWAP]
sdc 8:32 0 5G 0 Festplatte
└─Daten--Volumen-Daten 253:0 0 5G 0 lvm
sdd 8:48 0 5G 0 Festplatte
sr0 11:0 1 1024M 0 rom

Verwenden Sie den Befehl pvcreate, um einen physischen Datenträger zu erstellen:

$ sudo pvs
 PV VG Fmt Attr PSize PFrei
 /dev/sdc Datenvolumen lvm2 a-- <5,00 g 0
 /dev/sdd lvm2 --- 5,00 g 5,00 g

Verwenden Sie den Befehl vgextend, um das physische Volume zur zuvor erstellten Volume-Gruppe data-volume hinzuzufügen:

$ sudo vgextend Datenvolumen /dev/sdd
 Volume-Gruppe "data-volume" erfolgreich erweitert
$ sudo vgs
 VG #PV #LV #SN Attr VGröße VFrei
 Datenvolumen 2 1 0 wz--n- 9,99g <5,00g

Zu diesem Zeitpunkt enthält die Datenvolumen-Volumengruppe zwei physische Volumes (/dev/sdc und /dev/sdd) und ein logisches Volume (/dev/data-volume/data). Die Gesamtgröße beträgt 10 G und der freie Speicherplatz beträgt 5 G (das heißt das gerade hinzugefügte physische Volume).

Verwenden Sie abschließend den Befehl lvresize, um die Größe des logischen Datenträgers zu erweitern, sodass dieser den gesamten Speicherplatz der beiden physischen Datenträger einnimmt:

$ sudo lvresize -l +100%free -r /dev/Datenvolumen/Daten
fsck von util-linux 2.33.1
/dev/mapper/data--volume-data: sauber, 11/196608 Dateien, 30268/785408 Blöcke
 Größe des logischen Datenträgers „data-volume/data“ von <5,00 GiB (1279 Extents) auf 9,99 GiB (2558 Extents) geändert.
 Die Größe des logischen Datenträgers data-volume/data wurde erfolgreich geändert.
resize2fs 1.44.6 (5. März 2019)
Größenänderung des Dateisystems auf /dev/mapper/data--volume-data auf 2619392 (4k) Blöcke.
Das Dateisystem auf /dev/mapper/data--volume-data ist jetzt 2619392 (4k) Blöcke lang.

Zu diesem Zeitpunkt wird die Größe des logischen Datenträgers /dev/data-volume/data auf 10 G erweitert, wodurch der gesamte Speicherplatz des gesamten Datenträgergruppen-Datenträgers (einschließlich zweier physischer 5-G-Datenträger) eingenommen wird.

Zusammenfassung: Die LVM-Volume-Gruppe (vg) verhält sich wie eine physische Festplatte und wird zum Tragen logischer Volumes (lv) verwendet. Eine Datenträgergruppe kann aus mehreren physischen Datenträgern (Festplatten, Partitionen usw.) bestehen, und bei Platzmangel können jederzeit neue physische Datenträger zur Erweiterung hinzugefügt werden.

Das logische Volume (lv) der Volume-Gruppe ähnelt einer Festplattenpartition und kann als Speicherplatz in ein Verzeichnis eingebunden werden. Allerdings sind Speicherort und Größe physischer Partitionen festgelegt, während die Größe logischer Volumes basierend auf Volume-Gruppen dynamisch geändert werden kann und sich sogar über mehrere physische Festplatten und Partitionen erstreckt, was die Verwaltung bequemer und flexibler macht.

Liste gängiger LVM-Befehle:

Befehl Einsatzgebiete
pvcreate Beschriftungsgeräte für den Einsatz mit LVM
pvremove Entfernen des LVM-Labels von einem physischen Datenträger
pvdisplay / pvs Anzeigen von Informationen zum angegebenen Gerät oder zu allen physischen Datenträgern im System
Abonnieren Erstellen einer neuen Datenträgergruppe
Abonnieren Entfernen (Löschen) einer Datenträgergruppe
vgextend Hinzufügen physischer Datenträger zu einer Datenträgergruppe
Abonnieren Entfernen physischer Datenträger aus einer Datenträgergruppe
vgdisplay / vgs Anzeigen von Informationen zur angegebenen Gruppe oder zu allen Volume-Gruppen im System
Abonnieren Erstellen eines neuen logischen Volumes
lventfernen Entfernen (Löschen) eines logischen Volumes
Abonnieren Erhöhen der Größe eines logischen Datenträgers
lvreduzieren Verringern der Größe eines logischen Datenträgers
lvdisplay / lvs Anzeige aller logischen Volumes auf dem System oder in einer angegebenen Volume-Gruppe

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • Problem der LVM-Festplattenerweiterung in Centos7 unter Linux
  • Linux-Datenträgerverwaltung – LVM-Nutzung
  • Detaillierte Erläuterung der nahtlosen horizontalen LVM-Festplattenerweiterung basierend auf Linux
  • Detaillierte Schritte zum Erweitern der LVM-Festplatte unter Linux

<<:  Detaillierte Erklärung der Vue-Optionen

>>:  Lösung für das Problem, dass MySQL zwar bei der Installation in WAMP gestartet werden kann, nach dem Neustart jedoch nicht mehr

Artikel empfehlen

Detaillierte Schritte zur Installation von Nginx unter Linux

1. Nginx-Installationsschritte 1.1 Offizielle Web...

Beispielcode für Nginx zur Erreichung dynamischer und statischer Trennung

1. Einfache Konfiguration der dynamischen und sta...

Beispiele für MySQL-Batch-Hinzufügungs- und Speichermethoden

Beim Anmelden am Stresstest sind viele verschiede...

Mit CSS3 implementierte Text-Popup-Effekte

Ergebnisse erzielenImplementierungscode html <...

Vue implementiert ein Suchfeld mit einer Lupe

In diesem Artikel erfahren Sie, wie Sie mit Vue e...

Detaillierte Erläuterung der Vue-Formularbindung und -Komponenten

Inhaltsverzeichnis 1. Was ist bidirektionale Date...

Detailanalyse der MySQL-Berechtigungskontrolle

Inhaltsverzeichnis 1. Globale Ebene 2. Datenbanke...

jQuery-Plugin zur Implementierung des Minesweeper-Spiels (2)

In diesem Artikel wird der zweite Artikel zur Ver...

GZIP-Komprimierung Tomcat und Prozessdiagramm zur Verbesserung der Web-Leistung

1. Einleitung Ich habe vor Kurzem an einem Projek...

Beispielcode zur Implementierung eines 3D-Text-Hover-Effekts mit CSS3

In diesem Artikel wird der Beispielcode von CSS3 ...