Centos 7 Erweitern Sie die Partition mit nicht zugewiesenem Speicherplatz

13

Ich habe einen Centos 7-Server. (CentOS Linux release 7.3.1611 (Core))Als ich meinen Server aktualisiert habe, habe ich einen Fehler festgestellt. Sie benötigen zusätzlichen Speicherplatz. Aber ich hatte 20 GB Festplatte auf dem Server, als ich den Festplattenspeicher überprüfte. Ich sah, dass nur eine Partition mit 4,5 GB erstellt wurde und eine Partition mit 16 GB freien Speicherplatz hat, der nicht zugewiesen wurde. Wie kann ich die Partition von 16 GB freiem Speicherplatz erweitern?

lsblk:

NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
fd0               2:0    1    4K  0 disk
sda               8:0    0   20G  0 disk
├─sda1            8:1    0  500M  0 part /boot
└─sda2            8:2    0  4.5G  0 part
  ├─centos-root 253:0    0    4G  0 lvm  /
  └─centos-swap 253:1    0  512M  0 lvm  [SWAP]
sr0              11:0    1 1024M  0 rom

Bildbeschreibung hier eingeben

Kibar
quelle
do man lvmor tldp.org/HOWTO/LVM-HOWTO
alexus

Antworten:

19

Es sind drei Schritte auszuführen:

  1. Ändern Sie Ihre Partitionstabelle so, dass sie sda2am Ende der Festplatte endet
  2. Partitionstabelle erneut lesen (Neustart erforderlich)
  3. Ändern Sie die Größe Ihres LVM-Pv mit pvresize

Schritt 1 - Partitionstabelle

Laufen fdisk /dev/sda. Problem p, um Ihre aktuelle Partitionstabelle zu drucken und diese Ausgabe an einen sicheren Ort zu kopieren. Jetzt Problem dgefolgt von 2, um die zweite Partition zu entfernen. Problem nzum Erstellen einer neuen zweiten Partition. Stellen Sie sicher, dass der Start dem Start der Partitionstabelle entspricht, die Sie zuvor gedruckt haben. Stellen Sie sicher, dass sich das Ende am Ende der Festplatte befindet (normalerweise die Standardeinstellung).

Problem, tgefolgt von, 2um 8eden Partitionstyp Ihrer neuen zweiten Partition auf 8e (Linux LVM) umzuschalten.

Ausgabe pIhr neues Partitionslayout und stellen Sie sicher , dass der Start der neuen zweiten Partition zu überprüfen ist genau dort , wo die alte zweite Partition war.

Wenn alles richtig aussieht, können Sie wdie Partitionstabelle auf die Festplatte schreiben. Sie erhalten eine Fehlermeldung von partprobe, dass die Partitionstabelle nicht erneut gelesen werden konnte (weil der Datenträger verwendet wird).

Starten Sie Ihr System neu

Dieser Schritt ist erforderlich, damit die Partitionstabelle erneut gelesen wird.

Ändern Sie die Größe der LVM-PV

Nach dem Neustart Ihres Systems rufen Sie auf pvresize /dev/sda2. Ihr physisches LVM-Volume erstreckt sich nun über den Rest des Laufwerks, und Sie können logische Volumes in diesem Bereich erstellen oder erweitern.

Andreas Rogge
quelle
eine tolle lösung, es funktioniert einwandfrei. immer noch nur der Teil, wie man logische Volumes erweitert.
Mimouni,
Diese hervorragende Antwort hielt kurz vor dem Ziel an! Ich fand heraus, wie ich es beenden sollte. Das in der Frage geteilte Beispiel zeigte zwei logische Datenträger unter Keith sda2: centos-rootund centos-swap. In diesem Fall ist die Datenträgergruppe centosund die beiden logischen Datenträger in dieser Gruppe sind rootund swap. Wenn wir das centos-rootVolume in diesem Beispiel mit 50% des verfügbaren Speicherplatzes in unserer frisch erweiterten sda2Partition erweitern möchten, würden wir verwenden lvextend -r -l +50%FREE /dev/centos/root. Das -rändert die Größe des zugrunde liegenden Dateisystem den erweiterten logischen Volumen anzupassen.
Shadoninja
@Shadoninja, das ist nicht im Rahmen der ursprünglichen Frage. Ich habe es also nicht hinzugefügt und werde es in Zukunft nicht mehr zu dieser Frage hinzufügen.
Andreas Rogge
@AndreasRogge Ich würde argumentieren, dass dies vollständig im Rahmen dieser Frage liegt, da die Terminologie in diesem Bereich verwirrend und leicht zusammenzufügen sein kann. Es lohnt sich, eine vollständige Zusammenfassung darüber zu veröffentlichen, wie nicht zugewiesener Speicherplatz vom Dateisystem verwendet werden kann, da dies ein äußerst häufiger Grund für die Menschen ist, diese Frage zu beantworten.
Shadoninja
12

Sie können dies tun, ohne in CentOS 7 neu zu starten. Angenommen, Ihre Festplatte ist / dev / vda und die Standard-RHEL / CentOS-Partitionierung:

Partition erweitern

# fdisk /dev/vda

Geben Sie ein p, um Ihre anfängliche Partitionstabelle zu drucken.

Geben Sie d(delete) ein, gefolgt von 2, um die vorhandene Partitionsdefinition zu löschen (Partition 1 ist normalerweise / boot und Partition 2 ist normalerweise die Root-Partition).

Geben Sie n(neu) gefolgt von p(primär) ein, gefolgt von 2, um Partition Nummer 2 neu zu erstellen und enterden Startblock enterzu akzeptieren. Akzeptieren Sie erneut den Endblock, der standardmäßig dem Ende der Festplatte angehört.

Geben Sie t(Typen) , dann 2dann 8eden neuen Partitionstyp zu ändern , um „Linux LVM“.

Geben Sie ein p, um Ihre neue Partitionstabelle zu drucken, und stellen Sie sicher, dass der Startblock mit dem übereinstimmt, der in der oben angegebenen anfänglichen Partitionstabelle angegeben ist.

Geben Sie ein w, um die Partitionstabelle auf die Festplatte zu schreiben. Es wird ein Fehler angezeigt, Device or resource busyden Sie ignorieren können.

Kernel-In-Memory-Partitionstabelle aktualisieren

Führen Sie nach dem Ändern der Partitionstabelle den folgenden Befehl aus, um die Partitionstabelle im Kernel zu aktualisieren:

# partx -u /dev/vda

Ändern Sie die Größe der physischen Lautstärke

Ändern Sie die PV-Größe, um den zusätzlichen Platz zu erkennen

# pvresize /dev/vda2

Ändern Sie die Größe von LV und Dateisystem

In diesem Befehl centosist der PV, rootist der LV und /dev/vda2ist die Partition, die erweitert wurde. Verwenden Sie pvsund lvs, um Ihre physischen und logischen Datenträgernamen anzuzeigen, wenn Sie sie nicht kennen. Die -rOption in diesem Befehl ändert die Größe des Dateisystems entsprechend, sodass Sie nicht resize2fsoder xfs_growfsseparat aufrufen müssen .

# lvextend -r centos/root /dev/vda2
Aner
quelle
Kompliziertere Antwort als die "ausgewählte Antwort"!
Furkat U.
4

Für diejenigen, die Probleme haben, logische Volumes wie ich zu erweitern, könnte das Lesen dieses Beitrags hilfreich sein. Zusammenfassend können Sie lvextendIhr logisches Volume mit erweitern: lvextend -l +<PE> <LV_PATH> Sie können die Anzahl der verbleibenden PE ( <PE>) bis vgdisplayund den Pfad Ihres logischen Volumes ( LV_PATH) bis ermitteln lvdisplay.

Abhängig von Ihrer Distribution möchten Sie dann entweder xfs_growfs <LV_PATH>(Centos 7) oder resize2fs <LV_PATH>die Größe endgültig ändern.

liwt31
quelle
0

Probieren Sie es aus - alles in einer einzigen Zeile, keine Fragen:

parted —pretend-input-tty /dev/vda resizepart 2 100%;
partx -u /dev/vda; pvresize /dev/vda2;
lvextend -r centos/var /dev/vda2
Hix
quelle
Sie sollten erwägen, Erklärungen und Ihre Umgebung hinzuzufügen. Zum Beispiel hat mein partx keine Option -u(Centos6.7 util-linux-ng-2.17.2-12.28.el6).
Boop