ext4 Partition unter Linux im Betrieb vergrößern

Warum?

Ich habe auf meinem eigenen Linux Webserver öfter das „Problem“ dass die Datenpartition zu klein wird. Datenbanken und Log-Files wachsen mit den Websites. Und man ist ja zu geizig gleich ein großzügig dimensioniertes Volume zu seinem Server zu bestellen 😉

Daher kommt es oft vor, dass das Monitoring eine beinahe volle Partition meldet und ich dann handeln muss damit der Server nicht irgendwann stehen bleibt. Dazu möchte ich ungern den Server herunterfahren bzw. neustarten.

Wie?

Zum Glück geht das mit einer ext4 formatierten Partition unter Linux ganz einfach. Hier die Schritte

  1. Zunächst muss man natürlich das Volume an physikalisch vergrößern. Bei meinem Cloud Provider gridscale geht das zum Glück mit 2 Klicks
  2. Anschließend öffnet man das Programm parted auf dem betroffenen Volume z.B. mit parted /dev/sda (sollte parted nicht installiert sein, muss man das entsprechend seiner Distribution eben nachholen z.B. mit apt install parted oder yum install parted oder apk add parted
  3. Nun lässt man parted mit dem Befehl print die Infos zu den aktuellen Partitionen und dem Volume ausgeben
  4. Mit dem parted Befehl resizepart [Nummer der Partition die resized werden soll] geht es nun weiter. Nach Enter warnt euch parted dass die Partition gerade genutzt wird, kann man aber ignorieren.
    HINWEIS: Habt ihr mehrere Partitionen auf diesem Volume und die zu vergrößernde ist nicht die letzte Partition, geht es ggf. nicht so einfach. Ist hinter der Partition nur noch eine Swap Partition oder anderes unwichtiges, kann man natürlich diese einfach löschen und am Ende wieder herstellen. Für kompliziertere Fälle empfehle ich diesen Artikel: https://codesilence.wordpress.com/2013/03/14/live-resizing-of-an-ext4-filesytem-on-linux/
  5. parted fragt nun, wo denn das Ende der Partition nun hin soll. Das ist idealerweise die Größe des gesamten Volumes (wird im print Befehl angezeigt). Habt ihr vorher eine Swap Partition gelöscht müsst ihr den Platz der wieder für die Swap benötigt wird abziehen und anschließend die Swap Partition wieder erstellen
  6. Mit Enter wird die Partition resized und ihr könnt parted mit quit beenden.
  7. Aber die Partition ist – wie z.B. ein df -H zeigt noch immer nicht wirklich gewachsen, zumindest hat Linux das noch nicht mitbekommen. Hier hilft nun abschließend der Befehl resize2fs /dev/sda1 (wobei anstatt „/dev/sda1“ euer Volume (hier „/dev/sda“ für das erste SATA Laufwerk) + die Partitionsnummer beginned bei 1 (hier „1“) angegeben werden muss)
  8. Nach diesem Befehl sollte euch ein df -H nun die vergrößere Partition anzeigen und es der Server sollte weiterlaufen als wäre nichts gewesen
A Terminal Session with parted commands
Terminal Session

Jan

Papa, Ehemann, Web-Entwickler, Hobbybastler, Hobbygärtner

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

WordPress Cookie Hinweis von Real Cookie Banner