[SOLVED] VM aus PBS auf PVE wiederherstellen schlägt fehl

cracksilver

Member
Feb 24, 2022
41
4
13
46
Hallo zusammen

Die Situation ist die dass ich den alten Server mit einem neuen ersetzt habe. Der PBS blieb bestehen. Ich weiss aber nicht ob das überhaupt etwas damit zu tun hat.

alter Server: Proxmox 7.xx
1 LXC auf Datastore mit ZFS (ca. 3TB)
täglich gesichert auf separatem PBS

neuer Server: Proxmox 8.2.7
Datastore mit Raid 1 ZFS (ca. 4TB)
den LXC Container aus dem PBS zurückgespielt (problemlos)
Sicherungsjob auf PBS erstellt.

Nachdem der Server ein paar Tage problemlos gelaufen ist, wollte ich versuchen das letzte Backup einzuspielen. Leider zeigt sich bei mir der folgende Fehler:

ecovering backed-up configuration from 'EXT-PBS-Backup-Alpha-SJ2V-SVAD:backup/ct/105/2024-11-10T04:30:01Z'
restoring 'EXT-PBS-Backup-Alpha-SJ2V-SVAD:backup/ct/105/2024-11-10T04:30:01Z' now..
Error: error extracting archive - encountered unexpected error during extraction: error at entry "66aca3ef64b7cd61e": failed to extract file: failed to copy file contents: No space left on device (os error 28)
TASK ERROR: unable to restore CT 188 - command 'lxc-usernsexec -m u:0:100000:65536 -m g:0:100000:65536 -- /usr/bin/proxmox-backup-client restore '--crypt-mode=none' ct/105/2024-11-10T04:30:01Z root.pxar /var/lib/lxc/188/rootfs --allow-existing-dirs --repository root@pam@192.168.2.78:EXT-PBS-Backup-Alpha-SJ2V-SVAD' failed: exit code 255

Nun, Space hat es genug auf dem neuen Server. Darum hat mich die Fehlermeldung "No space left on device (os error 28)" auch verwirrt.

 Ach ja, der PBS zeigt eine Grösse von etwa 9.7GB des zurückzuspielenden LXC's an. Die Platte des LXC's auf dem PVE ist jedoch ca. 62GB gross.

Aus diesem Thread hier weiss ich, dass es irgendetwas mit dem ZFS und Komprimierung zu tun haben muss. Check das aber nicht warum und wieso.

Hier mal die Plattenkonfiguration des PBS:
1731438466747.png

und hier von der Auszug vom PVE:
1731438582887.png
ist doch beides mal ZFS im RAID 1... müsste doch funktionieren.

Interessant ist, das der PVE unter den Disks über 3.7 TB anzeigt:
1731438785617.png

unter ZFS jedoch nur1.631731438902958.png

Unter der Übersicht überläuft der Pool schon fast ;-) das zeigte bereits der alte Server schon seit 2 Jahren an.
1731438996063.png

Wie kann das alles sein? Habe ich bei der Erstelllung des DataPools einen Fehler gemacht? Wie komme ich da wieder raus?

Ich hoffe es kann mir Jemand einen Input geben. Vielen herzlichen Dank schon mal.
Grüsse Gregor

PS: ich hätte die Möglichkeit, 2 andere 3 oder 4TB SSD's in den Server zu schieben und etwas daraus zu machen. Falls das zur Lösung beitragen könnte.
 
Hallo,

"technisch" betrachtet (Screenshot 4) ist der ZFS-Pool ja nicht wirklich voll.
Der letzte Screenshot sagt jedoch was anderes aus. Aus meiner Sicht ist ersteres (Screenshot 4) die technische Sicht, Screenshot 5 allerdings eher die "Software-Sicht".

Kann es sein, dass du beim Erstellen des ZFS-Pools kein Thin Provisioning aktiviert hast und eine VM/CT theoretisch eine HDD hat, die von der Größe her fast alles belegt (aber eben nicht physisch)?

