GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie ändere ich das Partitionsschema auf Ihrem Linux-Server?

Sobald Sie einen VPS bei einem Hosting-Anbieter wie DigitalOcean oder OVH erhalten, möchten Sie möglicherweise das Partitionslayout anpassen. Oft haben Sie jedoch keine Wahl:Sie wählen das gewünschte Betriebssystem aus und es wird dann auf einer einzelnen Partition installiert, wobei der gesamte verfügbare Speicherplatz belegt wird.

VPS sind jedoch nicht nur für einfach partitionierte Webserver! Abhängig von Ihren Anforderungen möchten Sie vielleicht eine Swap-Partition hinzufügen, eine weitere für Ihre Daten …

Glücklicherweise bieten die meisten Hosting-Anbieter einen Rettungsmodus an , ein alternatives Betriebssystem auf einer anderen Festplatte, von dem aus Sie das reguläre Betriebssystem und die "normale" Festplatte anpassen können.

Der Rest dieser Anleitung geht davon aus, dass die einzige vorhandene Partition vom Typ Ext4 (oder Ext2/3) ist; es ist der Fall, wenn Sie Debian oder Ubuntu installiert haben.

Versuchen Sie diese Methode nicht innerhalb des Systems, verwenden Sie den Rettungsmodus. Wenn Sie sich nicht sicher sind, überprüfen Sie bitte Ihren VPS-Anbieter, ob er Zugriff auf die Rettungskonsole gewährt. Eine Größenänderung des Dateisystems und der Partition löscht keine Daten, da die neue gewünschte Größe größer ist als die aktuelle Datenmenge. Erstellen Sie dennoch ein Backup auf externer Festplatte/Gerät/Server.

Nehmen wir an, Sie müssen die Partition von 40 GiB auf 2 GiB reduzieren (beginnend am Anfang der Festplatte), um danach andere Partitionen zu erstellen.

Schritt 1:Wechseln Sie in den Rettungsmodus und identifizieren Sie das Laufwerk

Das erste, was Sie tun müssen, ist, im Rettungsmodus neu zu starten, was normalerweise ein Debian GNU/Linux-System ist. Sie erhalten ein temporäres root Passwort für dieses temporäre System, einfach per SSH dorthin.

Identifizieren Sie dann die Festplatte, die von Ihrem normalen System verwendet wird; Sie können fdisk -l verwenden .

Hier /dev/sdb ist die Festplatte, auf der wir das Partitionsschema ändern möchten, und /dev/sdb1 die einzige Partition für jetzt. /dev/sda ist die Festplatte, auf der sich das temporäre Rettungssystem befindet. Ersetzen Sie im weiteren Verlauf dieses Tutorials natürlich sdb1 wenn es nicht der richtige Gerätename ist.

Schritt 2:Reduzieren Sie das Dateisystem

Überprüfen Sie das Dateisystem mit e2fsck -f /dev/sdb1 (ansonsten der nächste Befehl, resize2fs , funktioniert möglicherweise nicht):

e2fsck und resize2fs sind wahrscheinlich bereits auf dem Rettungssystem installiert, aber falls sie nicht vorhanden sind, installieren Sie sie das e2fsprogs-Paket. Führen Sie unter Debian apt install e2fsprogs aus.

Stellen Sie außerdem sicher, dass die Größe des Dateisystems 2 GiB nicht überschreitet. Bereitstellen von /mnt leer ist, mounten Sie das Dateisystem mit mount /dev/sdb1 /mnt und überprüfen Sie seine Größe mit df :

Unmounten Sie das Dateisystem:umount /dev/sdb1 .

Bevor Sie mit den folgenden Befehlen fortfahren und falls Sie das System bereits angepasst oder wichtige Daten hinzugefügt haben, sollten Sie Ihre Dateien sichern!

Los geht's:Führen Sie resize2fs /dev/sdb1 2G aus .

„2G“ bedeutet 2 GiB, man kann es auch „2048M“ schreiben. Als ich den Screenshot unten gemacht habe, dachte ich fälschlicherweise resize2fs habe es als 2000M verstanden, also habe ich stattdessen eine Reihe von Sektoren angegeben (4194304 * 512 Bytes pro Sektor =2GiB). Das Ergebnis ist genau dasselbe.

Hier meldet das Programm "524288 (4k) Blöcke". 524288 * 4096 B =2 GiB, also in Ordnung.

4k ist die Einheitengröße (Blockgröße) auf Dateisystemebene, während 512 die Einheitengröße (Sektorgröße) auf Festplattenebene ist. Woher weiß ich, dass es 512 ist? Schauen Sie sich den obigen "fdisk"-Screenshot an!

