Volume verkleinern

Haiko

New Member
Feb 20, 2025
12
1
3
Hallo,

ich habe bei einer Neuinstallation dummerweise ein Windows-Datenvolume zu groß angelegt. Dann habe ich es in Windows verkleinert und möchte den freigewordenen Speicher in Proxmox für andere VM zur Verfügung stellen. Das scheint auch erstmal geklappt zu haben. Aber jetzt bekomme ich eine Fehlermeldung:

root@pve:~# lvs pve-ibd
WARNING: Thin volume pve-ibd/vm-100-disk-3 maps 785.55 GiB while the size is only 600.00 GiB.
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
data pve-ibd twi-aotz-- <1.67t 62.16 3.49
data_meta1 pve-ibd -wi------- <15.88g
root pve-ibd -wi------- 96.00g
swap pve-ibd -wi------- 8.00g
vm-100-disk-0 pve-ibd Vwi-aotz-- 4.00m data 14.06
vm-100-disk-1 pve-ibd Vwi-aotz-- 256.00g data 93.32
vm-100-disk-2 pve-ibd Vwi---tz-- 4.00m data
vm-100-disk-3 pve-ibd Vwi-aotz-- 600.00g data 100.00
vm-101-disk-2 pve-ibd Vwi---tz-- 40.00g data

Diese fehlerhaft Mapping versuche ich seit Stunden erfolglos zu beheben.

"lvconvert --repair pve-ibd/data " erzeugt "Active pools cannot be repaired. Use lvchange -an first."
Ich habe alles versucht, um den Pool zu deaktivieren, z.B. "vgchange --force -an pve-ibd" Aber es ist nicht möglich.

Vor ein paar Stunden hat es tatsächlich mal irgendwie geklappt aber nach dem Neustart. war der Fehler wieder da.

Was kann ich da machen? Oder soll ich das Volume lieber wieder vergrößern?

Danke im Voraus!
 
Das ist kein Fehler sondern nur eine Warnung. Wenn die Partition in der VM verkleinert ist, kannst du das einfach ignorieren.
 
Das ist kein Fehler sondern nur eine Warnung. Wenn die Partition in der VM verkleinert ist, kannst du das einfach ignorieren.
Hm, das wäre ja toll. Aber der Platz wird nicht wieder freigegeben. Ich werde noch wahnsinnig. Leider kann ich das Volume bzw. die Disk auch auf den Teufel nicht mehr deaktivieren, damit ich die repair laufen lassen kann. Auch nicht nach einem Neustart. Komischerweise hat es gestern im Laufe des Tages zwei Mal geklappt, dann war der Speicher frei - bis zum Neustart.

Obwohl ich seit 1992 in der IT arbeite, sind meine Linux-Erfahrungen nicht sehr umfangreich Ich habe es zig Mal versucht. Schon wieder bleibe ich hängen.

Möglicherweise kann ich den Inhalt der Disk sichern (unter Windows, da hat die Verkleinerung ja geklappt), sie dann komplett löschen und in Proxmox neu anlegen.
 
Wo verschwindet denn der Speicher bei dir? Ich kann deine Aussagen nicht nachvollziehen.
 
Wenn ich auf der Nvme eine neue VM erstellen möchte, steht der "freigegebene" Speicher nicht zur Verfügung sondern ist immer noch durch die vm-100-disk-3 blockiert. Da ich die vm-100-disk-3 auch nicht deaktivieren kann, lässt sich die Speicherzuordnung nicht mit "repair" reparieren.
 
Ich weiß nicht was bei dir blockiert und warum du irgendwo repair machen willst.
Die Disk ist jetzt etwas größer als du die benötigst, aber das ist ja nicht schlimm. Das LVM-Thin ist ja Thin Provisioned, also wird im Backend nur belegt, was in der VM geschrieben wird.. Wenn du eine 600GB Disk hast und die Partition im Windows ist 200GB, dann kann die VM nicht mehr als 200GB belegen. Auch wenn du deinen Pool jetzt überprovisionierst, hast du ja 400GB Luft.
Ich glaube mit wilden Repair Dingen, obwohl nichts kaputt ist, machst du im schlimmsten Fall mehr Kaputt.
 
Vielen Dank erstmal für deine Antwort. Ich werde das nachher probieren. Ich möchte dir noch mal mein bisheriges Vorgehen schildern:

1. Ich habe ein Volume in der Größe von 1 TB in Proxmox erzeugt, darauf habe ich in der VM ein Volume mit 1 TB erzeugt. Darauf wollte ich zwei kleinere VMs laufen lassen, mit VMware Player. Das hat, wie ich gemerkt habe, nicht funktioniert, da der Player in VMs nicht läuft.
2. Ich habe das Volume in Windows verkleinert, auf 600 GB. Das hat funktioniert.
3. Ich habe die Disk vm-100-disk3 in Proxmox auf 600 GB verkleinert. Das hat erstmal funktioniert, Proxmox gab dann an, dass der freie Platz in "data_meta0" gesichert würde. Diesen habe ich dann mit "lvremove pve-ibd/data_meta0" entfernt. Das ging auch.

Wenn ich aber nun diesen "freien" Platz auf der Nvme nutzen möchte, um eine weitere VM zu installieren, werden mir nur ungefähr 2,4 GB freie Speicherressourchen angezeigt, nicht die nun "freien" 400 GB. Ich weiß nicht, wie ich die jetzt nutzen könnte.
 
OK, jetzt wird einiges klar.
1. Am besten niemals Volumes (vDisks) verkleinern, das hat schon bei einigen Leuten zu Datenverlust geführt.
2. Nach dem verkleinern der Partition im Windows, am besten direkt eine neu auf dem freien Speicher anlegen und mit sdelete einmal ausnullen lassen.

Ich vermute Windows hatte eine große vDisk für eine PlayerVM und hat dann weitere Daten dahinter geschrieben, in den jetzt verkleinerten Bereich.
Da sind nach der Verkleinerung der Partition jetzt noch verwaiste Datenblöcke.
Das einfachst wäre die Disk auf ca. 800GB wieder zu vergrößern und auf den nicht benötigten 200GB einmal sdelete drüber laufen lassen.
Wenn die Blöcke ausgenullt sind, können diese auch von anderen VMs genutzt werden.
 
Ganz, ganz herzlichen Dank, das werde ich nachher ausprobieren. Ich habe extra schon mal eine weitere (temporäre) Platte ins System gehängt. Dass man vDisks nicht verkleinern soll, habe ich auch schon mal (zu spät) gelesen. Aber nun ist mir auch wieder Einiges klarer geworden. Danke!!
 
Die sauberste Lösung in solchen Fällen ist eine neue, 2te Platte zuerzeugen und mit einem Partitionierungstool wie z.B. Gparted, Paragon, Minitool etc die Quellplatte auf die neue zu klonen und im selben Zuge mit dem Tool zu verkleinern. Danach Quellplatte aushängen, neue rein, kontrollieren und wenn alles läuft später die Quellplatte zu löschen.
 
  • Like
Reactions: Johannes S