- Übersicht
- LVM-Funktionen
- Festplattengrößenänderung mit LVM
- Identifizieren von Partitionen zum Ändern der Größe
- Prüfen des aktuellen Speicherplatzes
- Anfügen einer neuen virtuellen Festplatte
- Erstellen einer Partition
- Partitionserstellung bestätigen
- Volume-Gruppe identifizieren
- Volume-Gruppe erweitern
- Volume-Gruppenerweiterung bestätigen
- Der gewünschten Partition zusätzlichen Speicherplatz zuweisen
- Zuweisung bestätigen
- Ändern der Partitionsgröße
- Größenänderung bestätigen
Übersicht #
LVM steht für Logical Volume Manager und ist eine weit verbreitete Technik in Linux und Unix-ähnlichen Betriebssystemen zur Verwaltung von Festplatten und Speicher. Es bietet eine Abstraktionsebene zwischen dem Betriebssystem und physischen Speichergeräten, sodass Administratoren logische Volumes erstellen können, die sich über mehrere physische Festplatten erstrecken können. Wichtige Komponenten von LVM:
Physische Datenträger (PVs) : Physische Datenträger sind typischerweise einzelne Festplatten, Solid-State-Drives (SSDs) oder Partitionen auf diesen Laufwerken. LVM fasst einen oder mehrere physische Datenträger zu Datenträgergruppen zusammen.
Volume-Gruppen (VGs) : Volume-Gruppen sind Gruppen physischer Datenträger, die zu einer größeren Speichereinheit zusammengefasst werden. Mehrere physische Datenträger können einer Volume-Gruppe hinzugefügt werden und tragen ihre Speicherkapazität zur Gruppe bei. Sie können mehrere Volume-Gruppen auf einem einzelnen System erstellen.
Logische Volumes (LVs) : Logische Volumes sind virtuelle Partitionen, die innerhalb von Volume-Gruppen erstellt werden. Im Gegensatz zu herkömmlichen Partitionen können sie dynamisch in ihrer Größe angepasst werden. LVs dienen der Datenspeicherung und werden wie reguläre Partitionen eingebunden.
Physische Extents (PEs) : Physische Extents sind die kleinste Speichereinheit in LVM. Beim Erstellen einer Volume-Gruppe werden die physischen Volumes in gleich große Blöcke, sogenannte physische Extents, unterteilt. Logische Volumes werden erstellt, indem eine bestimmte Anzahl physischer Extents aus der Volume-Gruppe zugewiesen wird.
Logische Extents (LEs) : Logische Extents ähneln physischen Extents, werden jedoch innerhalb logischer Volumes anstelle von Volume-Gruppen verwendet. Logische Extents sind die kleinste Einheit der Datenzuordnung innerhalb eines logischen Volumes.
LVM-Befehle : LVM bietet eine Reihe von Befehlen zur Verwaltung physischer Volumes, Volume-Gruppen und logischer Volumes. Zu den gängigen Befehlen gehören pvcreate (zum Initialisieren physischer Volumes), vgcreate (zum Erstellen von Volume-Gruppen), lvcreate (zum Erstellen logischer Volumes), lvextend (zum Erweitern logischer Volumes) und viele weitere.
LVM-Funktionen #
Logical Volume Manager (LVM) bietet mehrere nützliche Features und Funktionen, die ihn zu einem wertvollen Tool für die Speicherverwaltung in Linux und Unix-ähnlichen Betriebssystemen machen. Hier sind einige gängige Verwendungsmöglichkeiten von LVM:
Flexibles Festplattenmanagement : LVM ermöglicht die dynamische Größenänderung logischer Volumes (LVs) und Volume-Gruppen (VGs), ohne dass das Dateisystem ausgehängt oder der Datenzugriff unterbrochen werden muss. Diese Flexibilität ist besonders vorteilhaft in Umgebungen, in denen sich der Speicherbedarf im Laufe der Zeit ändert.
Volume-Management : LVM ermöglicht die Zusammenfassung mehrerer physischer Datenträger (PVs) zu logischen Datenträgergruppen (VGs) und stellt so einen einheitlichen Speicherpool bereit. Administratoren können dadurch Speicherressourcen effizient verwalten und Speicherplatz nach Bedarf verschiedenen Partitionen oder Dateisystemen zuweisen.
Erstellung von Snapshots : LVM unterstützt die Erstellung von Snapshots, also Momentaufnahmen logischer Volumes. Snapshots können für verschiedene Zwecke verwendet werden, darunter Datensicherungen, Systemwiederherstellung und das Testen von Software-Updates oder -Konfigurationen, ohne die Originaldaten zu beeinträchtigen.
Datenmigration und -mobilität : LVM ermöglicht die Verschiebung von Daten zwischen physischen Geräten und Speichersystemen, ohne Dienste oder Anwendungen zu unterbrechen. Administratoren können Daten zwischen verschiedenen Speichertypen migrieren oder über Speichersysteme verteilen, um Leistung oder Kapazität zu optimieren.
Volume Striping und Mirroring : LVM unterstützt Volume Striping und Mirroring für verbesserte Leistung und Datenredundanz. Striping verteilt Daten auf mehrere physische Volumes, um die E/A-Leistung zu steigern, während Mirroring Daten auf separate physische Volumes dupliziert, um Fehlertoleranz und Datenschutz bei Festplattenausfällen zu gewährleisten.
Thin Provisioning : LVM bietet Thin Provisioning, wodurch Administratoren Speicherplatz bedarfsgerecht zuweisen können, anstatt ihn im Voraus zu reservieren. Thin Provisioning optimiert die Speichernutzung, indem es Speicherplatzverschwendung reduziert und eine effizientere Verwaltung der Speicherressourcen ermöglicht.
Datenverschlüsselung : LVM unterstützt die Verschlüsselung von Daten auf Volume-Ebene mithilfe von Technologien wie dm-crypt und LUKS (Linux Unified Key Setup). Diese Funktion erhöht die Datensicherheit, indem sie sensible, auf logischen Volumes gespeicherte Informationen verschlüsselt und so vor unbefugtem Zugriff oder Diebstahl schützt.
Ausfallsicherheit und Fehlertoleranz : LVM verbessert die Systemausfallsicherheit und Fehlertoleranz durch Funktionen wie RAID (Redundant Array of Independent Disks) und Volume-Mirroring. Diese Funktionen schützen vor Datenverlust und minimieren Ausfallzeiten bei Festplattenausfällen oder anderen Hardwareproblemen.
Festplattengrößenänderung mit LVM #
RELIANOID Haushaltsgeräte werden in einem leichten Format geliefert, um die Bereitstellung und Installation auf jeder Plattform zu vereinfachen. Wenn jedoch mehr Speicherplatz für das Protokollierungssystem oder die benutzerdefinierte Anwendungsintegration benötigt wird, ist eine Größenanpassung des Dateisystems erforderlich.
Dieses Handbuch enthält schrittweise Anweisungen zum Ändern der Partitionsgröße auf RELIANOID Load Balancer mit Logical Volume Manager (LVM). In diesem Fall wird erklärt, wie Sie eine neue Festplatte an das System anschließen und die Protokollpartition erweitern, deren Speicherplatz knapp wird.
Identifizieren von Partitionen zum Ändern der Größe #
Verwenden Sie den Befehl lvdisplay , um die Partitionen zu ermitteln, die für eine Größenänderung in Frage kommen.
root@ee-noid-01:~# lvdisplay | grep "LV-Pfad" | grep root LV-Pfad /dev/root/backup LV-Pfad /dev/root/config LV-Pfad /dev/root/log LV-Pfad /dev/root/root LV-Pfad /dev/root/swap
Hinweis: Wenn der LV-Pfad nicht angezeigt wird, kann Ihre Root-Partition nicht vergrößert werden.
Prüfen des aktuellen Speicherplatzes #
Verwenden Sie df , um den aktuellen Speicherplatz zu überprüfen und den verfügbaren Speicherplatz für eine Größenänderung zu ermitteln.
root@ee-noid-01:~# df -h Verwendete Dateisystemgröße Verfügbare Nutzung % Gemountet auf udev 983M 0 983M 0% /dev tmpfs 200M 3.0M 197M 2% /run /dev/mapper/root-root 5.0G 1.5G 3.3G 30% / tmpfs 998M 0 998M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 998M 0 998M 0% /sys/fs/cgroup /dev/mapper/root-log 3.4 G 15 M 3.2 G 1 % /var/log /dev/mapper/root-config 430 M 2.4 M 401 M 1 % /usr/local/zevenet/config /dev/mapper/root-backup 874 M 2.2 M 811 M 1 % /usr/local/zevenet/backups tmpfs 200 M 0 200 M 0 % /run/user/0
Anfügen einer neuen virtuellen Festplatte #
Vom Hypervisor-Client aus (falls es sich um eine virtuelle Appliance handelt) oder physisch mit einer neuen Festplatte (falls es sich um eine Hardware-Appliance handelt) wird eine neue virtuelle Festplatte mit dem gewünschten Speicherplatz (z. B. 2 GB) eingebunden. Die neue Festplatte, z. B. /dev/sdb , wird mit dem Befehl fdisk identifiziert.
root@ee-noid-01:~# fdisk -l Disk / dev / sdb: 2 GiB, 2147483648 Bytes, 4194304 Sektoren Festplattenmodell: Einheiten: Sektoren von 1 * 512 = 512 Bytes Sektorgröße (logisch/physisch): 512 Bytes / 512 Bytes E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes Festplatte /dev/sda: 12 GiB, 12884901888 Bytes, 25165824 Sektoren [...]
Erstellen einer Partition #
Verwenden Sie `fdisk /dev/sdb` , um eine Partition zu erstellen, die den gesamten Speicherplatz der Festplatte umfasst. Wählen Sie den Partitionstyp `p` für die primäre Partition und weisen Sie ihr den gesamten Speicherplatz zu. Ändern Sie den Partitionstyp mit dem Befehl `t` in Linux LVM . Speichern Sie die Änderungen mit dem Befehl `w`.
root@ee-noid-01:~# 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 0xeb0c8ed2 wurde erstellt. Befehl (m für Hilfe): n Partitionstyp p primär (0 primär, 0 erweitert, 4 frei) e erweitert (Container für logische Partitionen) Auswahl (Standard p): p Partitionsnummer (1-4, Standard 1): 1 Erster Sektor (2048-4194303, Standard 2048):Letzter Sektor, +/-Sektoren oder +/-Größe{K,M,G,T,P} (2048-4194303, Standard 4194303): Eine neue Partition 1 vom Typ „Linux“ und mit einer Größe von 2 GiB wurde erstellt. Befehl (m für Hilfe): t Ausgewählte Partition 1 Hex-Code (geben Sie L ein, um alle Codes aufzulisten): 8e Partitionstyp „Linux“ in „Linux LVM“ geändert. Befehl (m für Hilfe): w Die Partitionstabelle wurde geändert. ioctl() wird aufgerufen, um die Partitionstabelle erneut zu lesen. Datenträger werden synchronisiert.
Partitionserstellung bestätigen #
Überprüfen Sie die Erstellung von /dev/sdb1 mit dem Befehl fdisk -l /dev/sdb.
root@ee-noid-01:~# fdisk -l /dev/sdb Disk /dev/sdb: 2 GiB, 2147483648 Bytes, 4194304 Sektoren Disk-Modell: 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 Disk-ID: 0xeb0c8ed2 Gerät Boot Start Ende Sektoren Größe Id Typ /dev/sdb1 2048 4194303 4192256 2G 8e Linux LVM
Volume-Gruppe identifizieren #
Überprüfen Sie die aktuellen Details der zu erweiternden Volume-Gruppe mit dem Befehl vgdisplay .
root@ee-noid-01:~# vgdisplay --- Datenträgergruppe --- VG-Namenswurzel System-ID-Format lvm2 Metadatenbereiche 1 Metadatensequenz Nr. 6 VG-Zugriff lesen/schreiben VG-Status größenveränderbar MAX LV 0 Aktueller LV 5 Offener LV 5 Max PV 0 Aktueller PV 1 Aktueller PV 1 VG-Größe <12.00 GiB PE-Größe 4.00 MiB Gesamt-PE 3071 Alloc PE / Größe 2862 / <11.18 GiB Freie PE / Größe 209 / 836.00 MiB VG UUID FxCrfj-5Rt7-1CrE-9hUv-7qwj-0yAb-AJ2euu
Volume-Gruppe erweitern #
Verwenden Sie vgextend root /dev/sdb1, um die Volume-Gruppe um die neue Partition zu erweitern.
root@ee-noid-01:~# vgextend root /dev/sdb1 Physischer Datenträger „/dev/sdb1“ erfolgreich erstellt. Volumegruppe "root" erfolgreich erweitert
Volume-Gruppenerweiterung bestätigen #
Überprüfen Sie die Erweiterung der Volume-Gruppe mit vgdisplay.
root@ee-noid-01:~# vgdisplay --- Datenträgergruppe --- VG-Namenswurzel System-ID-Format lvm2 Metadatenbereiche 2 Metadatensequenz Nr. 7 VG-Zugriff lesen/schreiben VG-Status größenveränderbar MAX LV 0 Aktueller LV 5 Offener LV 5 Max PV 0 Aktueller PV 2 Aktueller PV 2 VG-Größe: 13.99 GiB PE-Größe 4.00 MiB Gesamt-PE 3582 Alloc PE / Größe 2862 / <11.18 GiB Freie PE / Größe 720 / 2.81 GiB VG UUID FxCrfj-5Rt7-1CrE-9hUv-7qwj-0yAb-AJ2euu
Der gewünschten Partition zusätzlichen Speicherplatz zuweisen #
Verwenden Sie lvextend -l +100%FREE /dev/root/log, um den zusätzlichen Speicherplatz der gewünschten Partition (z. B. logs) zuzuweisen.
root@ee-noid-01:~# lvextend -l +100%FREE /dev/root/log Die Größe des logischen Datenträgerstamms/-protokolls wurde von 3.46 GiB (886 Extents) auf 6.27 GiB (1606 Extents) geändert. Die Größe des logischen Datenträgerstamms/-protokolls wurde erfolgreich geändert.
Zuweisung bestätigen #
Bestätigen Sie die Zuordnung mit lvdisplay.
root@ee-noid-01:~# lvdisplay [...] --- Logisches Volumen --- LV-Pfad /dev/root/log LV-Namensprotokoll VG-Namensstamm LV-UUID 3TJZYd-gT8Z-JjJY-2mNB-wxLr-Xcdt-6bMrVs LV-Schreibzugriff Lesen/Schreiben LV-Erstellungshost, Zeit zva6000, 2023-06-20 12:43:08 +0000 LV-Status verfügbar # offen 1 LV-Größe: 6.27 GiB Aktuell LE 1606 Segmente 3 Zuordnung übernimmt Read-Ahead-Sektoren automatisch - aktuell eingestellt auf 256 Blockgerät 254:4 [...]
Ändern der Partitionsgröße #
Verwenden Sie resize2fs /dev/root/log, um die Partition mit dem neuen freien Speicherplatz zu vergrößern.
root@ee-noid-01:~# resize2fs /dev/root/log resize2fs 1.44.5 (15) Das Dateisystem unter /dev/root/log ist auf /var/log gemountet; Online-Größenänderung erforderlich: old_desc_blocks = 2018, new_desc_blocks = 1. Das Dateisystem unter /dev/root/log ist jetzt 1 (1644544k) Blöcke lang.
Größenänderung bestätigen #
Überprüfen Sie mit df , ob der neue freie Speicherplatz verfügbar ist.
root@ee-noid-01:~# df -h Verwendete Dateisystemgröße Verfügbare Nutzung % Auf udev gemountet 983M 0 983M 0 % /dev tmpfs 200M 3.1M 197M 2 % /run /dev/mapper/root-root 5.0G 1.5G 3.3G 30 % / tmpfs 998M 0 998M 0 % /dev/shm tmpfs 5.0M 0 5.0M 0 % /run/lock tmpfs 998M 0 998M 0 % /sys/fs/cgroup /dev/mapper/root-config 430M 2.4M 401M 1 % /usr/local/zevenet/config /dev/mapper/root-backup 874M 2.2M 811M 1% /usr/local/zevenet/backups /dev/mapper/root-log 6.2 G 17 M 5.8 G 1 % /var/log tmpfs 200M 0 200M 0 % /run/benutzer/0
Mit diesen Schritten können Sie die Größe von Partitionen effektiv ändern auf RELIANOID Load Balancer mit LVM, der eine optimale Nutzung des Speicherplatzes gewährleistet und für die Skalierung weiterer Dienste bereit ist.