Detaillierte Erläuterung der nahtlosen horizontalen LVM-Festplattenerweiterung basierend auf Linux

Detaillierte Erläuterung der nahtlosen horizontalen LVM-Festplattenerweiterung basierend auf Linux

An diesem Punkt gehen wir davon aus, dass der Server bereits über Folgendes verfügt:

  • Parted ist installiert (yum install parted)
  • Die Partitionskapazität wurde erreicht und das Unternehmen hat dem Server eine 4T-Festplatte hinzugefügt, um die Kapazität zu erhöhen!
  • Mit Ausnahme der /boot-Partition handelt es sich bei allen übrigen um erweiterte logische Partitionen im LVM-Modus.

Softwareinstallation und Informationsanzeige

Prüfen Sie zunächst, ob die Software installiert ist:

[root@Candy ~]# rpm -qa | grep lvm
lvm2-libs-2.02.118-2.el6.x86_64
lvm2-2.02.118-2.el6.x86_64
[root@Candy ~]# lv
lvchange lvextend lvmdiskscan lvmsar lvresize
lvkonvertieren lvm lvmdump lvreduzieren lvs
lvcreate lvmchange lvmetad lvremove lvscan
lvdisplay lvmconf lvmsadc lvrename
[root@Candy ~]# rpm -qa | grep getrennt
parted-2.1-29.el6.x86_64

Nachdem die Software bereit ist, überprüfen Sie die VM-Hardware:

[root@Candy ~]# df -h
Verwendete Dateisystemgröße Verfügbare Nutzung% Eingebunden auf
/dev/mapper/vg_candy-root
           7,3 G 231 M 6,7 G 4 % /
tmpfs 1,9 G 0 1,9 G 0 % /Entwickler/shm
/dev/sda1 477 M 30 M 422 M 7 % /boot
/dev/mapper/vg_candy-home
           3,9G 8,0M 3,7G 1% /Haushalt
/dev/mapper/vg_candy-usr
           3,9 G 382 M 3,3 G 11 % / Benutzer
/dev/mapper/vg_candy-var
           3,9 G 63 M 3,6 G 2 % /var
[root@Candy ~]# fdisk -l
Datenträger /dev/sda: 21,5 GB, 21474836480 Bytes
255 Köpfe, 63 Sektoren/Spur, 2610 Zylinder
Einheiten = Zylinder von 16065 * 512 = 8225280 Bytes
Sektorgröße (logisch/physisch): 512 Bytes / 512 Bytes
I/O-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Datenträgerkennung: 0x0006e71c
  Gerät Booten Start Ende Blöcke Id System
/dev/sda1 * 1 64 512000 83 Linux
Partition 1 endet nicht an der Zylindergrenze.
/dev/sda2 64 2611 20458496 8e Linux LVM
Datenträger /dev/sdb: 4398,0 GB, 4398046511104 Bytes
255 Köpfe, 63 Sektoren/Spur, 534698 Zylinder
Einheiten = Zylinder von 16065 * 512 = 8225280 Bytes
Sektorgröße (logisch/physisch): 512 Bytes / 512 Bytes
I/O-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Datenträgerkennung: 0x00000000
Datenträger /dev/mapper/vg_candy-root: 8061 MB, 8061452288 Bytes
255 Köpfe, 63 Sektoren/Spur, 980 Zylinder
Einheiten = Zylinder von 16065 * 512 = 8225280 Bytes
Sektorgröße (logisch/physisch): 512 Bytes / 512 Bytes
I/O-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Datenträgerkennung: 0x00000000
Datenträger /dev/mapper/vg_candy-usr: 4294 MB, 4294967296 Bytes
255 Köpfe, 63 Sektoren/Spur, 522 Zylinder
Einheiten = Zylinder von 16065 * 512 = 8225280 Bytes
Sektorgröße (logisch/physisch): 512 Bytes / 512 Bytes
I/O-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Datenträgerkennung: 0x00000000
Datenträger /dev/mapper/vg_candy-var: 4294 MB, 4294967296 Bytes
255 Köpfe, 63 Sektoren/Spur, 522 Zylinder
Einheiten = Zylinder von 16065 * 512 = 8225280 Bytes
Sektorgröße (logisch/physisch): 512 Bytes / 512 Bytes
I/O-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Datenträgerkennung: 0x00000000
Datenträger /dev/mapper/vg_candy-home: 4294 MB, 4294967296 Bytes
255 Köpfe, 63 Sektoren/Spur, 522 Zylinder
Einheiten = Zylinder von 16065 * 512 = 8225280 Bytes
Sektorgröße (logisch/physisch): 512 Bytes / 512 Bytes
I/O-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Datenträgerkennung: 0x00000000
[root@Candy ~]# ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sdb

An diesem Punkt können wir sehen, dass CentOS bereits weiß, dass eine Festplatte namens „sdb“ vorhanden ist, diese jedoch nicht gemountet oder partitioniert ist.

Verwenden Sie Parted zum Partitionieren vor der Erweiterung

Nehmen wir nun an, dass alle Partitionen außer /boot voll sind! Wir müssen zuerst partitionieren und die 4TB-Festplatte (/dev/sdb) verwenden.

[root@Candy ~]# getrennt /dev/sdb
GNU Parted 2.1
Verwenden von /dev/sdb
Willkommen bei GNU Parted! Geben Sie „help“ ein, um eine Liste der Befehle anzuzeigen.
(getrennt) mklabel
Neuer Datenträgerbezeichnungstyp? gpt
(getrennt) mkpart
Partitionsname? []?
Dateisystemtyp? [ext2]? ext4
Ausgangspunkt? 0T
Endpunkt? 4T
(getrennt) p
Modell: VMware, VMware Virtual S (scsi)
Datenträger /dev/sdb: 4398 GB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: gpt
Nummer Start Ende Größe Dateisystem Name Mark 1 1049kB 4398GB 4398GB
(getrennt) setze 1 lvm ein
(getrennt)p
Modell: VMware, VMware Virtual S (scsi)
Datenträger /dev/sdb: 4398 GB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: gpt
Nummer Start Ende Größe Dateisystem Name Flag 1 1049kB 4398GB 4398GB lvm
(getrennt)q
[root@Candy ~]# ls /dev/sd*
/dev/sda /dev/sda1 /dev/sda2 /dev/sdb /dev/sdb1

Nun erklären wir die Funktionsweise:

  1. mklabel konvertiert die Festplatte in eine GPT-Partition, da die MBR-Partition keine Festplatten auf TB-Ebene unterstützen kann (bitte prüfen Sie die Details selbst, parted unterstützt natürlich auch Operationen unterhalb der TB-Ebene).
  2. mkpart partitioniert die konvertierte GPT-Festplatte und benötigt den Dateisystemtyp sowie den Startpunkt und den Endpunkt.
  3. Geben Sie p ein, um die gerade erstellten Partitionen auszudrucken.
  4. set 1 lvm on setzt die Partition mit der Nummer 1 und dem Tagger auf LVM, damit sie zur VM-Volume-Gruppe hinzugefügt werden kann

Als nächstes prüfen wir, wie unsere LVM-Gruppe heißt:

[root@Candy ~]# vgs
 VG #PV #LV #SN Attr VGröße VFrei
 vg_candy 1 4 0 wz--n- 19,51 g 0
 
[root@Candy ~]# vgdisplay
 --- Datenträgergruppe ---
 VG-Name vg_candy
 System-ID
 Formatieren Sie lvm2
 Metadatenbereiche 1
 Metadatensequenz Nr. 5
 VG Zugriff lesen/schreiben
 VG Status größenveränderbar
 MAXIMALER WERT 0
 Kur LV 4
 Öffne LV 4
 Max. PV 0
 Aktueller PV 1
 Akt PV 1
 VG-Größe: 19,51 GiB
 PE-Größe 4,00 MiB
 Gesamt-EW 4994
 Alloc PE / Größe 4994 / 19,51 GiB
 Freies PE / Größe 0 / 0
 VG-UUID Gcm5Ml-fc88-Xk5q-xuPC-Kj7Y-alfK-i770Gc
[root@Candy ~]# lvscan
 ACTIVE '/dev/vg_candy/usr' [4,00 GiB] erben
 AKTIV '/dev/vg_candy/var' [4,00 GiB] erben
 ACTIVE '/dev/vg_candy/home' [4,00 GiB] erben
 ACTIVE '/dev/vg_candy/root' [7,51 GiB] erben
[root@Candy ~]#

Da wir wissen, dass die LVM-Volume-Gruppe „vg_candy“ heißt, verwenden wir vgextend, um Mitglieder zur LVM-Volume-Gruppe „vg_candy“ hinzuzufügen.

[root@Candy ~]# vgextend vag_candy /dev/sdb1
Physischer Datenträger „/dev/sdb1“ erfolgreich erstellt
Volume-Gruppe "vg_candy" erfolgreich erweitert

Verwenden wir nun den Befehl vgs, um die Anzahl der PVs zu überprüfen:

[root@Candy ~]# vgs
VG #PV #LV #SN Attr VGröße VFrei
vg_candy 2 4 0 wz--n- 4,02 t 4,00 t

Haben Sie gesehen, dass sich die Anzahl der PVs von 1 auf 2 geändert hat, indem Sie die VGS vor dem Hinzufügen verglichen haben?

Verwenden wir nun vgdisplay, um die aktuelle Partitionskapazität anzuzeigen.

[root@Candy ~]# vgdisplay
 --- Datenträgergruppe ---
 VG-Name vg_candy
 System-ID
 Formatieren Sie lvm2
 Metadatenbereiche 2
 Metadatensequenz Nr. 6
 VG Zugriff lesen/schreiben
 VG Status größenveränderbar
 MAXIMALER WERT 0
 Kur LV 4
 Öffne LV 4
 Max. PV 0
 Aktueller PV 2
 Akt PV 2
 VG-Größe: 4,02 TiB
 PE-Größe 4,00 MiB
 Gesamt-PE 1053569
 Alloc PE / Größe 4994 / 19,51 GiB
 Kostenloses PE / Größe 1048575 / 4,00 TiB
 VG-UUID Gcm5Ml-fc88-Xk5q-xuPC-Kj7Y-alfK-i770Gc

Wenn wir den nicht hinzugefügten vgdiplay-Befehl erneut vergleichen, stellen wir fest, dass sich der Wert von FreePE von 0 / 0 auf 1048575 / 4,00 TiB ändert. Dies bedeutet, dass Candy die 4-TB-LVM-Partition erfolgreich zur logischen Datenträgergruppe vg_candy hinzugefügt hat.

Bevor wir nun alle logischen Partitionen erweitern, können wir mit df -h sehen, welche Partitionen vorhanden sind.

[root@Candy ~]# df -h
Verwendete Dateisystemgröße Verfügbare Nutzung% Eingebunden auf
/dev/mapper/vg_candy-root 7,3 G 231 M 6,7 G 4 % /
 tmpfs 1,9 G 0 1,9 G 0 % /Entwickler/shm
/dev/sda1 477 M 30 M 422 M 7 % /boot
/dev/mapper/vg_candy-home 3,9 GB 8,0 M 3,7 GB 1 % /home         
/dev/mapper/vg_candy-usr 3,9 G 382 M 3,3 G 11 % /usr
/dev/mapper/vg_candy-var 3,9 G 63 M 3,6 G 2 % /var

Nachdem der Aufwand nun erledigt ist, muss nur noch die Kapazität der Partition erweitert werden.

Erweitern Sie die Festplattenkapazität

Angenommen: Wir müssen diesen Partitionen 500 G Kapazität hinzufügen: / , /home , /usr , /var

[root@Candy ~]# lvextend -L +500G /dev/mapper/vg_candy-root
 Größe des logischen Volumes vg_candy/root wurde von 7,51 GiB (1922 Extents) auf 507,51 GiB (129922 Extents) geändert.
 Die Größe des logischen Datenträgerstamms wurde erfolgreich geändert
 
[root@Candy ~]# lvextend -L +500G /dev/mapper/vg_candy-home
 Größe des logischen Datenträgers vg_candy/home von 4,00 GiB (1024 Extents) auf 504,00 GiB (129024 Extents) geändert.
 Die Größe des logischen Volumes Home wurde erfolgreich geändert
 
[root@Candy ~]# lvextend -L +500G /dev/mapper/vg_candy-usr
 Größe des logischen Datenträgers vg_candy/usr von 4,00 GiB (1024 Extents) auf 504,00 GiB (129024 Extents) geändert.
 Die Größe des logischen Datenträgers usr wurde erfolgreich geändert
 
[root@Candy ~]# lvextend -L +500G /dev/mapper/vg_candy-var
 Größe des logischen Volumes vg_candy/var wurde von 4,00 GiB (1024 Extents) auf 504,00 GiB (129024 Extents) geändert.
 Die Größe des logischen Datenträgers var wurde erfolgreich geändert

Bitte beachten Sie, dass dieser Schritt irreversibel ist! Es ist in Ordnung, wenn Sie den falschen Partitionsnamen eingeben! Wenn Sie es zu anderen Partitionen hinzufügen, müssen Sie den Vorgang N-mal wiederholen, um die Kapazität zu verringern, was ziemlich mühsam ist! Ich schlage vor, dass Sie das Dateisystem oben sorgfältig prüfen. Denken Sie daran ...

Die Erweiterung ist erfolgreich! Lassen Sie uns den obigen Befehl noch einmal verwenden, um die LVM-Informationen anzuzeigen:

[root@Candy ~]# vgs
 VG #PV #LV #SN Attr VGröße VFrei
 vg_candy 2 4 0 wz--n- 4,02 t 2,05 t 
 
[root@Candy ~]# lvscan
 ACTIVE '/dev/vg_candy/usr' [504,00 GiB] erben
 AKTIV '/dev/vg_candy/var' [504,00 GiB] erben
 AKTIV '/dev/vg_candy/home' [504,00 GiB] erben
 ACTIVE '/dev/vg_candy/root' [507,51 GiB] erben
 
[root@Candy ~]# vgdisplay
 --- Datenträgergruppe ---
 VG-Name vg_candy
 System-ID
 Formatieren Sie lvm2
 Metadatenbereiche 2
 Metadatensequenz Nr. 10
 VG Zugriff lesen/schreiben
 VG Status größenveränderbar
 MAXIMALER WERT 0
 Kur LV 4
 Öffne LV 4
 Max. PV 0
 Aktueller PV 2
 Akt PV 2
 VG-Größe: 4,02 TiB
 PE-Größe 4,00 MiB
 Gesamt-PE 1053569
 Alloc PE / Größe 516994 / 1,97 TiB
 Kostenloses PE / Größe 536575 / 2,05 TiB
 VG-UUID Gcm5Ml-fc88-Xk5q-xuPC-Kj7Y-alfK-i770Gc
 
[root@Candy ~]# df -h
Verwendete Dateisystemgröße Verfügbare Nutzung% Eingebunden auf
/dev/mapper/vg_candy-root 7,3 G 231 M 6,7 G 4 % /
 tmpfs 1,9 G 0 1,9 G 0 % /Entwickler/shm
/dev/sda1 477 M 30 M 422 M 7 % /boot
/dev/mapper/vg_candy-home 3,9 GB 8,0 M 3,7 GB 1 % /home         
/dev/mapper/vg_candy-usr 3,9 GB 382 M 3,3 GB 11 % /usr
/dev/mapper/vg_candy-var 3,9 G 63 M 3,6 G 2 % /var

Das wird Sie vielleicht überraschen! Warum hat sich df -h nicht geändert?

Datenträgerinformationen aktualisieren und schreiben

Wir müssen resize2fs verwenden, um die Größe der Partition zu ändern, damit df -h auch wirksam werden kann.

Die für resize2fs benötigte Zeit ist linear mit der von Ihnen bereitgestellten Kapazität überlagert. Mit anderen Worten: Je mehr Kapazität Sie bereitstellen, desto länger dauert resize2fs.

[root@Candy ~]# resize2fs /dev//mapper/vg_candy-root
resize2fs 1.41.12 (17. Mai 2010)
Das Dateisystem unter /dev//mapper/vg_candy-root ist auf / gemountet; Online-Größenänderung erforderlich. Alte Desc_Blocks = 1, neue Desc_Blocks = 32.
Durchführen einer Online-Größenänderung von /dev//mapper/vg_candy-root auf 133040128 (4k) Blöcke.
Das Dateisystem auf /dev//mapper/vg_candy-root ist jetzt 133040128 Blöcke lang.

[root@Candy ~]# resize2fs /dev//mapper/vg_candy-usr
resize2fs 1.41.12 (17. Mai 2010)
Dateisystem unter /dev//mapper/vg_candy-usr ist auf /usr gemountet; Online-Größenänderung erforderlich, alte Desc_Blocks = 1, neue Desc_Blocks = 32
Durchführen einer Online-Größenänderung von /dev//mapper/vg_candy-usr auf 132120576 (4k) Blöcke.
Das Dateisystem auf /dev//mapper/vg_candy-usr ist jetzt 132120576 Blöcke lang.

