GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

Anfängerleitfaden für LVM (Logical Volume Management)

Was ist LVM

Der Logical Volume Manager (LVM) fügt eine zusätzliche Ebene zwischen den physischen Festplatten und dem Dateisystem ein, die es ermöglicht, dass Dateisysteme:
– einfach in der Größe geändert und verschoben werden können und online sind, ohne dass ein systemweiter Ausfall erforderlich ist.
– Diskontinuierliche Verwendung space on disk
– aussagekräftige Namen für Volumes anstelle der üblichen kryptischen Gerätenamen.
– mehrere physische Laufwerke umfassen

Linux LVM ist HP-UX LVM sehr ähnlich und bietet viele weitere erweiterte Funktionen wie Snapshots, Cluster-Unterstützung (GFS2, OCFS und Lustre).

Konzepte

LVM besteht aus wenigen konzeptionellen Ebenen wie physischem Volume, logischem Volume und Dateisystemen.

Die konzeptionellen Schichten bestehen wiederum aus kleineren Einheiten wie Physical Extents (im Falle von Physical Volumes) und Logical Extents (im Falle von Logical Volumes).

Physisches Volumen (PV)

Jedes physische Volume kann eine Festplattenpartition, eine ganze Festplatte, ein Metagerät oder eine Loopback-Datei sein. Verwenden Sie den Befehl pvcreate um den Speicher für die Verwendung durch LVM zu initialisieren. Beim Initialisieren eines Blockgeräts als physisches Volume wird eine Bezeichnung am Anfang des Geräts platziert.

Volumengruppe (VG)

Eine Datenträgergruppe fasst eine Sammlung von logischen Datenträgern und physischen Datenträgern in einer Verwaltungseinheit zusammen. Die Datenträgergruppe ist in physische Extents fester Größe unterteilt. Der Befehl vgcreate erstellt eine neue Volume-Gruppe unter Verwendung des zuvor für LVM mit pvcreate konfigurierten Block Special Device Physical Volume-Pfads.
– VGs bestehen aus PVs, die wiederum aus Physical Extents (PEs) bestehen. Die Größe von PE kann in verschiedenen VGs unterschiedlich sein und wird zum Zeitpunkt der VG-Erstellung definiert.
– Die Standardgröße von PE beträgt 4 MB, aber Sie können sie zum Zeitpunkt der VG-Erstellung auf den gewünschten Wert ändern.
– Im Allgemeinen ist die Leistung besser, wenn die PE-Größe größer ist (obwohl weniger granulare Kontrolle von LV).

Logisches Volume (LV)

Ein logisches Volumen ist das konzeptionelle Äquivalent einer Festplattenpartition in einem Nicht-LVM-System. Logische Volumes sind Blockgeräte, die aus den in derselben Volume-Gruppe vorhandenen physischen Extents erstellt werden. Sie können den Befehl lvcreate verwenden um ein logisches Volume in einer bestehenden Volume-Gruppe zu erstellen.

Dateisystem

Dateisysteme werden auf logischen Volumes aufgebaut. Der Befehl mkfs kann verwendet werden, um ein Dateisystem auf einem logischen Volume zu erstellen. Sobald das Dateisystem erstellt ist, können wir das logische Volume nach Bedarf bereitstellen.

Lassen Sie uns beginnen

Das Beispiel
Im Beispiel unten würden wir:
1. Erstellen Sie 3 physische Volumes aus 3 physischen Laufwerken (/dev/sdb, /dev/sdc, /dev/sdd ).
2. Erstellen Sie eine Volumengruppe aus diesen 3 PVs (/dev/vg01 ).
3. Erstellen Sie ein Lgical Volume in dieser VG (/dev/vg01/lvol01 ).
4. Erstellen Sie ein Dateisystem auf diesem LV und hängen Sie es ein (/data01 ).

Physische Volumes erstellen

Die pvcreate Der Befehl wird verwendet, um das PV für die Verwendung durch LVM zu initialisieren. Stellen Sie vor dem Erstellen des PV sicher, dass die Festplatte im Betriebssystem sichtbar ist. Um die als PVs zu verwendenden Blockgeräte zu scannen, verwenden Sie lvmdiskscan Befehl.

# lvmdiskscan
.......
  /dev/sdb   [       2.00 GiB]
  /dev/sdc   [       2.00 GiB]
  /dev/sdd   [       2.00 GiB]
  3 disks
  19 partitions
  0 LVM physical volume whole disks
  0 LVM physical volumes

Initialisieren Sie die Blockgeräte :

# pvcreate /dev/sdb /dev/sdc /dev/sdd
  Physical volume "/dev/sdb" successfully created
  Physical volume "/dev/sdc" successfully created
  Physical volume "/dev/sdd" successfully created

Physische Volumes anzeigen
Verwenden Sie die Befehle pvdisplay , pvs und pvscan um die gerade erstellten PVs anzuzeigen.

# pvdisplay
  "/dev/sdb" is a new physical volume of "2.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb
  VG Name
  PV Size               2.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               Mt3F7z-a2AV-28Vn-uXe2-QejE-Z6tP-UMlQGM

  "/dev/sdc" is a new physical volume of "2.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc
  VG Name
  PV Size               2.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               5m1Fuc-yTRn-I2vG-bMfU-6SE7-53EA-s8VQjt

  "/dev/sdd" is a new physical volume of "2.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdd
  VG Name
  PV Size               2.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               1x3e2A-C0Lt-DrUA-tPSM-lsMu-sn70-qg1j8p
# pvscan
  PV /dev/sdb                      lvm2 [2.00 GiB]
  PV /dev/sdc                      lvm2 [2.00 GiB]
  PV /dev/sdd                      lvm2 [2.00 GiB]
  Total: 3 [6.00 GiB] / in use: 0 [0   ] / in no VG: 3 [6.00 GiB]
# pvs
  PV         VG   Fmt  Attr PSize PFree
  /dev/sdb        lvm2 a--  2.00g 2.00g
  /dev/sdc        lvm2 a--  2.00g 2.00g
  /dev/sdd        lvm2 a--  2.00g 2.00g

Erstellen Sie eine Volumengruppe

Verwenden Sie das vgcreate Befehl zum Erstellen der neuen Volumengruppe vg01 mit den 3 PVs, die wir gerade erstellt haben. Wir können die Extents mit -s spezifizieren Option und maximale Anzahl von PVs und LVs in der VG mit den Optionen -p und -l beziehungsweise. Alle diese Optionen sind optional und müssen nicht unbedingt verwendet werden.

# vgcreate vg01 /dev/sdb /dev/sdc /dev/sdd
  Volume group "vg01" successfully created

Die optionalen Optionen, die mit dem vgcreate-Befehl verwendet werden, sind:

Option Bedeutung
-s Physische Speicherbereichsgröße
-p Maximale Anzahl von PVs
-l Maximale Anzahl von LVs
–alloc Zuweisungsrichtlinie (entweder zusammenhängend, überall oder festhaltend)

Anzeige der VG-Informationen
Die Befehle vgs und vgdisplay können verwendet werden, um die Informationen über die gerade erstellte VG anzuzeigen:

# vgs vg01
  VG   #PV #LV #SN Attr   VSize VFree
  vg01   3   0   0 wz--n- 5.99g 5.99g
# vgdisplay vg01
  --- Volume group ---
  VG Name               vg01
  System ID
  Format                lvm2
  Metadata Areas        3
  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                3
  Act PV                3
  VG Size               5.99 GiB
  PE Size               4.00 MiB
  Total PE              1533
  Alloc PE / Size       0 / 0
  Free  PE / Size       1533 / 5.99 GiB
  VG UUID               Cw7GGz-NH3o-Sax2-5jPv-buZS-938T-tmNKFa

Aktivieren und Deaktivieren von VGs
Der vgchange Befehl kann verwendet werden, um eine Volumengruppe zu aktivieren/deaktivieren.
Um eine VG zu deaktivieren:

# vgchange -a n vg01
  0 logical volume(s) in volume group "vg01" now active

So aktivieren Sie eine VG:

# vgchange -a y vg01
  1 logical volume(s) in volume group "vg01" now active

Logisches Volume erstellen

Das logische Volume kann jetzt in der VG mit dem lvcreate-Befehl erstellt werden .
– Wenn Sie den LV-Namen im Befehl nicht angeben, erhält der LV standardmäßig den Namen lvol# .
– Normalerweise, wenn Sie nicht angeben, welches PV das LV umfassen soll, wird ein logisches Volume auf dem PV auf der nächsten freien Basis erstellt.
– So erstellen Sie ein logisches Volume lvol01 mit einer Größe von 5 GB:

# lvcreate -L 5G -n lvol01 vg01
  Logical volume "lvol01" created

