Advertisements

Speicher hinzufügen mit LVM

Logical Volume Manager (LVM) ermöglicht eine Abstraktionsschicht zwischen dem Betriebssystem und der Hardware. Normalerweise sucht Ihr Betriebssystem nach Festplatten (/dev/sda, /dev/sdb, und so weiter) und Partitionen innerhalb dieser Festplatten (/dev/sda1, /dev/sdb1, und so weiter).

In LVM wird zwischen dem Betriebssystem und den Festplatten eine virtuelle Schicht erstellt. Anstelle eines Laufwerks mit einer bestimmten Anzahl von Partitionen erstellt LVM einen einheitlichen Speicherpool (genannt a Volumengruppe), die sich über eine beliebige Anzahl physischer Laufwerke erstreckt (genannt Physische Volumes). Unter Verwendung des in einer Volume Group verfügbaren Speichers stellt LVM Ihrem Betriebssystem scheinbar Festplatten und Partitionen zur Verfügung.

Und das Betriebssystem ist sich nicht bewusst, dass es “ausgetrickst” wird.

lvm.png

Opensource.com, CC BY-SA 4.0

Da der LVM Volume-Gruppen und logische Volumes virtuell erstellt, ist es einfach, ihre Größe zu ändern, zu verschieben oder neue Volumes zu erstellen, sogar 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 aushängen zu müssen.

Eine Volume-Gruppe in einem LVM ist ein benannter virtueller Container, der die zugrunde liegenden physischen Festplatten gruppiert. 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ängen.

Weitere Linux-Ressourcen

Merkmale

  • Partitionsnamen haben normalerweise Systembezeichnungen wie /dev/sda1. LVM-Volumes haben normale, für den Menschen verständliche Namen, wie home oder media.
  • Die Gesamtgröße der Partitionen wird durch die Größe der zugrunde liegenden physischen Festplatte begrenzt. In LVM können sich Volumes über mehrere Festplatten erstrecken und sind nur durch die Gesamtgröße aller physischen Festplatten in der 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 neben der Partition freier Speicherplatz zugewiesen wird. LVM-Volumes können von überall freien Speicherplatz beanspruchen.
  • Beim Erweitern einer Partition müssen die Daten verschoben werden, um freien Speicherplatz zu schaffen, was zeitaufwändig ist und bei einem Stromausfall zu Datenverlust führen kann. LVM-Volumes können von überall in der Volume-Gruppe freien Speicherplatz belegen, sogar auf einer anderen Festplatte.
  • Da es so einfach ist, Volumes in einem LVM zu erstellen, empfiehlt es sich, unterschiedliche Volumes zu erstellen, z. B. das Erstellen separater Volumes zum Testen von Funktionen oder zum Ausprobieren verschiedener Betriebssysteme. Bei Partitionen wäre dieser Vorgang zeitaufwendig und fehleranfällig.
  • Snapshots können nur in einem LVM erstellt werden. Es ermöglicht Ihnen, ein Point-in-Time-Image des aktuellen logischen Datenträgers zu erstellen, auch während das System läuft. Dies ist ideal für Backups.

Versuchsaufbau

Nehmen Sie zur Demonstration an, Ihr System hat die folgende Laufwerkskonfiguration:

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. Datenträger für die Verwendung mit LVM . initialisieren

Lauf pvcreate /dev/xvdb /dev/xvdc /dev/xvdd /dev/xvde /dev/xvdf. 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 das Ergebnis mit pvs 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 Datenträgergruppe

Lauf vgcreate myvg /dev/xvdb /dev/xvdc /dev/xvdd /dev/xvde /dev/xvdf. Sehen Sie die Ergebnisse mit vgs 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

Montieren Sie es:

mount /dev/myvg/media /media
mount /dev/myvg/home /home

Sehen Sie Ihre vollständige Einrichtung mit lsblk:

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: Erweitern des LVM

Fügen Sie eine neue Festplatte hinzu bei /dev/xvdg. Um die zu verlängern home volume, 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

Lauf df -h und Sie sollten Ihre neue Größe widergespiegelt sehen.

Und das ist es!

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.

Speicher hinzufügen mit LVM

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top