Profitbricks - Nachträglich Storage erweitern unter Ubuntu und Debian

Wie bereits im vorigen Post erwähnt, kann man beim IaaS Anbieter Profitbricks seine Ressourcen über einen sog. Datacenter Designer so provisionieren, wie man sie zum aktuellen Zeitpunkt benötigt. So lässt sich auch der verfügbare Storage nachträglich erweitern. Einfach den Regler von bspw. 35 GB auf 100 GB ziehen, auf Provisionieren klicken, kurz warten und das war's... oder nicht? Natürlich gehts bei Storage nicht ganz so einfach wie bei Kernen und/oder RAM. Denn das Betriebssystem hat ja Partitionstabellen geschrieben und da pfuscht Profitbricks gottseidank nicht rein. Die neuen GB stehen jetzt zwar zur Verfügung, müssen aber selbst noch zu einer Partition hinzugefügt werden. Zum Glück gibt es unter Ubuntu den Logical Volume Manager. Der ermöglicht es uns nämlich über den neu erworbenen Storage einfach eine eigene Partition zu erstellen und diese dann dem Haupt-Volume einfach hinzuzufügen, so dass aus Sicht des Users nur eine einzige vergrößerte Festplatte besteht.

Hier eine kurze Anleitung wie das funktioniert:

Ubuntu

cfdisk /dev/vda

Evtl muss cfdisk vorher installiert werden (apt-get install cfdisk). Nach Aufruf des o.g. Befehls kann aus dem freien Speicher eine neue Partition erstellt werden. Also als Optionen

  1. new
  2. logical (unter Debian Jessie wird das nicht gefragt)
  3. [gewünschte Größe - am besten alles]
  4. write

wählen. Danach macht ein Reboot Sinn.

reboot

Jetzt muss für die neue Partition ein physikalisches Volume erstellt werden. Das geht mit folgendem Befehl, wobei das vda6 zu ersetzen ist durch die vergebene Nummer (kann unter cfdisk eingesehen werden)

pvcreate /dev/vda6

Danach muss die bestehende Volume Group erweitert werden um das neue physikalische Volume. In der Regel ist die Volume Group nach dem Schema [servername]-vg benannt, wobei [servername] durch den Namen des Servers zu ersetzen ist, also z.B. web1 oder allvintageserver oder was auch immer ihr als Servernamen vergeben habt.

vgextend [servername]-vg /dev/vda6

Der gesamte Speicherplatz, den die Volume Group jetzt zur Verfügung stellt ist größer geworden, d.h. wir können das logische Volume um genau diese Menge erweitern (in diesem Fall 65G)

lvextend -L+65G /dev/[servername]-vg/root

Und last but not least müssen wir das Dateisystem auf die neue Größe des Logical Volumes vergrößern. Das geht so:

resize2fs /dev/mapper/[servername]--vg-root

Das war's. Wenige kurze Befehle und der neue Speicherplatz kann beschrieben werden.

Debian

Unter Debian ist der Prozess fast identisch. Es gibt die kleine Abweichung, dass das Kürzel "vg" nicht hinter die Volumegroups gesetzt wird. Also einfach immer das "-vg" bzw "--vg" rauslassen.

Kommentare

Anstelle des Reboot mache ich noch ein 'partprobe' und dann klappt das alles _komplett ohne Downtime_ ! :) Grüße,Marc