ProxMox VM Festplattenspeicher vergrößern, wie?

pONd74

New Member
Jul 12, 2024
5
0
1
Hallo ProxMox Gemeinde,
ich versuche mich gerade mit ProxMox, Docker, Portainer, nginxPM, Nextcloud.

Ich habe einen Lenovo PC, auf diesem habe ich ProxMox installiert. Daran eine externe SSD mit Debian12 VM (ohne GUI) in/mit ZFS erstellt.

Ich habe meine ganzen Docker Container am Laufen und leider erst jetzt bemerkt, dass ich meiner VM einfach zu wenig Festplattenspeicher gegönnt habe.

Mit "parted" habe ich mal auf die SSD geschaut, dort habe ich 3 Partitionen:

  1. Primary
  2. Extendet
  3. SWAP
Über ProxMox konnte ich der VM sehr einfach höheren Festplattenspeicher geben. Doch meine VM mit Debian und Nextcloud-Container hat dies bisher nicht mitbekommen.

Wenn ich mir jetzt die Doku https://pve.proxmox.com/wiki/Resize_disks anschaue, steht dort, dass ich das Vergrößern der Primary nur machen kann, wenn ich "GPARTED" nutze, da nach der Primary ja noch die Extendet und Swap Partition folgt.
Allerdings funktioniert GPARTED ja nur auf einem Debian mit GUI.

Hättet ihr eine Anleitung, wie ich den Speicher von Nextcloud erhöhen kann oder geht dies nur, wenn ich mir eine neue VM erstelle und dieser gleich die richtige Speichergröße wähle?

Leider bin ich nicht so gut in Linux (Newbie), deswegen leide ich vielleicht auch an einigen Verständnisproblemen.

Björn
 
Es kommt darauf an, wie die Partitionen physisch angeordnet sind - die Reihenfolge in der Partitionstabelle muss nicht unbedingt der Anordnung auf der Disk entsprechen. Du solltest mal die Ausgabe von parted komplett zeigen, inklusive aller Spalten.

Es ist wahrscheinlich, dass die Anordnung so ist, wie Du es zeigst und dass die zweite, extended, Partition das Root-Dateisystem beinhaltet. Nur: eine extended-Partition beinhaltet selbst nur wieder Sub-Partitionen und das können mehrere sein (würde man mit der parted-Ausgabe sehen).

Das Problem ist hier 1., dass der Swap-Space wahrscheinlich hinter dem Root-Dateisystem liegt und 2. Dass vor Vergrößerung der Root-Partition zuerst die umgebende Extended-partition vergrößert werden muss. Skizziert bedeutet das:

0. Vergrößern des VM-Disk-Images
1. Abschalten des Swap mit "swapoff -a"
2. Aufrufen von parted, löschen der Swap-Partition.
3. Vergrößern der Extended-Partition auf den gesamten Platz (eventuell minus Swap), z.B. mittels growpart.
4. Vergrößern der enthaltenen Root-Partition auf die neue Größe in der Extended Partition.
5. Ggf. Neuanlage der Swap-Partition und Anlage von Swapspace (mkswap), danach Swap aktivieren (swapon -a), falls das nicht geht, /etc/fstab prüfen, wie die Swap-Partition gefunden wird.
6. Reboot
7. Resize des Dateisystems (bei ext4 z.V. mit resize2fs /) auf die neue Größe.

Allerdings ist das etwas ungeschickt. Im Idealfall legt man solche Systeme gleich so an, dass vorne die Boot-Partition und der Swap liegt und das Root-Dateisystem dahinter, am besten auch mit GPT-Disks (die brauchen nämlich keine Extended Partitionen).

