Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support VolumeSnapshot feature from Kubernetes #751

Closed
tamalsaha opened this issue Apr 21, 2019 · 11 comments
Closed

Support VolumeSnapshot feature from Kubernetes #751

tamalsaha opened this issue Apr 21, 2019 · 11 comments
Assignees
Milestone

Comments

@tamalsaha
Copy link
Member

tamalsaha commented Apr 21, 2019

Here is the scenario:

Cloud provider supports volume snapshotting. The CSI driver for that cloud provider implements this feature. https://kubernetes.io/docs/concepts/storage/volume-snapshots/

Now, instead of using restic, Stash uses the volume snapshotting crds to take backups. How will the restore process work?

Limitations of this approach:

Having said all these, it will be worth thinking about the design for this, since we don't want to break Stash CRD compatibility between v1beta1 and v1.

@tamalsaha
Copy link
Member Author

@hossainemruz
Copy link
Contributor

Requirements:

Limitation:

  • Restore can be done only in new PVC. Currently not possible to restore in existing PVC.
  • Does not support in-place restore.
  • No snapshot consistency guarantees beyond any guarantees provided by storage system (e.g. crash consistency)

@tamalsaha
Copy link
Member Author

tamalsaha commented May 7, 2019

  • Application-centric backup/restore
  • Snapshot scheduling
  • Retention policy
  • Clarify that VolumeSnapshots live in project silos
  • Restore without application downtime.
  • Clone stateful application
  • Take backup for one replica and recover into 3 replica (MongoDB fs backup)

Video Demo: https://www.youtube.com/watch?v=SG_Yy-73q0g

@tamalsaha tamalsaha added this to the 0.9.0 milestone May 7, 2019
@tamalsaha
Copy link
Member Author

tamalsaha commented May 13, 2019

xref: kubernetes/enhancements#989

@hossainemruz , K8s is adding support to clone a PVC. Alpha support planned for 1.15 release.

@vijay-dcrust
Copy link

Hi, i am getting below error while stashing postgres db:-
Error: exit status 1, reason: Fatal: unable to save snapshot: snapshot is empty

Any ideas or if someone can redirect me to correct thread.

@tamalsaha
Copy link
Member Author

tamalsaha commented Dec 25, 2019

@vijay-dcrust , which CSI driver are you using? And what is your Kubernetes version?

@vijay-dcrust
Copy link

vijay-dcrust commented Dec 25, 2019

@tamalsaha , I am using kubernetes volumes(local backend) with kubernetes server version 1.14.3 and client version 1.16.3 to store the backup. I use rook.ceph.io/block for postgres db storage volume.

@tamalsaha
Copy link
Member Author

@vijay-dcrust , we are upgrading Stash to support the new v1beta1 VolumeSnapshot api. I see that rook currently supports v1alpha1 VolumeSnapshpot api. https://github.com/rook/rook/blob/master/Documentation/ceph-csi-drivers.md

We intend to support v1beta1 api going forward. So, once rook adds support for v1beta1 api, we are going to circle back and see what the issue is.

@vijay-dcrust
Copy link

@tamalsaha , I think this error is not due to CSI driver since i am taking the postgres backup using stash functions and tasks like postgres-backup-11.2. I am facing this error with certain installation of postgres not with all. I think stash performs logical backup using functions and tasks. I am not able to figure out the source of error that i am getting from the logs generated by the sidecar pod logs.

@hossainemruz
Copy link
Contributor

Already added in #787

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants