Logical Volume Manager (LVM) ermöglicht eine Abstraktionsschicht zwischen dem Betriebssystem und der Hardware. Normalerweise sucht Ihr Betriebssystem nach Datenträgern (/dev/sda
, /dev/sdb
, usw.) und Partitionen innerhalb dieser Festplatten (/dev/sda1
, /dev/sdb1
, usw.).
In LVM wird eine virtuelle Schicht zwischen dem Betriebssystem und den Festplatten erstellt. Anstelle eines Laufwerks, das eine Reihe von Partitionen enthält, erstellt LVM einen einheitlichen Speicherpool (eine so genannte Volume Group). ), die sich über eine beliebige Anzahl physischer Laufwerke (als Physical Volumes bezeichnet) erstreckt ). Unter Verwendung des in einer Volumengruppe verfügbaren Speichers stellt LVM scheinbar Festplatten und Partitionen für Ihr Betriebssystem bereit.
Und das Betriebssystem weiß überhaupt nicht, dass es "ausgetrickst" wird.
Da der LVM Volume-Gruppen und logische Volumes virtuell erstellt, ist es einfach, die Größe zu ändern oder zu verschieben oder neue Volumes zu erstellen, selbst während das System läuft. Darüber hinaus bietet LVM Funktionen, die sonst nicht vorhanden sind, wie das Erstellen von Live-Snapshots von logischen Volumes, ohne die Festplatte zuerst abzumelden.
Eine Datenträgergruppe in einem LVM ist ein benannter virtueller Container, der die zugrunde liegenden physischen Festplatten zusammenfasst. Es fungiert als Pool, aus dem logische Volumes unterschiedlicher Größe erstellt werden können. Logische Volumes enthalten das eigentliche Dateisystem und können sich über mehrere Festplatten erstrecken und müssen nicht physisch zusammenhängend sein.
Weitere Linux-Ressourcen
- Spickzettel für Linux-Befehle
- Spickzettel für fortgeschrittene Linux-Befehle
- Kostenloser Online-Kurs:RHEL Technical Overview
- Spickzettel für Linux-Netzwerke
- SELinux-Spickzettel
- Spickzettel für allgemeine Linux-Befehle
- Was sind Linux-Container?
- Unsere neuesten Linux-Artikel
Funktionen
- Partitionsnamen haben normalerweise Systembezeichnungen wie
/dev/sda1
. LVM-Volumes haben normale, für Menschen verständliche Namen, wiehome
odermedia
. - Die Gesamtgröße von Partitionen ist durch die Größe der zugrunde liegenden physischen Festplatte begrenzt. In LVM können Volumes mehrere Laufwerke umfassen und sind nur durch die Gesamtgröße aller physischen Laufwerke im LVM begrenzt.
- Partitionen können normalerweise nur dann in der Größe geändert, verschoben oder gelöscht werden, wenn die Festplatte nicht verwendet wird und ausgehängt ist. LVM-Volumes können manipuliert werden, während das System läuft.
- Partitionen können nur erweitert werden, indem ihnen freier Speicherplatz neben der Partition zugewiesen wird. LVM-Volumes können freien Speicherplatz von überall nehmen.
- Das Erweitern einer Partition beinhaltet das Verschieben der Daten, um freien Speicherplatz zu schaffen, was zeitaufwändig ist und bei einem Stromausfall zu Datenverlust führen kann. LVM-Volumes können freien Speicherplatz von überall in der Volume-Gruppe beanspruchen, sogar auf einer anderen Festplatte.
- Da es so einfach ist, Volumes in einem LVM zu erstellen, empfiehlt es sich, verschiedene Volumes zu erstellen, wie z. B. das Erstellen separater Volumes, um Funktionen zu testen oder verschiedene Betriebssysteme auszuprobieren. Bei Partitionen wäre dieser Vorgang zeitaufwändig und fehleranfällig.
- Schnappschüsse können nur in einem LVM erstellt werden. Es ermöglicht Ihnen, ein Point-in-Time-Image des aktuellen logischen Volumes zu erstellen, sogar während das System läuft. Das ist großartig für Backups.
Testaufbau
Gehen Sie zu Demonstrationszwecken davon aus, dass Ihr System die folgende Laufwerkskonfiguration hat:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
`-xvda1 202:1 0 8G 0 part /
xvdb 202:16 0 1G 0 disk
xvdc 202:32 0 1G 0 disk
xvdd 202:48 0 2G 0 disk
xvde 202:64 0 5G 0 disk
xvdf 202:80 0 8G 0 disk
Schritt 1. Initialisieren Sie Festplatten zur Verwendung mit LVM
Führen Sie pvcreate /dev/xvdb /dev/xvdc /dev/xvdd /dev/xvde /dev/xvdf
aus . Die Ausgabe sollte sein:
Physical volume "/dev/xvdb" successfully created
Physical volume "/dev/xvdc" successfully created
Physical volume "/dev/xvdd" successfully created
Physical volume "/dev/xvde" successfully created
Physical volume "/dev/xvdf" successfully created
Sehen Sie sich das Ergebnis mit pvs
an oder pvdisplay
:
"/dev/xvde" is a new physical volume of "5.00 GiB"
--- NEW Physical volume ---
PV Name /dev/xvde
VG Name
PV Size 5.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 728JtI-ffZD-h2dZ-JKnV-8IOf-YKdS-8srJtn
"/dev/xvdb" is a new physical volume of "1.00 GiB"
--- NEW Physical volume ---
PV Name /dev/xvdb
VG Name
PV Size 1.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID zk1phS-7uXc-PjBP-5Pv9-dtAV-zKe6-8OCRkZ
"/dev/xvdd" is a new physical volume of "2.00 GiB"
--- NEW Physical volume ---
PV Name /dev/xvdd
VG Name
PV Size 2.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID R0I139-Ipca-KFra-2IZX-o9xJ-IW49-T22fPc
"/dev/xvdc" is a new physical volume of "1.00 GiB"
--- NEW Physical volume ---
PV Name /dev/xvdc
VG Name
PV Size 1.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID FDzcVS-sq22-2b13-cYRj-dXHf-QLjS-22Meae
"/dev/xvdf" is a new physical volume of "8.00 GiB"
--- NEW Physical volume ---
PV Name /dev/xvdf
VG Name
PV Size 8.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID TRVSH9-Bo5D-JHHb-g0NX-8IoS-GG6T-YV4d0p
Schritt 2. Erstellen Sie die Volume-Gruppe
Führen Sie vgcreate myvg /dev/xvdb /dev/xvdc /dev/xvdd /dev/xvde /dev/xvdf
aus . Sehen Sie sich die Ergebnisse mit vgs
an oder vgdisplay
:
--- Volume group ---
VG Name myvg
System ID
Format lvm2
Metadata Areas 5
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 5
Act PV 5
VG Size 16.98 GiB
PE Size 4.00 MiB
Total PE 4347
Alloc PE / Size 0 / 0
Free PE / Size 4347 / 16.98 GiB
VG UUID ewrrWp-Tonj-LeFa-4Ogi-BIJJ-vztN-yrepkh
Schritt 3:Logische Volumes erstellen
Führen Sie die folgenden Befehle aus:
lvcreate myvg --name media --size 4G
lvcreate myvg --name home --size 4G
Überprüfen Sie die Ergebnisse mit lvs
oder lvdisplay
:
--- Logical volume ---
LV Path /dev/myvg/media
LV Name media
VG Name myvg
LV UUID LOBga3-pUNX-ZnxM-GliZ-mABH-xsdF-3VBXFT
LV Write Access read/write
LV Creation host, time ip-10-0-5-236, 2017-02-03 05:29:15 +0000
LV Status available
# open 0
LV Size 4.00 GiB
Current LE 1024
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
--- Logical volume ---
LV Path /dev/myvg/home
LV Name home
VG Name myvg
LV UUID Hc06sl-vtss-DuS0-jfqj-oNce-qKf6-e5qHhK
LV Write Access read/write
LV Creation host, time ip-10-0-5-236, 2017-02-03 05:29:40 +0000
LV Status available
# open 0
LV Size 4.00 GiB
Current LE 1024
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:1
Schritt 4:Erstellen Sie das Dateisystem
Erstellen Sie das Dateisystem mit:
mkfs.ext3 /dev/myvg/media
mkfs.ext3 /dev/myvg/home
Mounten:
mount /dev/myvg/media /media
mount /dev/myvg/home /home
Sehen Sie sich Ihre vollständige Einrichtung mit lsblk
an :
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
`-xvda1 202:1 0 8G 0 part /
xvdb 202:16 0 1G 0 disk
xvdc 202:32 0 1G 0 disk
xvdd 202:48 0 2G 0 disk
xvde 202:64 0 5G 0 disk
`-myvg-media 252:0 0 4G 0 lvm /media
xvdf 202:80 0 8G 0 disk
`-myvg-home 252:1 0 4G 0 lvm /home
Schritt 5:LVM erweitern
Fügen Sie eine neue Festplatte unter /dev/xvdg
hinzu . Um das home
zu erweitern führen Sie die folgenden Befehle aus:
pvcreate /dev/xvdg
vgextend myvg /dev/xvdg
lvextend -l 100%FREE /dev/myvg/home
resize2fs /dev/myvg/home
Führen Sie df -h
aus und Sie sollten Ihre neue Größe sehen.
Und das war's!
LVM ermöglicht extreme Flexibilität bei der Konfiguration Ihres Speichers. Probieren Sie es aus und haben Sie Spaß mit LVM!
Dieser Artikel wurde ursprünglich im persönlichen Blog des Autors veröffentlicht und mit Genehmigung angepasst.