Ändern Sie die Partitionsgröße beim VPS ohne Datenverlust

Ändern Sie die Partitionsgröße beim VPS ohne Datenverlust

Ich habe einen kleinen VPS-Server mit 40 GB Speicherplatz. Ich habe zusätzliche 40 GB gekauft und möchte nun /die Partitionsgröße erweitern.

Meine Partitionen sehen folgendermaßen aus:

Partitionsgröße

/dev/vda1ist /bootund /dev/vda5ist mein /. Mein VPS-Anbieter hat hinzugefügt /dev/vda2. Ich bin nicht sicher, ob das richtig ist, aber ich habe versucht, zu entfernen /dev/vda5und /dev/vda2zu erstellen /dev/vda5, aber ich habe diese Option nicht, ich kann nur Geräte mit der ID 2-4 neu erstellen und nicht 5, wo mein /ist.

Antwort1

Es gibt ein Dienstprogramm namens growpart, das Partitionen sicher vergrößert, sobald Ihr Anbieter Ihre virtuelle Festplatte erweitert hat. Der einzige Trick in Ihrem Fall ist, dass sie unnötigerweise eine erweiterte/logische DOS-Partition erstellt haben, als sie nicht benötigt wurde. Daher müssen Sie die Größe der erweiterten Partition und dann der darin enthaltenen logischen Partition ändern.

sudo apt install cloud-guest-utils

Das growpartDienstprogramm akzeptiert die Datenträger- und Partitionsnummer als separate Argumente. Um die Größe zu ändern, /dev/vda2schreiben Sie also:

sudo growpart /dev/vda 2

/dev/vda2Ändern Sie zuerst die Größe der erweiterten Partition und ändern Sie dann die Größe /dev/vda5auf die gleiche Weise.

sudo growpart /dev/vda 2
sudo growpart /dev/vda 5

Jetzt sollten Sie in der Lage sein, die Größe Ihres Dateisystems zu ändern. Wenn es ext4 ist, resize2fs /dev/vda5funktioniert es. Verwenden Sie für XFS xfs_growfs /.

Antwort2

Aus Ihrer fdiskAusgabe geht hervor, dass Sie tatsächlich eine 80 GB-Festplatte mit 40 GB habenerweitertPartition ( /dev/vda2), die innerhalb einer 40 GBlogischPartition /dev/vda5, die Ihr /Dateisystem enthält. Die erweiterte Partition enthält eigentlich keine Dateien, sie ist nur ein „Container“ für logische Partitionen, der es ermöglicht, die unten erwähnte Grenze von 4 Partitionen zu überwinden. Dann gibt es 40 GB nicht zugewiesenen Speicherplatz, der fdiskin keiner Weise angezeigt wird.

Möglicherweise haben Sie mehrere Möglichkeiten, diesen nicht zugeordneten Speicherplatz zu verwenden. Ich gehe davon aus, dass Sie LVM nicht verwenden, da das Verfahren in diesem Fall völlig anders wäre, da LVM über eigene Tools zum Ändern der Volumegröße verfügt. In Ihrer fdiskAusgabe wird jedoch keine LVM-Partition erwähnt.

Ich würde nicht empfehlen, Partitionen zu löschen und neu zu erstellen, fdiskda dies immer das Risiko eines Datenverlusts birgt. Wenn Sie also auf Nummer sicher gehen möchten, können Sie Folgendes versuchen:

