Ich arbeite viel mit virtuellen Nachines. Tatsächlich sind die meisten meiner Server virtuelle Maschinen (das letzte Mal, als ich gezählt habe, waren es ungefähr 100 VMs), die auf vier physischen Servern und einigen SAN/NAS laufen. Manchmal unterschätzen Sie – oder derjenige, der nach der Maschine gefragt hat – die erforderlichen Hardwareressourcen. Oder Sie haben nach einer Weile einfach ein schönes „Dateisystem voll " Error.
In diesem Artikel zeige ich, wie man die Größe einer Partition ändert und das Dateisystem vergrößert, um mehr freien Speicherplatz zu erhalten.
Vermutung
Ich gehe davon aus, dass Sie bereits freien Speicherplatz auf Ihrer Festplatte haben, das kann einer der folgenden sein:
- Ihr FreeBSD befindet sich auf einer physischen Festplatte, aber Sie haben bei der Installation nicht die gesamte Festplatte zugewiesen (vielleicht für Dualboot mit einem anderen Betriebssystem).
- Sie haben entschieden, dass Sie den Swap nicht mehr benötigen (d. h. etwas mehr RAM-Speicher hinzugefügt haben) und möchten diese GB Ihrem Dateisystem zuweisen.
- Sie können die virtuelle Festplatte Ihrer FreeBSD-VM erweitern. Dies ist mein Fall, im Moment arbeite ich mit VirtualBox, aber ich weiß, dass zumindest VMware, Xen und Gnome-Boxen (kvm, glaube ich) die Größenänderung von Disk-Images ermöglichen. Stellen Sie einfach sicher, dass die virtuelle Festplatte nicht verwendet wird, bevor Sie die Größe ändern.
- Auf andere Weise können Sie freien Speicherplatz auf Ihrer Festplatte verteilen
Lass es uns tun
Stellen Sie sicher, dass Ihre Festplatte nicht verwendet wird. Unmounten Sie alle Partitionen, wenn Sie können, und deaktivieren Sie den Swap, wenn er sich auf der Festplatte befindet, die Sie ändern möchten.
Ich kann die Bereitstellung nicht aufheben, weil ich nur eine große Partition für das gesamte System erstellt habe, also werde ich das CD-Image des FreeBSD-Installationsprogramms verwenden, um die VM zu booten und im Live-CD-Modus zu arbeiten:
Partitionstabelle reparieren
Listen Sie zuerst alle Partitionen auf der Festplatte auf, um die aktuelle Konfiguration zu sehen:
# gpart show ada0
=> 40 33554352 ada0 GPT (17G) [CORRUPT]
34 1024 1 freebsd-boot (512K)
1064 25164800 2 freebsd-ufs (12G)
25165864 8388528 3 freebsd-swap (4.0G)
Beachten Sie die [Corrupt], die ich rot hervorgehoben habe. Das Disk-Image ist in Ordnung, aber mit dem GPT-Schema befindet sich die Backup-Partitionstabelle nicht mehr am Ende des Laufwerks. Korrigieren Sie die Partitionstabelle mit gpart recovery:
# gpart recover
ada0 recovered
# gpart show ada0
=> 40 356541504 ada0 GPT (17G) [CORRUPT]
34 1024 1 freebsd-boot (512K)
1064 25164800 2 freebsd-ufs (12G)
25165864 8388528 3 freebsd-swap (4.0G)
33554392 2097152 - freebsd - (1.0G)
Löschen Sie die Swap-Partition und ändern Sie die Größe der Partition
Warte, warum? Die Swap-Partition enthält nur temporäre Daten. Außerdem können Partitionen nur in zusammenhängenden freien Speicherplatz skaliert werden und wir haben nach der Partition keinen freien Speicherplatz. Denken Sie daran, Platz zu lassen, um später eine Swap-Partition neu zu erstellen.
# gpart delete -i 3 ada0
ada0p3 deleted
# gpart resize -i 2 -s 14G -a 4k ada0
ada0p2 resized
Die Flags bedeuten:-i Index oder die Partitionsnummer; -s-Größe; und -a 4k steuert die Ausrichtung.
Hinweis:Sie werden wahrscheinlich einige seltsame Fehler sehen, wir werden später darauf zurückkommen
Jetzt können wir die Swap-Partition im verbleibenden Speicherplatz neu erstellen, den ich etwas kleiner mache.
# gpart add -t freebsd-swap -a 4k ada0
ada0p3 added
Listen Sie alle Partitionen auf, um unsere neue Konfiguration mit gpart show:
anzuzeigenErweitern und überprüfen Sie das Dateisystem
Die letzten verbleibenden Aufgaben sind das UFS-Dateisystem vergrößern:
# growfs /dev/da0p2
Und schließlich überprüfen Sie das Dateisystem mit fsck. Dies ist nicht obligatorisch, wird aber dringend empfohlen, insbesondere wenn Sie Fehler wie die auf meinem Screenshot erhalten:
# fsck -y /dev/da0p2
Jetzt wissen Sie, wie Sie die Größe einer Partition ändern und ein Dateisystem vergrößern.
Starten Sie neu, wenn Sie mit einer Live-CD gearbeitet haben, oder mounten Sie die betroffene Partition neu und fahren Sie mit mehr freiem Speicherplatz fort.
Schlussworte
Sie können die Größe eines gemounteten Dateisystems ändern, wenn Sie es vorübergehend deaktivieren ... aber tun Sie es nicht, tun Sie es einfach nicht. Es ist immer besser, ein paar Minuten – sogar Stunden – mit der Neuordnung Ihrer Daten zu verlieren, als Ihre Daten in ein paar Minuten zu verlieren.
Wenn Sie MBR-Partitionen verwenden, ist die Syntax aufgrund des Partitions- und „Slices“-Schemas etwas anders.
Auf großen Dateisystemen kann fsck sehr lange dauern. Erwägen Sie eine Migration zu zfs und das Hinzufügen einzelner Festplatten zum Raid z.
FreeBSD hat ein ausgezeichnetes Handbuch, Sie können hier mehr über die Speicherverwaltung erfahren:https://docs.freebsd.org/en/books/handbook/disks/. Das ZFS-Dateisystem hat hier ein eigenes Kapitel https://docs.freebsd.org/en/books/handbook/zfs/