Falls dem so ist: Kann das Thin Provisioning nachträglich nicht einfach aktiviert werden? Die Frage ist dann halt eben: "Merkt" PVE das dann und kann das korrekt "umrechnen"? Oder musst du den ZFS-Pool nochmal komplett entfernen und neu anlegen (und dann die VM aus einem Backup wiederherstellen)? Diese Umstellung habe ich in der Praxis noch nie gemacht, da ich meine ZFS-Pools immer mit Thin Provisioning erstelle.,

Gruß,
Jan
 
Du solltest Thin Provisioning aktivieren. Eine größere VM/LXC backupen, löschen und restoren. Dann sollte wieder Platz sein. Beim Restore belegt er nur den wirklich benötigten Speicher.
Falls du weitere Datastores hast, kannst du statt Backup Restore auch da hin migrieren und die Disks danach zu rück migrieren.
 
Vielen Dank für die Inputs.

Ich habe soeben eine 4TB eingebaut und damit einen ZFS Datastor MIT ThinProvisioning erstellt. Da drauf stelle ich jetzt erst mal das Backup von letzter Nacht wieder her und schau wie das aussieht. Wenn das so funktioniert hat, werde ich alle anderen LXC's auch noch auf diesen neuen Datastore umziehen, den alten Datastore leeren und dann das Spiel noch einmal zurück, bis alles wieder auf dem RAID Datastore ist.

Was mir beim Erstellen des Datastores aufgefallen ist, das man das ThinProvisioning nachträglich in den Optionen vom Datastore noch aktivieren muss. (Rechencenter/Storage/bearbeiten mit Doppelklick), darum hatte ich es beim letzten mal auch nicht gesehen.
 
Ja das ist normal. Eventuell kommt ja irgendwann einmal der Haken beim anlegen. ;)
 
Ja das ist normal. Eventuell kommt ja irgendwann einmal der Haken beim anlegen. ;)
... was bestimmt besser wäre weil man dann bereits beim anlegen sich mit der Frage "will ich?" oder "will ich nicht?" beschäftigen muss ;-)
 
Eine weitere Anmerkung: der ZFS Pool sollte/ darf 80 bis 85% der maximalen Größe, bei meinen Setups, erreichen.
zfs set quota=size <pool>
 
Last edited:
  • Like
Reactions: Johannes S
Eine weitere Anmerkung: der ZFS Pool sollte/ darf 80 bis 85% der maximalen Größe, bei meinen Setups, erreichen.
zfs set quota=size <pool>
Das ist eine gute Idee. Kann ich das als Prozent angeben oder muss ich da die tatsächliche Grösse angeben?

Also zfs set quota=80% EXT-PBS-Backup-Alpha-SJ2V-SVAD
oder bei 4TB zfs set quota=3500GB EXT-PBS-Backup-Alpha-SJ2V-SVAD
 
Hilfe zur Selbsthilfe: man zfs set quota
Und was die Größe angeht: zpool list -v
 
Last edited:
Hilfe zur Selbsthilfe: man zfs set quota
Danke :)

Die VM ist nun auf den neuen ZFS-Datapool mit Thin Provisioning umgezogen. Hat ne Weile gedauert. Das sieht nun aber vom Volumen her ganz anders aus. Ziel erreicht !
1731526698659.png

Nun werde ich die restlichen LXC's welche noch auf dem zugemüllten Datastore liegen backupen. Danach den alten Datastore leeren und wieder füllen mit den gesicherten LXC's und der VM.

Gibt es ein praktikables "Verschiebekommando" vom einen Datastore auf den anderen? So zb. mv datastore1/vm datastore2/vm

Und hei, vielen Dank für Eure Inputs ,-)
 
rsync -avP user1@src-ip:/<quelle-dir>/ user2@dest-ip:/<ziel-dir> [--delete] [--exclude=""]
check the files with sha256sum!
rm -r /<quelle-dir>/
 
Last edited:
  • Like
Reactions: cracksilver
So, nun ist alles wieder von den Backups auf dem neuen ZFS RAID Pool zurückgespielt. Sieht doch kapazitätsmässig viel viel besser aus und vorallem, das Zurückspielen funktioniert wieder tadellos.

Ich lerne daraus, ZFS-Pools in Zukunft immer MIT Thin Provisioning erstellen ;-)

Vielen Danke für Eure Hilfe.

1731610983029.png
 
  • Like
Reactions: Johannes S

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!