Die erste Möglichkeit besteht darin, zwei 40 GB große Partitionen zu haben und Ihre Dateien intelligent zwischen diesen beiden aufzuteilen. Wenn Sie beispielsweise viele große Dateien in speichern /home, können Sie die neue Partition für verwenden /homeund alles andere außer /homebleibt auf der alten Partition. Gehen Sie dazu wie folgt vor:

  1. verwenden fdisk, um eine weitere primäre Partition (sie wird wahrscheinlich als angezeigt /dev/vda3!) in diesem nicht zugeordneten Speicherplatz zu erstellen und sie als neues Linux-Dateisystem mit zu formatieren mkfs /dev/vda3. Insgesamt können maximal 4 primäre oder erweiterte Partitionen vorhanden sein, von denen höchstens eine erweitert sein darf, sodass Platz für eine weitere Partition bleibt. Es ist kein empfohlenes Partitionslayout, bei dem eine primäre Partitionnachdie erweiterte Partition, aber es wird wahrscheinlich funktionieren.

  2. Benennen Sie Ihr /homeVerzeichnis um /old_home(stellen Sie sicher, dass es momentan nicht verwendet wird. Führen Sie dies also als Root aus, ohne dass ein normaler Benutzer angemeldet ist) und erstellen Sie ein neues /homeVerzeichnis mit demselben Eigentümer und denselben Berechtigungen wie das alte.

  3. mounten Sie das /dev/vda3Dateisystem /homemit dem Befehl: mount /dev/vda3 /home. Wenn dies erfolgreich ist, sollten Sie es bearbeiten, /etc/fstabdamit das neue Dateisystem beim Systemstart richtig automatisch gemountet wird. Wahrscheinlich /etc/fstabenthält Ihr derzeit zwei Zeilen für vda1 und vda5, etwa so (ich denke mir das gerade aus, Ihr könnte anders sein):

    /dev/vda5 / ext4 defaults 0 1

    /dev/vda1 /boot ext4 defaults 0 2

    Fügen Sie eine ähnliche Zeile für vda3 hinzu, die beispielsweise lautet:

    /dev/vda3 /home ext4 defaults 0 2

    (Wenn Ihre Datei etwas anderes als „ext4“ oder „defaults“ enthält, kopieren Sie diese Parameter einfach in die neue Zeile). Schreiben Sie nun eine beliebige Datei in das neue /homeVerzeichnis und starten Sie das System neu. Wenn die Datei, die Sie in das Verzeichnis gelegt haben, nach dem Neustart /homenoch vorhanden ist, bedeutet dies, dass /homesie beim Booten korrekt gemountet wurde.

  4. Nun könnt Ihr alles von /old_homenach verschieben /homeund das leere /old_homeVerzeichnis anschließend löschen.

Ich halte diese Methode für die sicherste und einfachste und habe sie schon oft verwendet. Allerdings hat sie den Nachteil, dass man tatsächlich 2 x 40 GB statt einzelner 80 GB Speicherplatz hat, was manchmal gut und manchmal schlecht sein kann – wenn man beispielsweise vermeiden möchte, dass die Systemfestplatte versehentlich mit Benutzerdateien vollgestopft wird, ist es besser, /homeeine separate Partition zu haben.

Eine weitere Möglichkeit besteht darin, GNU zu verwendengetrenntProgramm zum Ändern der Größe Ihrer vda2- und vda5-Partitionen (zuerst vda2 und dann vda5, da erstere letztere enthält) auf 80 GB. partedwurde speziell dafür entwickelt, Partitionen ohne Datenverlust zu ändern, was fdisknicht garantiert werden kann. Ich bin sicher, parteddass es sich im Debian-Repository befindet, sodass Sie es mit installieren können apt.

Nachdem Sie die Partitionsgröße geändert haben, verwenden Sie den Befehl resize2fs /dev/vda5, um Ihr /Dateisystem auf volle 80 GB zu erweitern.

Antwort3

Normalerweise würden Sie in diesem Fall verwenden fdisk /dev/vda.

  • Notieren Sie sich die Startsektoren der Partitionen 2 und 5.
  • Entfernen Sie Partition 5.
  • Entfernen Sie Partition 2.
  • Erstellen Sie Partition 2 mit dem alten Startsektor und dem neuen Endsektor neu (Standardwert). Dies ist eineerweitertPartition.
  • Erstellen Sie Partition 5 mit dem alten Startsektor und dem neuen Endsektor (Standardwert) neu. Dies ist einelogischPartition.

Nachdem die Tabelle geschrieben und aktiviert wurde (z. B. durch einen Neustart), müssen Sie das Dateisystem bei /dev/vda5Verwendung resize2fsoder was auch immer für das Dateisystem auf dieser Partition geeignet ist, noch erweitern.

Stellen Sie vor allem sicher, dass Sie über eine gute Sicherungskopie verfügen, bevor Sie dies versuchen.

verwandte Informationen