[root@Candy ~]# resize2fs /dev//mapper/vg_candy-var
resize2fs 1.41.12 (17. Mai 2010)
Dateisystem unter /dev//mapper/vg_candy-var ist auf /var gemountet; Online-Größenänderung erforderlich, alte Desc_Blocks = 1, neue Desc_Blocks = 32
Durchführen einer Online-Größenänderung von /dev//mapper/vg_candy-var auf 132120576 (4k) Blöcke.
Das Dateisystem auf /dev//mapper/vg_candy-var ist jetzt 132120576 Blöcke lang.

[root@Candy ~]# resize2fs /dev//mapper/vg_candy-home
resize2fs 1.41.12 (17. Mai 2010)
Das Dateisystem unter /dev//mapper/vg_candy-home ist auf /home gemountet; Online-Größenänderung erforderlich: alte Desc_Blocks = 1, neue Desc_Blocks = 32
Durchführen einer Online-Größenänderung von /dev//mapper/vg_candy-home auf 132120576 (4k) Blöcke.
Das Dateisystem auf /dev//mapper/vg_candy-home ist jetzt 132120576 Blöcke lang.

[root@Candy ~]# df -h
Verwendete Dateisystemgröße Verfügbare Nutzung% Eingebunden auf
/dev/mapper/vg_candy-root 500 G 245 M 474 G 1 % /
tmpfs 1,9 G 0 1,9 G 0 % /Entwickler/shm
/dev/sda1 477 M 30 M 422 M 7 % /boot
/dev/mapper/vg_candy-home 496 G 16 M 471 G 1 % /home
/dev/mapper/vg_candy-usr 496 G 390 M 471 G 1 % /usr
/dev/mapper/vg_candy-var 496 G 71 M 471 G 1 % /var

Abschluss

Übrigens zeige ich Ihnen ein Bild vom automatischen Mounten des Systems nach dem Neustart!

Das Linux-System ist ziemlich intelligent. Tatsächlich kann es mit oder ohne Neustart verwendet werden. Ich möchte Ihnen nur die Auswirkungen nach dem Neustart zeigen.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Problem der LVM-Festplattenerweiterung in Centos7 unter Linux
  • Linux-Datenträgerverwaltung – LVM-Nutzung
  • Detaillierte Beispiele für Linux-Festplattengeräte- und LVM-Verwaltungsbefehle
  • Detaillierte Schritte zum Erweitern der LVM-Festplatte unter Linux

Umfeld

Name Eigentum
CPU x5650
Erinnerung 4G
Scheibe 20 GB + 4 TB

<<:  Zusammenfassung von 10 erweiterten Tipps für Vue Router

>>:  Beispiel für die Verwendung von mycat zur Implementierung der Lese-/Schreibtrennung in MySQL-Datenbanken

Artikel empfehlen

Schritte zum Öffnen des MySQL-Binlogs

Binlog ist eine binäre Protokolldatei, die zum Au...

Implementierung von zwei Basis-Images für die Docker-Bereitstellung von Go

1. golang:neuestes Basis-Image mkdir gotest Berüh...

Detailliertes Beispiel einer MySQL-Austauschpartition

Detailliertes Beispiel einer MySQL-Austauschparti...

Detaillierte Erläuterung der Anwendungsbeispiele für Vue-Router 4

Inhaltsverzeichnis 1. Installieren und erstellen ...

Detaillierte Erklärung der Javascript-Grundlagenschleife

Inhaltsverzeichnis Zyklus für für-in für-von währ...

Linux-Grundlagen-Tutorial: Sonderberechtigungen SUID, SGID und SBIT

Vorwort Für Datei- oder Verzeichnisberechtigungen...

Markup-Validierung für Doctype

Aber vor kurzem habe ich festgestellt, dass die Ve...

So migrieren Sie SQLite zu einem MySQL-Skript

Ohne weitere Umschweife werde ich den Code direkt...

Zwei Möglichkeiten zum korrekten Bereinigen von MySQL-Binlog-Protokollen

mysql bereinigt Binlog-Protokolle korrekt Vorwort...

XHTML-Tutorial für die ersten Schritte: XHTML-Webseiten-Bildanwendung

<br />Das sinnvolle Hinzufügen von Bildern k...

js realisiert die Funktion zum Klicken zum Wechseln der Karte

In diesem Artikelbeispiel wird der spezifische Co...

Vue implementiert einen Scrollbar-Stil

Zuerst wollte ich den Stil der Bildlaufleiste des...