Sicherung von Sicherungen

TErxleben

Renowned Member
Oct 20, 2008
585
91
93
gibt es womöglich eine Möglichkeit raw-Sicherungen in einen PBS zu ziehen/schieben?

Ich sichere häufig platt auf schnellen, internen Medien um Netzwerkengpässe zu umgehen und im Zweifel schnell restoren zu können. Die jeweils letzte Sicherung möchte ich zusätzlich gerne gemütlich und ohne Zeitdruck auf einem PBS ablegen können (pull wäre am schönsten...).

P.S.: Ich will die raw-Sicherung einfach nicht koplett an den Nagel hängen, sondern als Zwischenstufe behalten.
 
Last edited:
Erstmal danke für den Tipp. Kannte ich noch nicht.
Allerdings erfordert das leider erhebliche Scriptlogiik, die ich vermeiden möchte.
Mein Wunsch wäre die Möglichkeit, ohne parallele Logik, in einem PBS die Dump-Verzeichnisse oder VMs beliebiger PVEs zu definieren aus denen dieser sich die raw-Sicherungen zieht.
Je mehr ich darüber gedanklich rumkaue, desto mehr fehlt mir eigentlich eine komfortable Möglichkeit direkt von PVEs pullen zu können.
 
Last edited:
Hallo @TErxleben,

nativ kann PBS tatsächlich keine Raw/VMA-Backups pullen — das ist ein oft gewünschtes Feature, aber aktuell nicht vorgesehen.

Der sauberste Weg ohne Script-Logik wäre:

Lokalen PBS als Zwischenschicht

Statt Raw-Backups lokal + PBS separat:

  • PBS direkt auf dem schnellen, lokalen Storage als primäres Backup-Ziel einrichten (Datastore auf den lokalen NVMe/SSDs)
  • Dann per Sync-Job (pull) auf den Remote-PBS replizieren

Damit hast du das Beste aus beiden Welten:
  • Schnelles lokales Backup (PBS dedupliziert, ist also auch platzsparend)
  • Automatischer Sync zum zweiten PBS — ohne eigene Script-Logik
  • Schnelles Restore vom lokalen Datastore

Der PBS selbst ist quasi die "Zwischenstufe", die du suchst. Und der Sync-Job überträgt nur geänderte Chunks, ist also deutlich effizienter als ein komplettes Raw-Backup zu kopieren.

Das Wiki-Tool von @Johannes S ist die Alternative wenn du bei Raw bleiben willst, aber wie du sagst — da steckt mehr Logik dahinter.
 
Ich erinnere mich schwach an 5-8J alte Diskussionen, die Nummer andersherum noch eleganter aufzuziehen.
Nämlich aus einem PBS, eben dem "Zwischenserver", Rawfiles auf Offline-Medien schreiben zu können.
Würde ich sogar ohne Schmerzen per Script erledigen.
Ich stelle so automatisiert VMs wieder her. Wie ich statt lauffähiger VM eine RAW-Sicherung ohne Verrenkung erzeugen kann, konnte ich bis dato nicht ergründen.
Am schönsten wäre natürlich eine USB-Medienverwaltung innerhalb eines PBS. Auch eine Asbach-Diskussion. Geht leider bis heute nicht. Stattdessen eine immer noch halbgare Bandverwaltung.
 
Last edited:
@TErxleben,

PBS-Backups als Raw-Images extrahieren geht direkt mit dem proxmox-backup-client — ohne VM-Restore:

Code:
# Snapshots auflisten
proxmox-backup-client list --repository user@pbs-host:datastore

# Enthaltene Archives eines Snapshots anzeigen
proxmox-backup-client snapshot files vm/100/2026-01-27T12:00:00Z --repository user@pbs-host:datastore

# Disk-Image als Raw-Datei auf beliebiges Ziel extrahieren
proxmox-backup-client restore vm/100/2026-01-27T12:00:00Z drive-scsi0.img.fidx /mnt/usb/vm-100-disk-0.raw --repository user@pbs-host:datastore

Das schreibt dir das Disk-Image als plain Raw-File raus — direkt auf USB-Medium mountbar und per Script automatisierbar. Kein Umweg über eine laufende VM nötig.

Für eine komplette VM mit Config kannst du zusätzlich das .conf-Archive mit extrahieren:

Code:
proxmox-backup-client restore vm/100/2026-01-27T12:00:00Z qemu-server.conf.blob /mnt/usb/vm-100.conf --repository user@pbs-host:datastore

Das sollte deinen Workflow abdecken: PBS als zentrale Sicherung, bei Bedarf Raw-Export auf Offline-Medien per einfachem Script.
 
  • Like
Reactions: Johannes S and UdoB
Falls wir nicht aneinander vorbeireden, wäre das natürlich hitverdächtig.
Meine Idee ist: PBS->xyz.zst auf USB-Disk.
Also so wie ich VMs mittels script an beliebigen Orten sichere.
 
Last edited:
Genau das. Der `restore`-Befehl schreibt dir das Image raus, und du packst einfach zstd dahinter:

Code:
proxmox-backup-client restore vm/100/2026-01-27T12:00:00Z drive-scsi0.img.fidx /mnt/usb/vm-100-disk-0.raw --repository user@pbs-host:datastore
zstd --rm /mnt/usb/vm-100-disk-0.raw

--rm löscht das unkomprimierte Original nach erfolgreichem Komprimieren — spart dir den doppelten Platzbedarf auf dem USB-Medium. Ergebnis: /mnt/usb/vm-100-disk-0.raw.zst

Zurückspielen geht dann mit:
Code:
zstd -d /mnt/usb/vm-100-disk-0.raw.zst -o /path/to/restore/vm-100-disk-0.raw

Das Ganze lässt sich mit einer Schleife über proxmox-backup-client snapshot files für alle Disks eines Snapshots trivial scripten.
 
  • Like
Reactions: Johannes S
Das Disk-Image, das du per proxmox-backup-client restore bekommst, ist inhaltlich identisch mit dem Raw-Image innerhalb einer VMA — gleiche Rohdaten, nur ohne den VMA-Container drumherum.

Der Unterschied liegt im Restore-Weg zurück nach PVE:
  • VMA: qmrestore backup.vma 100 — ein Befehl, fertig
  • Raw aus PBS: Disk importieren + Config anwenden, z.B.:
Code:
qm create 100 --name restored-vm
qm importdisk 100 /mnt/usb/vm-100-disk-0.raw local-lvm
# Dann die Disk in der VM-Config zuweisen (GUI oder qm set)
Wenn du den Rückweg einfacher haben willst, kannst du die Raw-Files auch einfach wieder in den PBS hochladen statt direkt in PVE zu importieren — dann greift der normale PBS-Restore.

Aber für deinen Anwendungsfall (PBS → komprimiertes Raw auf USB → bei Bedarf zurück) passt das. Ist nur kein Ein-Befehl-Restore wie bei VMA, sondern zwei-drei Schritte.
 
  • Like
Reactions: TErxleben
Das Disk-Image, das du per proxmox-backup-client restore bekommst, ist inhaltlich identisch mit dem Raw-Image innerhalb einer VMA — gleiche Rohdaten, nur ohne den VMA-Container drumherum.

Der Unterschied liegt im Restore-Weg zurück nach PVE:
  • VMA: qmrestore backup.vma 100 — ein Befehl, fertig
  • Raw aus PBS: Disk importieren + Config anwenden, z.B.:
Code:
qm create 100 --name restored-vm
qm importdisk 100 /mnt/usb/vm-100-disk-0.raw local-lvm
# Dann die Disk in der VM-Config zuweisen (GUI oder qm set)
Wenn du den Rückweg einfacher haben willst, kannst du die Raw-Files auch einfach wieder in den PBS hochladen statt direkt in PVE zu importieren — dann greift der normale PBS-Restore.

Aber für deinen Anwendungsfall (PBS → komprimiertes Raw auf USB → bei Bedarf zurück) passt das. Ist nur kein Ein-Befehl-Restore wie bei VMA, sondern zwei-drei Schritte.
Schon mal danke für deine Mühe und kompetenter Schilderung.
Mir schwebt der kecke Gedanke im Kopf herum, per script ein proxmox-backup-client extractvma -latest <src> <dest> ausführen zu können.
 
@TErxleben,

Ein extractvma-Subcommand existiert nicht, aber du kannst dir den Workflow mit dem vma-Tool (auf jedem PVE-Host vorhanden) bauen:

Code:
#!/bin/bash
REPO="user@pbs-host:datastore"
VMID=100
DEST="/mnt/usb"
TMP=$(mktemp -d)

# Latest Snapshot ermitteln
SNAP=$(proxmox-backup-client snapshots --repository "$REPO" --output-format json \
  | jq -r "[.[] | select(.\"backup-type\"==\"vm\" and .\"backup-id\"==\"$VMID\")] | sort_by(.\"backup-time\") | last | \"\(.\"backup-type\")/\(.\"backup-id\")/\(.\"backup-time\")\""
)

# Disk(s) + Config extrahieren
proxmox-backup-client restore "$SNAP" drive-scsi0.img.fidx "$TMP/disk0.raw" --repository "$REPO"
proxmox-backup-client restore "$SNAP" qemu-server.conf.blob "$TMP/vm.conf" --repository "$REPO"

# VMA erstellen
vma create "$DEST/vzdump-qemu-${VMID}.vma" -c "$TMP/vm.conf" drive-scsi0="$TMP/disk0.raw"

# Optional: komprimieren + aufräumen
zstd --rm "$DEST/vzdump-qemu-${VMID}.vma"
rm -rf "$TMP"

Ergebnis: eine reguläre VMA(.zst), die du mit qmrestore wie gewohnt zurückspielen kannst. Das vma create packt die Raw-Images + Config wieder in den VMA-Container — ist quasi die Umkehrung von vma extract.

Für VMs mit mehreren Disks einfach die zusätzlichen .fidx-Einträge aus proxmox-backup-client snapshot files mit aufnehmen und als weitere Drive-Mappings an vma create übergeben.
 
Ähnlich erstelle ich coldstandbys auf einem Failoverserver.
Werde ich für scriptgesteuerte Sicherungen auf externen Medien untersuchen und Rückmeldung geben.
Schöne Inspiration.