Linux root Partition im laufenden Betrieb vergrößern

Heute Morgen ist eine root-Partition auf einem Debian Server vollgelaufen. Da es unter Linux leider keine so komfortablen Werkzeuge zur Volumenverwaltung wie unter Windows gibt, hier die etwas umständliche, aber ebenso vollständige Anleitung in Schritten.

Die Platte in diesem Beispiel ist /dev/sda und die vergrößerte Version hat 80GiB.

/dev/sda
   +--- /dev/sda1  --> / (Linux boot)   bisher 30GiB
   +--- /dev/sda2  --> Swap             bisher 5iB

In diesem Fall gab s auf dem Boot-Volumen auch noch eine Swap-Partition, die in diesem Zuge kurzerhand auf ein zusätzliches Volumen verschoben wurde. Glücklicherweise ist beides im laufenden Betrieb möglich.

Lösung

Neue Disk-Größe einlesen

Nachdem die „Festplatte“ vergrößert wurde, erkennt Linux auch das nach einem rescan des SCSI-Busses. Je nach System mussm an das * durch das/die echte/n Gerät/e-Pfade ersetzen.

echo "- - -" > /sys/class/scsi_host/*/scan
echo 1 > /sys/class/scsi_device/*/device/rescan

Partitionen und Layout ansehen

Dann kann man sich das aktuelle Partitionslayout und die größere Disk mit fdisk ansehen.

root@raumstation:~# fdisk /dev/sda

Welcome to fdisk (util-linux 2.36.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): p
Disk /dev/sda: 80 GiB, 85899345920 bytes, 167772160 sectors
Disk model: Virtual disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x739a8a99

Device     Boot Start       End   Sectors Size Id Type
/dev/sda1  *     2048 167772126 167770079  80G 83 Linux

Command (m for help):q

root@raumstation:~#

Swap-Partition abschalten und entfernen

Die Linux-Swap Partiton schaltet man ab mit swapoff. Der Parameter -a entfernt alle Swap-Partitionen des Kernels. Wenn man aktuell mehrere nutzt, muss man natürlich nur die „falsche“ außer Betrieb nehmen.

root@raumstation:~# swapoff -a

Dann kann man die Partitionen bis zur Volumengrenze löschen.

root@raumstation:~# fdisk /dev/sda

<d> für "delete"
<2> Nummer für die Partitionsnummer (fdisk schlägt die höchste vor)
<w> für "Write"
<q> für "Auit"Quit"

Linux Boot Partition vergrößern

Die einfachste Möglichkeit ist das growpart Werkzeug. Das ist sehr klein und schnell installiert.

root@raumstation:~# apt-get install cloud-guest-utils

Dann gibt es den Befehl, der die Partition automatisch so groß wie möglich macht:

growpart /dev/sda 1

Linux Dateisystem vergrößern

Wenn die Partition vergrößert wurde, muss nun das Dateisystem darüber informiert werden. Das geht zum Glück ebenso schnell.

resize2fs /dev/sda1

Neues Swap-Volumen anlegen und einbinden

In diesem Fall haben wir ein zusätzliches Swap-Volumen angebunden (/dev/sde), mit einem rescan (siehe oben) im System sichtbar gemacht und darauf mit fdisk eine Partition angelegt.

Bei der Größe der Swap-Partition halten wir uns gerne an die steinalte Admin-Weisheit „Immer die Hälfte vom Arbeitsspeicher, mindestens aber 4 und nie mehr als 32g.“

Wenn das geschehen ist, erstellt man das Swap-System mit mkswap

mkswap /dev/sde1

… und schaltet das swapping wieder ein:

swapon /dev/sde1

Schreibe einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.