Synology VMM/Linux: Festplatte & Partition mit installiertem Ubuntu vergrößern

Auf meinem Server, von dem ich hier schonmal berichtet hatte, läuft unter anderem Synology’s Virtual Machine Manager, der als Host für mehrere virtuelle Maschinen arbeitet. Da kann man natürlich viel herumspielen und ausprobieren. Unter anderem hatte ich mir mal eine Testmaschine aufgesetzt, in der Ubuntu 17.10 und ioBroker laufen. Aus dem anfänglichen Test hat sich mittlerweile eine Produktivumgebung entwickelt, der so langsam der Speicher ausgeht, denn ursprünglich hatte ich der Maschine nur 10GB Festplattenspeicher zugewiesen. In diesem Beitrag geht es nun darum, der Maschine mehr Speicher zu geben, indem die virtuelle Festplatte vergrößert, und Partition und Dateisystem entsprechend angepasst werden.

Das hier beschriebene Vorgehen funktioniert auch mit echten Linux-Maschinen oder anderen Virtualisierungslösungen. Bei echten Maschinen denkt man sich den VMM-Teil einfach weg. Setzt man beispielsweise Proxmox oder VMware zur Virtualisierung ein, muss man die Schritte dort sinngemäß durchführen.

Zuerst der Blick in den Virtual Machine Manager. Er zeigt schon eine recht hohe Speichernutzung: knapp 79%.

Virtual Machine Manager: Dem Ubuntu-Server geht langsam der Speicher aus

Virtual Machine Manager: Dem Ubuntu-Server geht langsam der Speicher aus

Innerhalb der Maschine zeichnet sich ein etwas anderes Bild. Es sind derzeit etwa 42% des Speicherplatzes in Verwendung. Allerdings sind trotzdem nur 5,6GB frei. Das reicht gerade mal für ein DVD-Image und noch ein klein wenig Luft. Deswegen schiebe ich das nicht vor mir her und werde lieber jetzt aktiv, bevor ich das aus den Augen verliere und das System wegen mangelndem Speicherplatz vielleicht irgendwann nicht mehr läuft.

Ubuntu: aktuelle Speichernutzung vor Vergrößerung der Partition

Ubuntu: aktuelle Speichernutzung vor Vergrößerung der Partition

Vorbereitungen im VMM

Als allererstes: ein Backup muss her! In die Maschine und die gesamte Konfiguration habe ich echt viel Zeit investiert. Wenn das weg wäre würde mich das sehr schmerzen. Also, zuerst die Maschine sauber herunterfahren. Anschließend im VMM die Maschine auswählen und über Aktionen -> Einen Schnappschuss machen einen Wiederherstellungspunkt erzeugen. Alternativ (oder zusätzlich) kann man auch die Maschine klonen.

Anschließend bearbeiten wir die Einstellungen der Maschine und weisen ihr mehr Speicher zu. Dazu gehen wir auf Bearbeiten, wählen im neuen Fenster den Tab Speicher und passen den Wert für Virtuelle Festplatte nach dem Bedarf an. Für mich reichen vorerst 50GB.

Virtual Machine Manager: Festplatte vergrößern

Virtual Machine Manager: Festplatte vergrößern

Wir bestätigen das mit OK und die darauf folgende Sicherheitsabfrage mit Ja. Nun zeigt VMM zwar einen deutlich geringeren Speicherverbrauch an, allerdings ist das nur die halbe Wahrheit, denn der Platz steht jetzt zwar innerhalb der Linux-Maschine zur verfügung, ist aber derzeit ungenutzt.

Partition unter Ubuntu vergrößern

Um die (bei mir erste und einzige) Partition innerhalb der Maschine vergrößern zu können, starten wir die Maschine und stoppen eventuell vorhandene Dienste, die viel Aktivität erzeugen können. Dieser Schritt ist nicht unbedingt notwendig, schadet jedoch sicherlich auch nicht.

Achtung!
Wir verändern jetzt die Partitionstabelle. Das sollte man wirklich nur machen, wenn man ein Backup besitzt!

Alle nun vorgenommenen Änderungen werden erst zum Schluss auf einen Schlag auf die Festplatte geschrieben. Man muss also nicht hektisch werden und kann sich alles nochmal ganz genau anschauen, bevor tatsächlich etwas passiert.

Wir rufen nun den Partitionsmanager fdisk auf…

$ sudo fdisk /dev/sda

…und lassen uns mit dem Befehl p die aktuell vorhandenen Partitionen anzeigen.

Ubuntu: Partitionen im Partitionsmanager <code>fdisk</code> anzeigen

Ubuntu: Partitionen im Partitionsmanager fdisk anzeigen

Wir notieren uns nun den Startsektor der Partition /dev/sda1. In meinem Fall ist das 2048. Diesen Wert benötigen wir gleich noch. Anschließend löschen wir die Partition mit dem Befehl d.

Mit n erzeugen wir eine neue Partition, wählen als Partition type p (primary) und als Partitionsnummer 1. Anschließend sollen wir bei Erster Sektor angeben, wo die Partition auf der Festplatte beginnen soll. Hier wählen wir den Wert, den wir uns zuvor notiert haben. In meinem Fall ist das 2048. Für Last sector wählen wir default (einfach Enter drücken), denn mit diesem Wert wird der gesamte zur Verfügung stehende Platz genutzt. Die Frage, ob die ext4-Signatur entfernt werden soll, beantworten wir mit Nein.

Ubuntu: Partition mit <code>fdisk</code> neu anlegen

Ubuntu: Partition mit fdisk neu anlegen

Wenn wir jetzt den Befehl p absetzen bekommen wir schon die vergrößerte Partition angezeigt. Allerdings müssen wir diese noch als bootfähig markieren: Befehl a. Bei einem erneuten Auflisten der Partitionen (p) sieht man nun auch den * in der Spalte Boot.

Ubuntu: Partition mit <code>fdisk</code> anzeigen und bootfähig machen

Ubuntu: Partition mit fdisk anzeigen und bootfähig machen

Nun kontrollieren wir nochmal ganz genau, was wir da gemacht haben. Sind wir uns sicher, schreiben wir die Änderungen mit dem Befehl w auf die Festplatte.

Es erfolgt eine Fehlermeldung, dass der Kernel die Partitionstabelle nicht neu einlesen konnte, weil die Ressource belegt ist. Das ist normal. Der Kernel verwendet bis zum nächsten Neustart die alte Partitionstabelle.

Ubuntu: Änderungen von <code>fdisk</code> auf die Festplatte schreiben

Ubuntu: Änderungen von fdisk auf die Festplatte schreiben

Also ein Neustart:

$ sudo reboot

Dateisystem erweitern

Nach dem Neustart ist zwar die Partition größer, jedoch das Dateisystem noch nicht. Das muss entsprechend erweitert werden (kennt man ja von frisch geflashten SD-Karten für den Raspberry Pi). Also, neu einloggen und folgenden Befehl absetzen:

$ sudo resize2fs /dev/sda1

Nun nutzt das Dateisystem die volle Größe der Partition und wir sind fertig.

Ubuntu: Dateisystem auf die gesamte Partition vergrößern

Ubuntu: Dateisystem auf die gesamte Partition vergrößern

Weblinks

Sebastian

Sebastian

...ist staatlich geprüfter Techniker für Elektrotechnik, Schwerpunkt Prozessautomatisierung und Energietechnik. Die Themen Automatisierung und Programmierung haben es ihm besonders angetan.
Außerdem ist er für jede technische Spielerei zu haben 😉
Sebastian

Hinterlasse eine Antwort

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