Striped-Volume erstellen
So erstellen Sie ein Stripeset-Volume, das alle 3 von uns erstellten PVs umfasst:

# lvcreate -L 5G -I 4096 -i 3 -n lvol01 vg01
  Rounding size (1280 extents) up to stripe boundary size (1281 extents)
  Logical volume "lvol01" created
I - PVs to span while creating striped volume
i - stripe unit

Gespiegeltes Volume erstellen
So erstellen Sie ein dreifach gespiegeltes Volume, das sich über die 3 PVs (sdb, sdc, sdd) erstreckt:

# lvcreate -L 1G -m 2 -n lvol01 vg01
  Logical volume "lvol01" created

Wir können auch angeben, welche Geräte beim Erstellen des gespiegelten LV verwendet werden sollen. Da wir in unserem Fall nur 3 PVs in der VG hatten, wird die LV standardmäßig auf diesen 3 PVs erstellt.

Anzeigen der LV-Informationen
Die Befehle lvdisplay , lvs und lvscan kann verwendet werden, um die Informationen über das gerade erstellte LV anzuzeigen.

# lvs /dev/vg01/lvol01
  LV     VG   Attr      LSize Pool Origin Data%  Move Log         Cpy%Sync Convert
  lvol01 vg01 mwi-a-m-- 1.00g                         lvol01_mlog   100.00
# lvdisplay /dev/vg01/lvol01
  --- Logical volume ---
  LV Path                /dev/vg01/lvol01
  LV Name                lvol01
  VG Name                vg01
  LV UUID                ptlmAV-mO42-fWiJ-e2Ml-r9kj-PFcC-MOexxw
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2014-10-22 09:04:25 -0700
  LV Status              available
  # open                 0
  LV Size                1.00 GiB
  Current LE             256
  Mirrored volumes       3
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:4
# lvscan
  ACTIVE            '/dev/vg01/lvol01' [1.00 GiB] inherit

Dateisystem erstellen

Der letzte Schritt besteht darin, ein Dateisystem auf dem gerade erstellten neuen LV zu erstellen und es in einem Verzeichnis zu mounten, um darauf zugreifen und Daten darin speichern zu können. Der Befehl mkfs kann verwendet werden, um ein Dateisystem auf dem LV zu erstellen.

# mkfs.ext4 /dev/vg01/lvol01
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
65536 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
	32768, 98304, 163840, 229376

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 37 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

Das logische Volume kann gemountet werden, sobald das Dateisystem erstellt wurde. Achten Sie darauf, einen Eintrag zu /etc/fstab hinzuzufügen , sodass es beim Systemstart automatisch gemountet wird.

# mkdir /data01
# mount /dev/vg01/lvol01 /data01
# vi /etc/fstab
/dev/vg01/lvol01	/data01			ext4	defaults	0 0
# df -h /data01
Filesystem                   Size  Used  Avail  Use%  Mounted on
/dev/mapper/vg01-lvol01     1008M   34M  924M   4%    /data01

Das grafische Tool zur Verwaltung von LVM

Es gibt ein cooles grafisches Tool (system-config-lvm ) für den Fall, dass Sie verwenden möchten. Falls noch nicht auf dem System installiert, installieren Sie es mit yum:

# yum install system-config-lvm

Um das grafische LVM-Verwaltungstool zu starten, geben Sie den Befehl :

ein
# system-config-lvm

LVM-Konfiguration:Logical Volume (LV) Operations/Utilities
LVM Configuration:Volume Group (VG) Operations/Utilities
LVM Configuration:Physical Volume (PV) Operations/Utilities


Cent OS
  1. So erstellen Sie ein physisches Volume unter Linux mit LVM

  2. Logische Volumes unter Linux mit LVM erstellen

  3. Root mit Logical Volume Management verkleinern?

  4. CentOS / RHEL :So finden Sie logische Volumes (LVs), die in Physical Volumes (PVs) in LVM enthalten sind

  5. So reduzieren Sie ein LVM-Volume unter Ubuntu

Verwenden von LVM zum Verwalten von physischen Datenträgern, Datenträgergruppen und logischen Datenträgern – RHCSA Objective Preparation

Ein Leitfaden zu LVM-Snapshots mit ext4 unter CentOS 7

Verwaltung logischer Volumes

Sicherung und Wiederherstellung von LVM-Snapshots unter Linux

Verwaltung logischer Volumes unter Linux erklärt

Logisches Lvm-Volume auf virtueller Maschine erweitern?