Storage on the fly vergrößern

Storages on-the-fly ohne Server-Reboot vergrößern
gridscale erlaubt Storages on-the-fly ohne Server-Reboot zu vergrößern. Allerdings ist die neue Kapazität damit noch nicht nutzbar – dafür müssen noch die Partitionen des Storages und die Filesysteme vergrößert werden. Beides geht mit wenigen einfachen Schritten.
In diesem Beispiel wurde ein Server mit einem Storage und Debian 8 installiert.
Hier zuerst der Ausgangszustand mit 10GB Storage Größe:
root@resizeme:~# parted /dev/sda print
Model: QEMU QEMU HARDDISK (scsi)
Disk /dev/sda: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 10.7GB 10.7GB ext4 rootfs
root@resizeme:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 10M 0 10M 0% /dev
tmpfs 400M 5.3M 395M 2% /run
/dev/sda1 9.9G 798M 8.8G 9% /
tmpfs 999M 0 999M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 999M 0 999M 0% /sys/fs/cgroup
In diesem Beispiel ist die zu vergrößernde Partition /dev/sda1. Je nach verwendetem Template kann diese aber auch /dev/sda2 sein. Erkennen kannst du das an dem Mount-Point in der letzten Spalte der Tabelle. Zum Vergleich, hier die Ausgabe von einem System auf dem die zu vergrößernde Partition /dev/sda2 wäre.
root@resizeme:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 10M 0 10M 0% /dev
tmpfs 387M 388K 386M 1% /run
/dev/sda2 9.8G 2.3G 7.0G 25% /
tmpfs 966M 0 966M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 966M 0 966M 0% /sys/fs/cgroup
Jetzt kann man die Storage auf zB. 20GB via Panel oder API resizen, woraufhin man im Kernel-Log folgendes sehen sollte:
root@resizeme:~# journalctl -f
[...]
Mar 18 16:18:30 resizeme kernel: sd 0:0:0:0: Capacity data has changed
Mar 18 16:18:30 resizeme kernel: sd 0:0:0:0: [sda] 41943040 512-byte logical blocks: (21.4 GB/20.0 GiB)
Mar 18 16:18:30 resizeme kernel: sda: detected capacity change from 10737418240 to 21474836480
Jetzt sollte im laufenden System die System-Partition vergrößert werden.
Im folgenden Ausschnitt zeige ich dir, wie du dazu vorgehen musst. Folge dem Verlauf und übernehme die Antworten:
root@resizeme:~# parted /dev/sda
(parted) resizepart
Partition number? 1
Warning: Partition /dev/sda1 is being used. Are you sure you want to continue?
Yes/No? yes
End? [10.7GB]? 100%
(parted) print
Model: QEMU QEMU HARDDISK (scsi)
Disk /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 21.5GB 21.5GB ext4 rootfs
Danach kannst du parted wieder schließen mit: q + enter
Als letzten Schritt ist das Dateisystem zu vergrößern:
root@resizeme:~# resize2fs /dev/sda1
Damit sieht es jetzt wie folgt aus und die größere Kapazität ist sofort nutzbar:
root@resizeme:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 10M 0 10M 0% /dev
tmpfs 400M 5.3M 395M 2% /run
/dev/sda1 20G 798M 19G 5% /
tmpfs 999M 0 999M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 999M 0 999M 0% /sys/fs/cgroup
Hier noch ein kleiner Screenshot zur besseren Veranschaulichung auf einem Ubuntu Host, die Vorgehensweise bleibt gleich: