Temporär alten Snapshot wiederherstellen (ZFS)

tobox

Member
Jan 23, 2020
9
3
8
46
Ich habe eine VM auf ZFS laufen, und davon täglich Snapshots gemacht. Jetzt würde ich gerne mal kurz einen alten Snapshot starten, um eine Datei daraus wiederherzustellen. Ich habe folgendes versucht:

- betreffenden Snapshot in der GUI irgendwie direkt starten (das war in ESXi z.B. relativ einfach möglich). Das wir scheinbar nicht unterstützt, macht bei ZFS auch Sinn, da die Snapshots ja read-only sind.

Snapshots.png

- clone: Dabei ist mir erstmal aufgefallen, dass die Liste der Snapshots nicht sortiert ist - soll ich das als Bug reporten? Das Clonen an sich hat aber auch nicht funktioniert: "Full clone feature is no supported for drive 'scsi0' 500"

Clone.pngError_Clone.png

- template: "unable to create template, because VM contains snapshots (500)"

Error_Template.png

Jetzt frage ich mich natürlich, was bringen mir denn nun die Snapshots, wenn ich an die alten praktisch nur drankomme, wenn ich alle neueren Stände wegschmeißen muss? Oder mache ich was falsch? Auf der Konsole könnte ich natürlich jetzt die Festplatte mit "dd" oder "zfs clone" duplizieren und eine neue VM erstellen, aber das sollte ja eher die letzte Möglichkeit sein...

Danke schonmal für die Hilfe


Edit: Inhalt der 270.conf

Code:
agent: 1
bootdisk: scsi0
cores: 2
cpu: Opteron_G4
memory: 1024
name: ENet-3-Devel
net0: virtio=A2:30:4C:E2:B1:B2,bridge=vmbr101
numa: 0
parent: foo
scsi0: nvme-zfs:vm-270-disk-0
smbios1: uuid=fdfc8bda-c404-43b7-b66f-6732f350237b
sockets: 1
virtio0: nvme-zfs:vm-270-disk-1,size=32G
vmgenid: 43f96a8c-7329-477f-a4ef-1325f8ba1c20

[Autosnap_2020_03_01]
#Backup Snapshot 2020_03_01
agent: 1
bootdisk: scsi0
cores: 2
cpu: Opteron_G4
memory: 1024
name: ENet-3-Devel
net0: virtio=A2:30:4C:E2:B1:B2,bridge=vmbr101
numa: 0
scsi0: nvme-zfs:vm-270-disk-0
smbios1: uuid=fdfc8bda-c404-43b7-b66f-6732f350237b
snaptime: 1583067665
sockets: 1
virtio0: nvme-zfs:vm-270-disk-1,size=32G
vmgenid: 43f96a8c-7329-477f-a4ef-1325f8ba1c20

...
 
du kannst den snapshot vom zvol auf ZFS ebene clonen und verwenden:

Code:
zfs clone pool/path/to/zvol@snapshot_name pool/path/to/clone
mkdir /mnt/zvolclone
mount /dev/zvol/..../clone /mnt/zvolclone

pfade entsprechend anpassen. wenn das zvol nicht direkt ein dateisystem enthält, sondern eine partitionstabelle kannst du die partition mit 'kpartx' für das host system verfügbar machen (und nachher wieder deaktivieren). statt einem clone kannst du auch das 'snapdev' property des zvols auf visible setzen, dann wird jeder snapshot als eigenes block devices exponiert (allerdings natürlich nur read-only!). statt kpartx/mounten kannst du den clone natürlich auch einer test VM zuweisen ('qm set XXX -scsi0 /dev/zvol/...').
 
  • Like
Reactions: KB19
Fabian,

danke für die Antwort - das man das auf der Kommandozeile fixen kann, war mir irgendwie klar, aber wenn man so schön in der GUI die Snapshots anlegen hätte ich irgendwie gedacht, dass man die auch ähnlich komfortabel nutzen kann. Aber da kein anderer eine Antwort geschrieben hat, geht da wohl nix :-( Schade eigentlich, aber für mich halbwegs akzeptabel.

Danke!
 

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!