proxmox-csi-plugin icon indicating copy to clipboard operation
proxmox-csi-plugin copied to clipboard

Snapshot support (backup/restore)

Open sergelogvinov opened this issue 1 year ago • 7 comments

Feature Request

Description

Proxmox supports backup API calls. After manual testing, CSI can create snapshots of PVs and recover them through backups, but the process is slow. OpenStack also has this feature. It might be a good idea to implement it.

Please vote if someone needs it.

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request

sergelogvinov avatar Sep 25 '24 19:09 sergelogvinov

Currently stuck with the implementation. I think it’s impossible to implement without changes to the Proxmox API.

sergelogvinov avatar Jan 24 '25 15:01 sergelogvinov

I've been evaluating the Proxmox csi driver and I really like the idea och using dynamically provisioned vm disks for persistent storage. Impressive work so far!

A reliabel and somewhat gitops friendly way to handle backup and restore (DR) would be really handy though, and this is so far preventing me from relynig on the csi driver for important data. Any tips for existing DR features I might have missed when scanning trough the documentation is very welcome. =)

Would it be possible to implement e.g. externalSnapshotter support to the csi driver? I'm not sure what problem you encountered with the proxmox API though. Of the top of my head, a way around having to rely on any proxmox snapshot features could be to implement support for referenfce e.g. an nfs share in the VolumeSnapshotClass and have the volumesnapshots being stored there.

If the StorageClass and VolumeSnapshotClass supported templating in order to name the vm disks and the volumesnapshots, then I believe it would make it possible to remount existing vm-disks and snapshots declaratively using git (dynamic provisioning) as well (as part of k8s cluster DR). An example of such templating can be found in e.g. the "csi driver nfs".

wammax avatar Mar 07 '25 23:03 wammax

This issue is stale because it has been open 180 days with no activity. Remove stale label or comment or this will be closed in 14 days.

github-actions[bot] avatar Sep 04 '25 08:09 github-actions[bot]

any news here? I like to use this for my cluster volumes, but we are now looking for good backup and recovery tools. we tried to use Veeam Kasten K10 but this needs Volume Snapshots by default.

> kubectl describe VolumeSnapshot k10-csi-snap-cxqsg6f4hj6zh847 -n hosting42-web
Name:         k10-csi-snap-cxqsg6f4hj6zh847
Namespace:    hosting42-web
Labels:       kasten_io_appnamespace=hosting42-web
              kasten_io_jobid=1fc3fac1-898b-11f0-88f7-b6ca72b021d9
              kasten_io_manifestid=1fb916f7-898b-11f0-a4f7-0e84e7268681
              kasten_io_pvc=shortener-db
              name=kasten__snapshot-hosting42-web-ns-2025-09-04t12-31-45z-00
Annotations:  <none>
API Version:  snapshot.storage.k8s.io/v1
Kind:         VolumeSnapshot
Metadata:
  Creation Timestamp:  2025-09-04T12:32:23Z
  Finalizers:
    snapshot.storage.kubernetes.io/volumesnapshot-as-source-protection
    snapshot.storage.kubernetes.io/volumesnapshot-bound-protection
  Generation:        1
  Resource Version:  8006911
  UID:               fd1a048e-a2f1-4128-8347-ef5c8ee84d41
Spec:
  Source:
    Persistent Volume Claim Name:  shortener-db
  Volume Snapshot Class Name:      proxmox-data-snapshots
Status:
  Bound Volume Snapshot Content Name:  snapcontent-fd1a048e-a2f1-4128-8347-ef5c8ee84d41
  Ready To Use:                        false
Events:
  Type    Reason            Age   From                 Message
  ----    ------            ----  ----                 -------
  Normal  CreatingSnapshot  15m   snapshot-controller  Waiting for a snapshot hosting42-web/k10-csi-snap-cxqsg6f4hj6zh847 to be created by the CSI driver.

MSandro avatar Sep 04 '25 12:09 MSandro

Hi, I think I’ll return to this issue in the near future (within one or two months). I plan to try Proxmox 9, and maybe I’ll be able to find a solution.

sergelogvinov avatar Sep 04 '25 14:09 sergelogvinov

I'm eager to test any progress with this. :-)

FleischKarussel avatar Sep 12 '25 12:09 FleischKarussel

The edge version can make a snapshots now. see limitations https://github.com/sergelogvinov/proxmox-csi-plugin/blob/main/docs/volumesnapshot.md

Do not forget to run snapshotter as sidecar + apply CRDs and separate deployment (example: https://github.com/sergelogvinov/gitops-examples/tree/main/apps/clouds/csi-snapshotter)

Helm chart values:

controller:
  plugin:
    image:
      pullPolicy: Always
      tag: edge
  snapshotter:
    enabled: true

node:
  plugin:
    image:
      pullPolicy: Always
      tag: edge

sergelogvinov avatar Nov 04 '25 03:11 sergelogvinov