Openmediavault unter PVE - Verschieben von Partition mit GParted nicht möglich

Skream

Member
Mar 15, 2021
19
4
8
31
Hallo zusammen,

ehrlich gesagt weiß ich nicht, ob ich in dieser Rubrik richtig bin, also falls nicht, gerne verschieben oder mir Hinweise geben :)

Ich habe aktuell folgendes Problem:
Ich habe Openmediavault 6 unter PVE 7-3.6 als VM laufen mit folgenden Festplatten und Partitionen (lsblk):
sda: 8GB
sda1: 6GB
sda2: 1KB
sda5: 2GB (Swap)
sdb: 9,8TB
sdb1: 9,8TB

Nun kann ich mich neuerdings nicht mehr über die Web-GUI einloggen. Trotz richtiger Login-Daten wird die Oberfläche nicht geladen, sondern ich lande wieder beim Login-Screen. Über eine Statusmeldung in der Konsole (kann ich leider nicht mehr reproduzieren) konnte ich jedoch erkennen, dass der Login aufgrund der randvollen sda1-Partition (100%) nicht möglich ist.

Genug freien Speicherplatz habe ich mittlerweile, ich habe sda von 8GB auf 20GB erhöht, damit sind nun 12GB nicht zugewiesen.
Nach diversem Googlen wollte ich den nicht zugewiesenen Speicherplatz mithilfe von GParted der Partition sda1 zuweisen.

Nun ist mir mit Blick auf GParted erstmal aufgefallen, dass sda und sdb vertauscht sind, sprich sdb umfasst 8GB und sda knapp 9,8TB. Ist das irgendwie von Bedeutung?
1676900683849.png

Außerdem lässt sich sda nicht um den nicht zugewiesenen Speicher erweitern, weil sbd "dazwischenliegt". Dabei lässt sich sda2 (inkl. sda5) nicht hinter den nicht zugeteilten Bereich schieben, der "Kreuzpfeil" (oder wie man ihn auch immer bezeichnen soll) taucht gar nicht auf:
1676900832271.png

Ich könnte sda2 problemlos nach rechts erweitern, allerdings kann ich sda2 nicht von links verkleinern, um "freien Platz" zwischen sda1 und sda2 zu schaffen.

Nun meine Frage: Habe ich hier irgendwo einen Denkfehler drin? Ich würde am liebsten sda1 einfach vergrößern, um wieder Ruhe zu haben. Alternativ würde ich eben OMV komplett neu aufsetzen, allerdings würde ich mir den Restore von knapp 3TB an Daten gerne ersparen :)

Vielen Dank im Voraus!
 
Ich könnte sda2 problemlos nach rechts erweitern, allerdings kann ich sda2 nicht von links verkleinern, um "freien Platz" zwischen sda1 und sda2 zu schaffen.
Hier ist der Denkfehler, den du suchst; ist eventuell ein Missverständnis, das durch GParted entsteht. Du kannst eine Partition allgemein nicht "verschieben" ohne sie komplett neu anzulegen. Das ist ein kleines Detail, das GParted etwas versteckt.

Eine Partition beginnt und endet immer bei einem gewissen Sektor auf der Disk. Die sind tatsächlich durchnummeriert. Hier ein output von fdisk, einem command line tool für das Partitionieren von drives:
Code:
Command (m for help): g
Created a new GPT disklabel (GUID: 3CD76E3D-97AB-0843-A30F-138B590257FF).

Command (m for help): n
Partition number (1-128, default 1):
First sector (2048-1953525134, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-1953525134, default 1953525134):

Created a new partition 1 of type 'Linux filesystem' and of size 931.5 GiB.
Kommt einem vielleicht etwas archaisch vor, wenn man sonst immer per GUI partitioniert hat, aber in diesem Falle sieht man deutlich, wo die Partition anfängt und aufhört. In diesem Falle habe ich auf der ganzen 1 TB Platte einfach eine Partition angelegt, die so groß wie möglich ist (1 Terabyte ~= 931 Gibibyte). Ein paar Sektoren behält sich die Platte selber (wofür diese genau sind, weiß ich ehrlich gesagt nicht; ich nehme mal an SMART Daten o.Ä.).

