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
[FEATURE] Application consistent snapshot/backup, Volume Group #2128
Comments
@jenting Please help with this. Thanks. |
linking the backup refactor issue #1761 |
Application state may be distributed across multiple persistent volumes (e.g. sharded DB, distributed indexes). The application consistent backup must then ensure that snapshots are performed in a point-in-time consistent manner across all volumes. Offering such feature Longhorn may allow users to create "volume groups" and define on-demand or scheduled backup plans for the whole group instead of individual volumes. |
Thanks for the comment. The similar idea we had some discussion before. The goal is we need to introduce a mechanism to make the volumes of application atomic aware operations supported and like u said, not just individual volumes. Please follow up the discussion and proposals in near future. |
Hey team! Please add your planning poker estimate with ZenHub @jenting @PhanLe1010 @shuo-wu @joshimoo |
There is a lot to consider here and high uncertainty, volume groups, pre/post hooks (executing inside of the workload pods), error handling etc. Now that we have backup crds we can also consider exposing (syncing) these crds as csi snapshots via creation of the appropriate csi snapshot and snapshotData resources. |
Leave a note here: The next: |
This feature would be awesome! 👍🏽😃 |
container-storage-interface/spec#519 |
Some interesting project can be referenced as well, https://github.com/kanisterio/kanister. |
Note:
|
This new feature seems similar to the current VolumeSnapshot which means users also can do RWX volume backup by multiple workloads now, so it's not related to this new interface. This is a general interface, so basically we don't need to worry about whether it's ideal or not for different volume access modes.
I see, then we have two phases here. In the first phase (1.6), let's introduce the internal mechanism like To sum up.
|
Backlog this first to work on higher-priority items: |
Is your feature request related to a problem? Please describe.
Currently, Longhorn can do crash-consistent snapshot/backup. But for the applications like databases, quiescing is needed to create an application-consistent snapshot, so the application will make sure all the data in the memory has been written to the disk before creating the snapshot.
Describe the solution you'd like
Provide a way for the users to quiesce the workload before taking the snapshot/backup.
Describe alternatives you've considered
Users can also script the backup using CSI snapshotter and run quiescing/unquescing before taking the snapshot. But it won't work with the recurring snapshot/backup which is scheduled by Longhorn.
Additional context
One application is normally composed of multiple workloads, so we need to consider
volume group
scenario as well.The text was updated successfully, but these errors were encountered: