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

Add Support for Volume Group Snapshots in Velero #8447

Open
shubham-pampattiwar opened this issue Nov 22, 2024 · 4 comments
Open

Add Support for Volume Group Snapshots in Velero #8447

shubham-pampattiwar opened this issue Nov 22, 2024 · 4 comments
Assignees
Labels
Milestone

Comments

@shubham-pampattiwar
Copy link
Collaborator

Describe the problem/challenge you have

Velero currently supports volume snapshots for individual Persistent Volumes (PVs) through CSI drivers. However, as stateful applications increasingly rely on multiple volumes for data, logs, and backups, there is a growing need for consistent, group-level snapshots. Kubernetes introduces Volume Group Snapshots, enabling simultaneous, consistent snapshots across multiple PVs in a logical group.

Describe the solution you'd like

This feature would significantly enhance Velero’s capabilities for disaster recovery, backup, and restore processes for complex, multi-volume applications such as databases and analytics workloads.

Anything else you would like to add:

Reference Links:

Environment:

  • Velero version (use velero version):
  • Kubernetes version (use kubectl version):
  • Kubernetes installer & version:
  • Cloud provider or hardware configuration:
  • OS (e.g. from /etc/os-release):

Vote on this issue!

This is an invitation to the Velero community to vote on issues, you can see the project's top voted issues listed here.
Use the "reaction smiley face" up to the right of this comment to vote.

  • 👍 for "The project would be better with this feature added"
  • 👎 for "This feature will not enhance the project in a meaningful way"
@kaovilai
Copy link
Member

kaovilai commented Nov 22, 2024

Closing this issue also closes #6020 and PVC requirements for #2888

@reasonerjt
Copy link
Contributor

@shubham-pampattiwar
Are you suggesting we deliver the e2e support in v1.16?
I was thinking we would do it in v1.17 when the work for Itemblock is fully done.

@sseago
Copy link
Collaborator

sseago commented Nov 25, 2024

@reasonerjt The ItemBlock model that this depends on was delivered in 1.15. The 1.16 changes use the ItemBlock work to enable parallel backup of ItemBlocks, but no ItemBlock model changes are anticipated. Nothing I'm doing in 1.16 is necessary for VolumeGroupSnapshot support.

With that being said, whether this makes sense for 1.16 or not is more a question of whether there's enough time to get the design and implementation done with time to test. In addition to the already-implemented ItemBlock work on the backup side, this functionality will probably require a similar ItemBlock design on the restore (similar to BackupItemBlock containing the base ItemBlock struct, I anticipate that we'll need a RestoreItemBlock struct that also contains ItemBlock) with similar changes to restore logic. Note that we do not intend to implement parallel ItemBlock restore at this time. The ItemBlock work on restore would be to facilitate making sure that all PVCs involved in the group snapshot (and their related pods) will be restored together.

@shubham-pampattiwar
Copy link
Collaborator Author

@reasonerjt @sseago No e2e support in 1.16. I was thinking we can work on the design encapsulating whats needed and the relevant steps needed for enabling VGS in velero 1.16. Implementation to be followed in 1.17.

@reasonerjt reasonerjt added the Area/Design Design Documents label Dec 4, 2024
@shubham-pampattiwar shubham-pampattiwar self-assigned this Dec 5, 2024
@shubham-pampattiwar shubham-pampattiwar added this to the v1.16 milestone Dec 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants