Ich habe eine 400 GB Festplatte mit einer 320 GB ext4-Partition. Ich möchte die ext4-Partition vergrößern, um den linken Speicherplatz (80 GB freier Speicherplatz) zu nutzen.
+--------------------------------+--------+
| ext4 | Free |
+--------------------------------+--------+
Wie könnte ich das machen?
Ich habe Leute gesehen, die verwendet haben, resize2fs
aber ich verstehe nicht, ob die Größe der Partition geändert wird.
Eine andere Lösung wäre zu verwenden, fdisk
aber ich möchte meine Partition nicht löschen und Daten verlieren. Wie könnte ich die Partition einfach vergrößern, ohne eine Datei zu verlieren?
Hinweis: Ich spreche von einer nicht gemounteten Datenpartition ohne LVM und habe Sicherungen, möchte jedoch vermeiden, dass Sie etwas Zeit für die Wiederherstellung aufwenden.
centos
filesystems
partition
ext4
mimipc
quelle
quelle
Antworten:
Sie müssen mit der nicht gemounteten Partition beginnen. Wenn Sie die Bereitstellung nicht aufheben können (z. B. Ihre Root-Partition oder etwas anderes, das das System ausführen muss), verwenden Sie stattdessen eine System Rescue-CD .
Run
parted
, odergparted
wenn Sie es vorziehen , eine GUI, und die Größe der Partition den zusätzlichen Platz zu nutzen. Ich bevorzuge es,gparted
da es Ihnen eine schöne grafische Darstellung gibt, die der in Ihrer Frage gezeichneten sehr ähnlich ist.resize2fs /dev/whatever
e2fsck /dev/whatever
(nur um herauszufinden, ob Sie auf der sicheren Seite sind)Hängen Sie Ihre Partition erneut ein.
Obwohl ich noch nie einen Fehler gesehen habe, sichern Sie zuerst Ihre Daten!
quelle
resize2fs
Manpage sagt: Wenn das Dateisystem eingehängt ist, kann es verwendet werden, um die Größe des eingehängten Dateisystems zu erweitern, vorausgesetzt, der Kernel unterstützt die Online-Größenänderung. (Zum jetzigen Zeitpunkt unterstützt der Linux 2.6-Kernel die Online-Größenänderung für Dateisysteme, die mit ext3 und ext4 gemountet wurden.) Das Ändern der Größe eines bereitgestellten Dateisystems ist jedoch gefährlicher, da der Kernel leicht einfrieren oder abstürzen kann, wenn selten ausgeführter Code ausgeführt wird, wodurch Ihr Dateisystem in einem schlechten Zustand bleibt.resize4fs
stattdessen RHEL 5 sein.1.
Sie die Startsektornummer nicht ändern.2.
Sie starten nach dem Ändern der Partitionstabelle neu, bevor Sie den nächsten Schritt ausführen.Ja, Sie können EXT4-Fs online erweitern, wenn die Partition bereits sortiert ist. Haben Sie die Partition sortiert? Hast du LVM?
fdisk
wird die Größe Ihrer Partition ändern, true, aber wenn dies eine Root-Partition ist (oder tatsächlich eine gemountete Partition), muss diese zuerst entmountet werden. Also höchstwahrscheinlich offline!Wie bei allem, was mit Disk / Fs zu tun hat, empfehle ich dringend, einen Backup- und einen getesteten, gut verstandenen Wiederherstellungsprozess zu haben.
quelle
fdisk
, stellen Sie sicher, dass Sie MBR und nicht GPT verwenden (z. B. mit Hybrid-MBR).lvextend +40G /dev/vg0/volumeName
geändert, mich dann als root im VM angemeldet und eingegeben,resize2fs /dev/xvda2
wodurch das laufende Root-Dateisystem auf das neue Maximum anwächst . Ich bin nicht sicher, ob das benötigt wurde, aber ich habe den VM nach dieser Aktion neu gestartet. Alles scheint in Ordnung zu sein.Beachten Sie, dass auf einigen VDS-Servern möglicherweise eine nicht-primäre Root-Partition vorhanden ist und die Größe des erweiterten Partitionscontainers zuerst geändert werden muss
Zum Beispiel haben Sie gerade Ihren Plan aktualisiert und haben so etwas wie:
Hier ist / dev / vda2 - Ihr erweiterter Container. Und / dev / vda5 - Hauptpartition, deren Größe auf den verfügbaren Speicherplatz angepasst werden muss.
Der einfachste Weg:
quelle
END
auf negative Zahl setzen kann. Normalerweise kennen Sie die exakte Linux-Größe einer Partition mit geänderter Größe nicht - Sie wissen nicht, wie Sie dasEND
Argument für festlegen sollenresizepart
. Durch Einstellen von-1s
wird die Größe Ihrer Partition auf max.Parted funktioniert auf Centos nicht mit ext4. Ich musste fdisk verwenden, um die Partition zu löschen und neu zu erstellen, was (ich validierte) ohne Datenverlust funktioniert. Ich habe die Schritte unter http://geekpeek.net/resize-filesystem-fdisk-resize2fs/ ausgeführt . Hier sind sie auf den Punkt gebracht:
quelle
parted
könnenresize
Partitionen und ihre Dateisysteme.quelle
resize NUMBER START END
, sind START und ENDE die Sektornummern? Woher soll ich das wissen?parted
Unterstützt eine Auswahl von Einheiten. Verwenden Sie beispielsweise dass
Suffix für SektorenB
oderGB
für Bytes,%
für den Prozentsatz der Gerätegröße undcyl
für Zylinder.Sie können
fdisk
oder verwendencfdisk
, um die Partition zu ändern (oder neu zu erstellen) (stellen Sie nur sicher, dass Sie die Startgrenze nicht ändern), und starten Sie dann und neuresize2fs
. Im Allgemeinen ist es jedoch vorzuziehen, LVM-2 anstelle von MBR / GPT zu verwenden, da Sie diese Änderungen ohne Neustart des Kernels vornehmen können.quelle
Nur um zu verdeutlichen, wie ich das für alle mache, die diesen Thread noch lesen.
Wenn es sich um die Boot-Partition handelt, deren Größe Sie ändern möchten, müssen Sie von einem Boot-CD- oder Boot-USB- "Rettungs" -Laufwerk booten, bei dem es sich nur um ein Live-Linux handelt. Auf diese Weise können Sie Linux auf einem anderen Computer als dem Laufwerk ausführen, auf dem Sie Änderungen vornehmen möchten.
Ich denke, die beste "Rettungs" -CD oder -USB in diesem Fall wären bootfähige gparted USB- oder CD-Hüllen,
in denen Sie ein Rettungsimage
1 benötigen. Die zu erweiternde Partition ist die letzte Partition, aber Sie haben von ihr gebootet und können sie nicht aushängen.
sda1 = booten (oder tauschen)
sda2 = tauschen (oder booten)
sda3 = /
Unbenutzter Speicherplatz
sda1 = boot
sda2 = / (die zu erweiternde Partition ist nicht die letzte)
sda3 =
ungenutzten Speicherplatz tauschen
Wenn Sie eine gemountete Partition ändern möchten, die nicht die "Root" -Partition (/) ist, wie / home, die eine andere Partition ist, müssen Sie kein Rettungsimage verwenden. Dies gilt insbesondere dann, wenn es sich um die letzte Partition handelt.
sda1 = boot
sda2 = /
sda3 = / home
unbenutzter Speicherplatz
-oder-
sda1 = /
sda2 = / home
unbenutzter Speicherplatz
Dies ist die Situation, in der ich ein Image von einem kleineren Laufwerk oder einer SSD auf eine größere SSD übersetze.
In diesem Fall müssen Sie nur / home aushängen, während Sie es verlängern. Um die Bereitstellung von / home aufzuheben, müssen Sie sicherstellen, dass Sie nicht bei einem Benutzerkonto angemeldet sind, dessen Basisverzeichnis sich darin befindet. Da sich das Ausgangsverzeichnis des "root" -Nutzers direkt unter dem Systemstammverzeichnis / as in / root befindet, können Sie die Bereitstellung von / home aufheben, wenn Sie sich bei root anmelden können
Ich melde mich von einer GUI-Sitzung (KDE / Gnome / etc) ab und verwende [STRG] + [ALT] + [F1], um eine Shell-Sitzung aufzurufen.
Wenn Sie sich gerade von einem Benutzer abgemeldet haben, kann es 20 bis 30 Sekunden dauern, bis Linux alle Dateien geschlossen hat, sodass möglicherweise Fehler beim Versuch auftreten, / home zu mounten.
1. umount / home (Ich versuche diesen Befehl erneut, wenn er bis zu 30 Sekunden lang fehlschlägt. Dann schaue in anderen Sitzungen nach, ob ich irgendwo "cd / home / xxx" bin.)
2. parted / dev / sda
a. Größe ändern x (x = Partition, deren Größe Sie ändern möchten, verwenden Sie "p", um eine Liste der Partitionen zu erhalten)
b. Geben Sie den letzten Sektor der Größenänderung = "-1" ein (minus 1 bedeutet 1 Sektor vom Ende der Festplatte).
C. q (beendet die
Partition ) 3 resize2fs / dev / sda "x" (x = Partition, deren Größe geändert werden soll. Dadurch wird auch das Dateisystem neu geladen.)
4. df -m (ich überprüfe / home, um die Größe zu ändern)
Ich habe mit dieser Methode niemals Dateien verloren oder das Laufwerk beschädigt.
Viel Glück
quelle