Logical Volume Management (LVM) erleichtert die Verwaltung von Festplattenspeicher. Benötigt ein Dateisystem mehr Platz, kann es von den freien Plätzen in seiner Volume-Gruppe zu seinen logischen Volumes hinzugefügt werden und das Dateisystem kann nach Belieben neu dimensioniert werden. Wenn ein Laufwerk ausfällt, kann ein Ersatzlaufwerk als physisches Volume in der Volume-Gruppe registriert werden und die Extents der logischen Volumes können ohne Datenverlust auf das neue Laufwerk migriert werden.
In der modernen Welt benötigt jeder Server Tag für Tag mehr Speicherplatz, den wir je nach Bedarf erweitern müssen. Logische Volumes können in RAID, SAN verwendet werden. Eine physische Festplatte wird gruppiert, um eine Volume-Gruppe zu erstellen. Innerhalb der Volume-Gruppe müssen wir den Speicherplatz aufteilen, um logische Volumes zu erstellen. Bei der Verwendung von logischen Volumes können wir die Größe von logischen Volumes mit einigen Befehlen über mehrere Festplatten erweitern oder reduzieren, ohne die aktuelle Festplatte neu zu formatieren und zu partitionieren. Volumes können Daten über mehrere Festplatten streifen, was die E/A-Statistiken erhöhen kann.
LVM-Funktionen
- Es ist flexibel, den Speicherplatz jederzeit zu erweitern.
- Beliebige Dateisysteme können installiert und gehandhabt werden.
- Migration kann verwendet werden, um defekte Festplatten wiederherzustellen.
- Wiederherstellung des Dateisystems mit Snapshot-Funktionen auf eine frühere Stufe. usw…
Mein Server Setup – Anforderungen
- Betriebssystem – CentOS 6.5 mit LVM-Installation
- Server IP – 192.168.0.200
Diese Serie wird unter dem Titel Vorbereitung für die Einrichtung von LVM (Logical Volume Management) durch die Teile 1-6 geführt und behandelt folgende Themen.
LVM-Plattenspeicher in Linux erstellen
1. Wir haben das Betriebssystem CentOS 6.5 mit LVM in einer virtuellen Festplatte (VDA) verwendet. Hier können wir mit folgendem Befehl das Physical Volume (PV), Volume Group (VG), Logical Volume (LV) sehen.
# pvs # vgs# lvs
Hier ist die Beschreibung der einzelnen Parameter, die im obigen Screenshot gezeigt werden.
- Physical Disk Size (PV Size)
- Die verwendete Festplatte war die virtuelle Festplatte vda.
- Volumengruppengröße (VG-Größe)
- Volumengruppenname (vg_tecmint)
- Logischer Volume-Name (LogVol00, LogVol01)
- LogVol00 zugewiesen für sawp mit 1GB Größe
- LogVol01 zugewiesen für / mit 16.5GB
So, von hier kommen wir zu wissen, dass es nicht genug freien Platz in VDA Festplatte.
2. Für das Erstellen einer neuen Volume Group, müssen wir zusätzliche 3 Festplatten in diesem Server hinzufügen. Es ist nicht zwingend erforderlich, 3 Festplatten zu verwenden, eine reicht aus, um eine neue VG und ein LV in dieser VG zu erstellen. Ich füge hier weitere Festplatten zu Demonstrationszwecken und für weitere Erklärungen zum Funktionsbefehl hinzu.
Nachfolgend sind die Festplatten aufgeführt, die ich zusätzlich hinzugefügt habe.
sda, sdb, sdc
# fdisk -l
- Standardfestplatte, die für das Betriebssystem (Centos6.5).
- In der Standard-Diskette definierte Partitionen (vda1 = swap), (vda2 = /).
- Zusätzlich hinzugefügte Disks werden als Disk1, Disk2, Disk3 bezeichnet.
Jede einzelne Diskette ist 20 GB groß. Die Standard-PE-Größe einer Volume Group ist 4 MB, die Volume Group, die wir in diesem Server verwenden, ist mit der Standard-PE konfiguriert.
- VG Name – Ein Volume Group Name.
- Format – Verwendete LVM-Architektur LVM2.
- VG-Zugriff – Volume Group ist im Lese- und Schreibzugriff und bereit zur Verwendung.
- VG Status – Volume Group kann in der Größe verändert werden, wir können mehr expandieren, wenn wir mehr Platz benötigen.
- Cur LV – Derzeit waren 2 logische Volumes in dieser Volume Group.
- CurPV und Act PV – Currently Using Physical Disk was 1 (vda), And its active, so what we can use this volume group.
- PE Size – Physical Extends, Size for a disk can be defined using PE or GB size, 4MB is the Default PE size of LVM. Wenn wir z.B. ein logisches Volume mit einer Größe von 5 GB erstellen wollen, können wir die Summe von 1280 PE verwenden, verstehen Sie nicht, was ich meine?
Hier die Erklärung -> 1024MB = 1GB, wenn so 1024MB x 5 = 5120PE = 5GB, Jetzt teilen Sie die 5120/4 = 1280, 4 ist die Standard PE Größe.
- Gesamt PE – Diese Volume Gruppe haben.
- Alloc PE – Total PE Used, full PE already Used, 4482 x 4PE = 17928.
- Free PE – Here it’s already used so there was no free PE.
3. Only vda used, Currently Centos Installed /boot, /, swap, in vda physical disk using lvm there were no space remaining in this disk.
# df -TH
Das obige Bild zeigt den Einhängepunkt, den wir verwenden, 18GB voll belegt für Root, es ist also kein freier Speicherplatz verfügbar.
4. Erstellen wir also ein neues physisches Volume (pv), eine Volume Group (vg) mit dem Namen tecmint_add_vg und erstellen wir darin logische Volumes (lv). Hier können wir 4 logische Volumes mit den Namen tecmint_documents, tecmint_manager und tecmint_public erstellen.
Wir können die Volume Group der aktuell verwendeten VG erweitern, um mehr Platz zu erhalten. Aber hier werden wir eine neue Volume Group erstellen und damit herumspielen, später können wir sehen, wie wir die Volume Group des Dateisystems, das derzeit verwendet wird, erweitern können.
Bevor wir eine neue Platte verwenden, müssen wir die Platte mit fdisk partitionieren.
# fdisk -cu /dev/sda
- c – DOS-kompatiblen Modus ausschalten es wird empfohlen, diese Option einzuschließen.
- u – Beim Auflisten der Partitionstabellen wird in Sektoren statt in Zylindern angegeben.
Nächste Schritte zum Erstellen einer neuen Partition sind die folgenden.
- Wählen Sie n, um eine neue zu erstellen.
- Wählen Sie p, um eine primäre Partition zu erstellen.
- Wählen Sie, welche Anzahl von Partitionen wir erstellen müssen.
- Drücken Sie zweimal die Eingabetaste, um den gesamten Speicherplatz der Festplatte zu nutzen.
- Wir müssen den Typ der neu erstellten Partition vom Typ t ändern.
- Welche Anzahl von Partitionen müssen Sie ändern, wählen Sie die Nummer, die wir erstellt haben, ihre 1.
- Hier müssen wir den Typ ändern, wir müssen LVM erstellen, also werden wir den Typ-Code von LVM als 8e verwenden, wenn wir den Typ-Code nicht kennen, drücken Sie L, um alle Typ-Codes aufzulisten.
- Drucken Sie die Partition, die wir erstellt haben, um nur zu bestätigen.
- Hier sehen wir die ID als 8e LINUX LVM.
- Schreiben Sie die Änderungen und beenden Sie fdisk.
Führen Sie die obigen Schritte für die anderen beiden Festplatten sdb und sdc aus, um neue Partitionen zu erstellen. Starten Sie anschließend den Rechner neu, um die Partitionstabelle mit dem Befehl fdisk zu überprüfen.
# fdisk -l
Physikalische Volumes erstellen
5. Nun ist es an der Zeit, Physical Volumes mit allen 3 Festplatten zu erstellen. Hier habe ich die physische Festplatte mit dem pvs-Befehl aufgelistet, nur eine Standard-pvs ist jetzt aufgelistet.
# pvs
Dann erstellen Sie die neuen physischen Festplatten mit dem Befehl.
# pvcreate /dev/sda1 /dev/sdb1 /dev/sdc1
Zeigen Sie erneut die Festplatte an, um die neu erstellten physischen Festplatten zu sehen.
# pvs
Volume-Gruppen erstellen
6. Erstellen Sie eine Volume Group mit dem Namen tecmint_add_vg unter Verwendung von verfügbarem freien PV Create mit PE-Größe 32. Um die aktuellen Volume-Gruppen anzuzeigen, können wir sehen, dass es eine Volume-Gruppe mit 1 PV gibt.
# vgs
Dies wird die Volume-Gruppe mit 32MB PE-Größe im Namen von tecmint_add_vg unter Verwendung von 3 physischen Volumes erstellen, die wir in den letzten Schritten erstellt haben.
# vgcreate -s 32M tecmint_add_vg /dev/sda1 /dev/sdb1 /dev/sdc1
Nächstes verifizieren Sie die Volume-Gruppe, indem Sie den Befehl vgs erneut ausführen.
# vgs
Verstehen der Ausgabe des Befehls vgs:
- Name der Volume-Gruppe.
- Physikalische Volumes, die in dieser Volume Group verwendet werden.
- Zeigt den freien Speicherplatz an, der in dieser Volume Group verfügbar ist.
- Gesamtgröße der Volume Group.
- Logische Volumes innerhalb dieser Volume Group, hier haben wir noch keine erstellt, daher steht hier 0.
- SN = Anzahl der Snapshots, die die Volume Group enthält. (Später können wir einen Snapshot erstellen).
- Status der Volume-Gruppe als beschreibbar, lesbar, größenveränderbar, exportiert, teilweise und geclustert, hier ist es wz-n-, das bedeutet w = beschreibbar, z = größenveränderbar..
- Anzahl der in dieser Volume-Gruppe verwendeten physikalischen Volumes (PV).
7. Um weitere Informationen über die Volume-Gruppe anzuzeigen, verwenden Sie den Befehl.
# vgs -v
8. Um weitere Informationen über neu erstellte Volume-Gruppen zu erhalten, führen Sie den folgenden Befehl aus.
# vgdisplay tecmint_add_vg
- Name der Volume-Gruppe
- Verwendete LVM-Architektur.
- Sie kann im Lese- und Schreibzustand verwendet werden.
- Diese Volume-Gruppe kann in der Größe verändert werden.
- Anzahl der verwendeten physischen Datenträger und sie sind aktiv.
- Gesamtgröße der Volume-Gruppe.
- Eine einzelne PE-Größe war hier 32.
- Gesamtzahl der in dieser Volume-Gruppe verfügbaren PE.
- Zurzeit haben wir kein LV innerhalb dieser VG erstellt, also ist sie völlig frei.
- UUID dieser Volume Group.
Erstellen von logischen Volumes
9. Legen Sie nun 3 Logical Volumes mit den Namen tecmint_documents, tecmint_manager und tecmint_public an. Hier sehen wir, wie man Logical Volumes mit PE-Größe und mit GB-Größe erstellt. Zuerst listen Sie die aktuellen Logical Volumes mit folgendem Befehl auf.
# lvs
10. Diese logischen Volumes befinden sich in der Volume-Gruppe vg_tecmint. Listen Sie auf und sehen Sie, wie viel freier Speicherplatz vorhanden ist, um logische Volumes mit dem Befehl pvs zu erstellen.
# pvs
11. Die Größe der Volume-Gruppe beträgt 54 GB und ist unbenutzt, also können wir darin ein LV erstellen. Lassen Sie uns die Volume-Gruppe auf die gleiche Größe aufteilen, um 3 logische Volumes zu erstellen. Das bedeutet 54GB/3 = 18GB, ein einzelnes Logical Volume wird nach der Erstellung 18GB groß sein.
Methode 1: Erstellen von Logical Volumes unter Verwendung von PE-Größen
Zuerst erstellen wir Logical Volumes unter Verwendung von Physical Extends (PE) Größe. Wir müssen die Standard-PE-Größe, die für diese Volume Group zugewiesen wurde, und die gesamte verfügbare PE-Größe zum Erstellen neuer logischer Volumes kennen.
# vgdisplay tecmint_add_vg
- Default PE Assigned for this VG is 32MB, Hier wird die einzelne PE-Größe 32MB sein.
- Gesamt verfügbare PE ist 1725.
Machen Sie einfach eine kleine Berechnung mit dem bc-Befehl und Sie werden sehen.
# bc
1725PE/3 = 575 PE. 575 PE x 32MB = 18400 --> 18GB
Drücken Sie CRTL+D, um bc zu beenden. Lassen Sie uns nun 3 logische Volumes mit 575 PE’s erstellen.
# lvcreate -l (Extend size) -n (name_of_logical_volume) (volume_group)# lvcreate -l 575 -n tecmint_documents tecmint_add_vg# lvcreate -l 575 -n tecmint_manager tecmint_add_vg# lvcreate -l 575 -n tecmint_public tecmint_add_vg
- -l – Erstellen mit Extent Size
- -n – Geben Sie einen Namen für das logische Volume.
Listen Sie die erstellten logischen Volumes mit dem Befehl lvs auf.
# lvs
Methode 2: Erstellen von logischen Volumes mit GB-Größen
Bei der Erstellung von logischen Volumes mit GB-Größen können wir die genaue Größe nicht ermitteln. Der bessere Weg ist also, mit extend zu erstellen.
# lvcreate -L 18G -n tecmint_documents tecmint_add_vg# lvcreate -L 18G -n tecmint_manager tecmint_add_vg# lvcreate -L 18G -n tecmint_public tecmint_add_vg# lvcreate -L 17.8G -n tecmint_public tecmint_add_vg
Listen Sie die erstellten logischen Volumes mit dem Befehl lvs auf.
# lvs
Hier, können wir sehen, dass wir beim Erstellen des dritten LVs nicht auf 18 GB aufrunden können. Das liegt an den kleinen Änderungen in der Größe, aber dieses Problem wird beim Erstellen von LVs mit „Größe erweitern“ ignoriert.
Erstellen des Dateisystems
12. Um die logischen Volumes zu verwenden, müssen wir sie formatieren. Hier verwende ich das ext4-Dateisystem, um die Volumes zu erstellen, und werde sie unter /mnt/ mounten.
# mkfs.ext4 /dev/tecmint_add_vg/tecmint_documents# mkfs.ext4 /dev/tecmint_add_vg/tecmint_public# mkfs.ext4 /dev/tecmint_add_vg/tecmint_manager
13. Lassen Sie uns Verzeichnisse in /mnt erstellen und die logischen Volumes mounten, was wir als Dateisystem erstellt haben.
# mount /dev/tecmint_add_vg/tecmint_documents /mnt/tecmint_documents/# mount /dev/tecmint_add_vg/tecmint_public /mnt/tecmint_public/# mount /dev/tecmint_add_vg/tecmint_manager /mnt/tecmint_manager/
Listen Sie den Mountpunkt auf und bestätigen Sie ihn mit.
# df -h
Permanentes Mounten
Es ist nun temporär gemountet, für das permanente Mounten müssen wir den Eintrag in der fstab hinzufügen, Dazu holen wir uns den Mount-Eintrag aus der mtab mit
# cat /etc/mtab
Während wir den Inhalt des Mount-Eintrags aus der mtab kopieren, müssen wir leichte Änderungen in der fstab vornehmen, indem wir den rw-Wert auf Standardwerte ändern
# vim /etc/fstab
Unser fstab-Eintrag soll ähnlich wie das folgende Beispiel aussehen. Speichern und verlassen Sie die fstab mit wq!
/dev/mapper/tecmint_add_vg-tecmint_documents /mnt/tecmint_documents ext4 defaults 0 0/dev/mapper/tecmint_add_vg-tecmint_public /mnt/tecmint_public ext4 defaults 0 0/dev/mapper/tecmint_add_vg-tecmint_manager /mnt/tecmint_manager ext4 defaults 0 0
Führen Sie den Befehl mount -a aus, um den fstab-Eintrag vor dem Neustart zu prüfen.
# mount -av
Hier haben wir gesehen, wie man flexiblen Speicher mit logischen Volumes einrichtet, indem man physische Platte zu physischem Volume verwendet, physisches Volume zu Volume-Gruppe, Volume-Gruppe zu logischen Volumes.
In meinen kommenden Artikeln werde ich sehen, wie man die Volume-Gruppe erweitert, logische Volumes, logische Volumes verkleinert, einen Snapshot macht und von einem Snapshot wiederherstellt. Bis dahin bleiben Sie bei TecMint auf dem Laufenden, um mehr solcher großartigen Artikel zu lesen.