Schritt 3:Reduzieren Sie die Partition

Bisher haben Sie das Dateisystem verkleinert, was bedeutet, dass Sie ihm keine Daten hinzufügen können, die nicht in seine logische Größe von 2 GiB passen. Aber die Partition, auf der das Dateisystem liegt, nimmt immer noch den gesamten Speicherplatz ein.

Ich empfehle parted für die Partitionsverwaltung unter Linux. Unter Debian erhalten Sie es mit apt install parted . Dieses Tool kann interaktiv verwendet werden. Starten Sie es mit /dev/sdb als Argument:

Verwenden Sie unit s , sodass alle Größen als Anzahl von Sektoren angezeigt werden (anstelle von MiB, GiB usw.), was nützlich ist, um die Dinge genau zu steuern. Andernfalls könnten Probleme auftreten wie "Die resultierende Partition ist nicht richtig ausgerichtet, um die beste Leistung zu erzielen" . Der print free Befehl können Sie den Zustand der Festplatte sehen:

Die Partition 1 soll 2 GiB lang sein, was 2*1024*1024*1024/512 =4194304 Sektoren entspricht.

Führen Sie resizepart 1 aus . Sie werden dann aufgefordert, den Speicherort auf der Festplatte anzugeben, ausgedrückt in Sektoren vom Anfang der Festplatte, an dem die Partition enden muss. Da gibt es einen reservierten Bereich , vor der Partition, die bei Sektor 2047 endet, müssen Sie 4194304 + 2047 =4196351s eingeben .

Das abschließende "s" nicht vergessen.

Antworten Sie nach der Warnmeldung mit "Ja", dann print free erneut, um zu bestätigen, dass die Größe der Partition geändert wurde.

Meiner Erfahrung nach könnte ein Anhalten hier und ein Neustart das Partitionslayout im vorherigen Zustand "wiederherstellen", das heißt, als hätten Sie die Partition nie reduziert!

Um die Änderungen zu "validieren", ist es besser, jetzt mindestens eine Partition auf dem freien Speicherplatz hinzuzufügen.

Schritt 4:Weitere Partitionen hinzufügen

Angenommen, Sie möchten eine 12-GiB-Ext4-Partition nach der vom Betriebssystem belegten Partition hinzufügen.

Zuerst müssen Sie die Partition "deklarieren", damit ein Eintrag in die Partitionstabelle (irgendwo in der reservierten Zone) hinzugefügt wird. Verwenden Sie mkpart primary ext4 :

Starten Sie Ihre Partition wie in diesem Beispiel einen Sektor nach dem Ende des vorherigen, damit kein Speicherplatz verschwendet wird. Hier ist es 4196351 + 1 =4196352s .

Das Ende liegt bei 12*1024*1024*1024/512 Sektoren (die gewünschte Größe für diese Partition) + 4196351 Sektoren (der Offset für die zweite Partition) =29362175s .

Beenden Sie dann parted (C^d) und erstellen Sie effektiv ein Ext4-Dateisystem auf sdb2. Um die standardmäßigen Ext4-Einstellungen anzuwenden, lautet der Befehl:
mkfs.ext4 /dev/sdb2

Das Ende

Dieser Artikel war nur eine Einführung in die Manipulation von Partitionen und Dateisystemen auf der Befehlszeile, wobei er sich auf den praktischen Fall konzentrierte, in dem Server standardmäßig eine große Partition haben (und wo Sie diese vielleicht aufteilen möchten). Ich hoffe, es war hilfreich.

Autoreninfo:Paul Desplanque ist zu 100 % Autodidakt in Sachen Computer. Mit 8 Jahren Erfahrung in der PHP-Entwicklung ist Paul ziemlich versiert im Self-Hosting.


Linux
  1. So ändern Sie die Farbe Ihres Linux-Terminals

  2. So erstellen Sie ein Dateisystem auf einer Linux-Partition oder einem logischen Volume

  3. So treten Sie Ihrem Linux-Server dem NTP-Pool-Projekt bei

  4. Wie starte ich den Tomcat-Server unter Linux?

  5. Wie ändere ich die Swap-Partition in Linux?

So stellen oder ändern Sie die Zeitzone in Linux

So ändern Sie Ihren Hostnamen unter Linux

So überprüfen Sie Ihre Serverlast unter Linux

So ändern Sie das Root-Passwort unter Linux

So ändern Sie den Server-Hostnamen in Ubuntu

Wie ändere ich die Zeitzone auf Ubuntu 18.04 Server?