Für spätere Vergrößerungen entfallen dann die Schritte 1,2,3,5 und 6, weil man die letzte Partition dann einfach nach hinten verlängern kann.
Noch besser ist es, das Debian- oder Ubuntu-Linux gleich als sogenanntes "Cloud-Image" anzulegen (https://pycvala.de/blog/proxmox/create-your-own-debian-12-cloud-init-template/), da wird das nämlich nicht nur so gemacht, sondern bei jedem Boot wird a. ein Update der installierten Pakete vorgenommen und b. die Root-Partition automatisch mit "growpart" auf eine eventuell vergrößerte Disk angepasst.
 
Hallo Meyergru!
Allerdings ist das etwas ungeschickt. Im Idealfall legt man solche Systeme gleich so an, dass vorne die Boot-Partition und der Swap liegt und das Root-Dateisystem dahinter, am besten auch mit GPT-Disks (die brauchen nämlich keine Extended Partitionen).

Oh, hätte ich dies so in ProxMox machen können?
Ich hatte mir erst ProxMox auf die interne Festplatte des Lenovo PCs installiert, dann damit etwas gespielt und dann eine externe SDD angehangen, diese bei ProxMox eingebunden und darauf meine VM mit Debian12 installiert.

Anbei meine Platte mit (parted) print:
 

Attachments

  • parted-print.jpg
    parted-print.jpg
    25.7 KB · Views: 15
Last edited:
OK, das ist noch etwas anders. Da ist die erste Partition schon root. Also:

0. Vergrößern des VM-Disk-Images
1. Abschalten des Swap mit "swapoff -a"
2. Aufrufen von parted, löschen der Swap-Partition (sda5)
3. Löschen der extended Partition (sda2)
4. Vergrößern der root-Partition (sda1) auf die neue Größe in der Extended Partition, z.B. mit growpart /dev/sda 1
5. Ggf. Neuanlage einer Swap-Datei (https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-debian-11) und Ändern von /etc/fstab zum Finden des Swap (Löschen der Zeile mit der alten Swap-Partition).
6. Reboot
7. Resize des Dateisystems (bei ext4 z.V. mit resize2fs /) auf die neue Größe.

Vorher sicherheitshalber einen Snapshot anlegen, falls etwas schiefgeht.

Ja, natürlich. Die verlinkte Anleitung ist doch für Proxmox, sogar für ein VM-Template, mit dem man dann beliebige Clones als Debian-12-VMs anlegen kann. Auf dem Clone kann man dann Nextcloud installieren.
 
Ah, werde ich gleich mal morgen oder spätestens Dienstag testen. Habe jetzt auch verstanden, dass man entweder eine Swap Partition oder eine Swap-Datei haben kann.
Meine SDA2 gehört aber nicht zu der Swap Partition, oder? Die eigentliche Partition ist doch die SDA1 PRIMARY, dort sind doch alle Daten, wie die Docker-Container drauf, oder? Wofür ist die SDA2 Extendet? Alle Partitionen wurden von ProxMox angelegt.

Normal müsste es ja reichen, wenn ich die PRIMARY vergrößere und mir einfach nur die Swap Datei anlege (so wie du geschrieben hast), statt Swap Partition und die Extendet einfach weg lasse. Oder benötige ich/ProxMox die Extendet?

Sorry für die vielen Fragen, ich möchte es halt nur verstehen.
 
Proxmox legt gar keine Partitionen an, die entstehen bei der Installation einer VM, also wenn Du z.B. Debian von einem ISO installierst.

Du kannst die erste Partition nicht vergrößern, weil dahinter ja die extended Partition 2 liegt. Dahinter ist dann der neue Platz, der durch Schritt 0 entsteht. Und die Swap-Partition 5 liegt in der Extended Partition 2. Extended ist eine Krücke, die man braucht, wenn man mehr als 4 Partitionen anlegen will mit einem msdos statt einem GPT Label. Deswegen musst Du erst die Swap-Partition 5 löschen. Dann würde der Platz aber immer noch von der Extended Partition 2 belegt. Erst, wenn die auch weg ist, liegt hinter der Root-Partition nichts mehr und dann kann man sie vergrößern. Nach der Aktion hat Du nur noch eine Partition, die aber größer ist.

Ein Swap-File ist hier geschickter, denn sonst müsstest Du wieder eine Swap-Partition anlegen, was nur geht, wenn Du bei der Root-Partition nicht allen Platz verbrauchst - also "hinten" etwas Platz lässt - das ist eine elende Rechnerei. Da es auch damit insgesamt nur maximal zwei Partitionen wären, bräuchte man auch nicht unbedingt wieder eine Extended Partition, die wird nur aus grundsätzlichen Erwägungen genommen.
 
Last edited:
Ah danke für die schnelle Info.
Jetzt habe ich deutlich mehr verstanden. Mal schauen, wann ich morgen von der Arbeit komme, dann kann ich es gleich mal testen. Spätestens am Dienstag.
Ich gebe dann gleich eine Rückmeldung
 
ich versuche mich gerade mit ProxMox, Docker, Portainer, nginxPM, Nextcloud.
Das "Proxmox"-Team sieht es nicht gerne, wenn man es "ProxMox" schreibt. ;)

Allerdings funktioniert GPARTED ja nur auf einem Debian mit GUI.
Dein Debian braucht keine GUI für gparted. Gparted gibt es als bootfähige ISO. Die kannst du in der VM booten und dann hast du dein gparted mit GUI. Ist sowieso besser wenn dein Debian nicht gebootet/eingehängt ist, wenn du an der Root-Partition herumbasteln willst. Bei sowas bootet man lieber ein Live Linux wie eben die gparted ISO.
 
Last edited:
Das "Proxmox"-Team sieht es nicht gerne, wenn man es "ProxMox" schreibt. ;)


Dein Debian braucht keine GUI für gparted. Gparted gibt es als bootfähige ISO. Die kannst du in der VM booten und dann hast du dein gparted mit GUI. Ist sowieso besser wenn dein Debian nicht gebootet/eingehängt ist, wenn du an der Root-Partition herumbasteln willst. Bei sowas bootet man lieber ein Live Linux wie eben die gparted ISO.
Oh, dann werde ich in Zukunft nur noch Proxmox so schreiben. Ich sehe gerade, mein iPad will es aber immer anders schreiben. Ich weiß jetzt aber nicht, ob mein iPad die andere Schreibweise von mir übernommen hat oder ob es so von Apple kommt.

Hmm, mit Gparted hatte ich so probiert. Unter Proxmox habe ich aus meinem virtuellen DVD Laufwerk die Debian.iso entfernt und die Gparted-live.iso eingefügt und dann meine VM in Proxmox gestartet. Doch dann lief kein System hoch. Deswegen wieder die Gparted.iso raus und die Debian.iso wieder rein. Dann startet auch wieder mein VM.

Wie muss ich das dann mit der Gparted.iso richtig machen?

Hier meine Images, welche ich in Proxmox habe, siehe Bild:
 

Attachments

  • IMG_1028.png
    IMG_1028.png
    232.6 KB · Views: 14
Last edited:
Deswegen wieder die Gparted.iso raus und die Debian.iso wieder rein. Dann startet auch wieder mein VM.
Die ISOs, die man für die Installation gebraucht hat, sollte man eigentlich am besten direkt nach der Installation wieder entfernen. Sonst kannst du es später haben, dass da deine VM nicht mehr starten will, wenn du mal die ISO vom Storage gelöscht oder die VM migriert/wiederhergestellt hast. Da lässt man dann für den Normalbetrieb am besten keine ISO im virtuellen CD Laufwerk.
Und ich weiß nicht ob du OVMF oder SeaBIOS benutzt, aber hier lief das bisher mit der Gparted-ISO immer problemlos. Ggf. musst du mal die Bootreihenfolge der VM checken, dass da auch wirklich zuerst von der virtuellen CD und nicht von der virtuellen Disk gebootet wird.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!