Würdest du also die Partition einfach vergrößern - "das rechte Ende weiter nach rechts schieben" - würdest du sie einfach.. naja, nur vergrößern. Viele moderne Dateisysteme (wie z.B. ext4) können damit umgehen; mit einem Befehl können deren Größe in der Regel angepasst werden. Das ist i im Normalfall alles kein Problem.

Was du aber in deinem Fall probieren möchtest, ist nicht die Partition von "links zu verkleinern," sondern ihren Anfangspunkt zu verschieben. Die Sektoren auf deiner Platte (oder Speicherzellen auf deiner SSD, o.Ä.) lassen sich halt nicht so einfach wo anders hindrücken; die Daten bleiben ja noch immer dort, wo sie eben sind (auch bei virtuellen disks!). Dann wäre der Anfang deines Dateisystems danach auf nun unbelegtem Speicher; wenn du dann die andere Partition dort hin erweiterst (und das Dateisystem auf die neue Größe anpasst) sind die Daten dort futsch, und die auf der nun geschrumpften Partition höchstwahrscheinlich ruiniert.

Das Ende einer Partition kann man also in den meisten Fällen immer erhöhen (so lange das Dateisystem resizable ist, was z.B. sowas wie ext4 ist), aber sobald es um das Verschieben des Anfangspunkts oder das Verkleinern geht, riskiert man, Daten zu verlieren. Deshalb lässt GParted dich das auch nicht machen, außer du löscht den partition table komplett und setzt alles neu auf.

Hört sich jetzt alles in deinem Fall schlimm an, muss es aber nicht sein. Da du ja alles brav virtualisiert hast, kannst du zu deiner VM eine neue, größere Disk hinzufügen, dort die Partitionen neu anlegen und die Daten auf diese kopieren. Wenn du die neue Disk dann einbinden und von ihr booten kannst, kannst du die alte Disk löschen. Ich würde aber davor ein Backup machen.

Was du aber allgemein machen kannst, egal ob du deine Daten migrierst oder alles neu aufsetzt, ist, pro Partition einfach eine eigene Disk zu verwenden. Sollte dann eine Partition langsam voll werden, kannst du einfach 1) die virtuelle Disk erweitern, dann 2) die Partition vergrößern und letztendlich 3) das Dateisystem anpassen lassen. Davor aber natürlich wieder ein Backup machen.
 
aber sobald es um das Verschieben des Anfangspunkts oder das Verkleinern geht, riskiert man, Daten zu verlieren. Deshalb lässt GParted dich das auch nicht machen, außer du löscht den partition table komplett und setzt alles neu auf.

GParted läßt einen das schon machen, aber nicht mit allen Dateisystemen. Außerdem wird es haklig, wenn man wie hier eine erweiterte Partition hat.

Aber Swap muß man wirklich nicht aufwendig verschieben, das kann man auch einfach löschen und neumachen.
  • in gparted die Konsole aufmachen, blkid aufrufen und die IDs von sda5 raussuchen, irgendwo abspeichern
  • sda5 löschen
  • sda2 löschen
  • sda1 vergrößern, 2GB übriglassen
  • Extended Partition anlegen (wird sda2)
  • swap-Partition in sda2 anlegen (wird sda5), Typ auf linux swap setzen, der Partition die alte UUID/PARTUUID geben
  • gparted den ganzen Kram ausführen lassen
  • in der Konsole mkswap /dev/sda5 ausführen
Den UUID-Kram kann man sich sparen, wenn man weiß, daß in /etc/fstab der VM die Swap-Partition als /dev/sda5 angegeben ist. Oder man ändert die dort eingetragene UUID auf die der neuen Swap-Partition.
 
  • Like
Reactions: Max Carrara
GParted läßt einen das schon machen, aber nicht mit allen Dateisystemen. Außerdem wird es haklig, wenn man wie hier eine erweiterte Partition hat.
Oh, TIL! Dankeschön, das wusste ich gar nicht.
 
es geht auch ohne zu löschen dauert dann halt etwas länger

also du musst zuerst die erweiterte Partion vergrößern (sda2)
dann die Partion (sda5) innerhalb der erw. Part. (sda2) ans Ende verschieben
dann die erw. Part (sda2) vorne wieder verkleinern das die bis zum Anfang der Part (sda5) ist geht
dann hast du genug Platz um die Part (sda1) zu vergrößern bis zum Anfang der erw. Part. (sda2)
 
Last edited:
  • Like
Reactions: Max Carrara

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!