-
Notifications
You must be signed in to change notification settings - Fork 547
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
cephfs: use shallow volumes for the ROX accessModes #3603
Comments
I like it. |
Additionally, OADP/Velero uses a data mover to copy snapshots to object storage which requires creating PVCs from snapshots to drive volsync and it would be very nice to not have to dynamically create a storageclass at backup time if we are specifying ROX. Big +1 to adding this feature. |
Some context on why we currently rely on
I think that now as a separate iteration we can go forward with moving snapshot backed volumes to default when ROX mode is set (we still may need to keep a way for users to override this default and create a clone if the user wishes to create one). |
Ack! Overall a useful feature to default to, with the above consideration. |
We need to handle snapshot procedure of the (newly proposed shallow snapshot backed) ROX PVC too. |
We need to think about whether we should allow these operations or not. For me, enabling it isn't a good idea as no data will be changed in the subvolume as it's only a snapshot and used as readonly but let's hear it from others as I might be missing a good use case.
|
Not sure, I do not see a benefit in doing this.
Possibly?
Consider asking recommendations on the Ceph devel mailinglist. |
may be useful for statefulset not sure but we can check on this one.
Still, it's a single snapshot mounted by multiple application pods not sure it's possible to distribute the load on the ceph cluster if it was a clone /subvolume it was possible.
good to check with cephfs team about it. |
After discussing with @Rakshith-R, one use-case is that if the snapshot is accidentally deleted from the kubernetes cluster and only the ROX clone exists, having this feature will allow us to create one more copy of the snapshot for backup purposes. |
@mchangir @kotreshhr any idea about this |
I think for shallow RO/ROX clone to be completely transparent to the user, we need to support all the operations we currently support for a regular clone. For a snapshot-> we can just increase ref count. Maybe we can have a feature gate while we put together these different parts too? |
Yes, but this will be for all other accessMode than ROX. if it's for ROX we need to increase the ref count but for now will block it and allow it if there is any use case. |
reopening as not all usecases are addressed. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in a week if no further activity occurs. Thank you for your contributions. |
I believe the wontfix label should be removed. |
@dymurray yes, i removed it, we are keeping it for some enhancements we already have the requested feature in CephCSI 3.8.0 |
This PR will close the snapshot enhancement feature. |
Add support to create RWX clone from the ROX clone, in ceph no subvolume clone is created when ROX clone is created from a snapshot just a internal ref counter is added. This PR allows creating a RWX clone from a ROX clone which allows users to create RW copy of PVC where cephcsi will identify the snapshot created for the ROX volume and creates a subvolume from the CephFS snapshot. updates: ceph#3603 Signed-off-by: Madhu Rajanna <[email protected]>
Add support to create RWX clone from the ROX clone, in ceph no subvolume clone is created when ROX clone is created from a snapshot just a internal ref counter is added. This PR allows creating a RWX clone from a ROX clone which allows users to create RW copy of PVC where cephcsi will identify the snapshot created for the ROX volume and creates a subvolume from the CephFS snapshot. updates: ceph#3603 Signed-off-by: Madhu Rajanna <[email protected]>
Add support to create RWX clone from the ROX clone, in ceph no subvolume clone is created when ROX clone is created from a snapshot just a internal ref counter is added. This PR allows creating a RWX clone from a ROX clone which allows users to create RW copy of PVC where cephcsi will identify the snapshot created for the ROX volume and creates a subvolume from the CephFS snapshot. updates: #3603 Signed-off-by: Madhu Rajanna <[email protected]>
Add support to create RWX clone from the ROX clone, in ceph no subvolume clone is created when ROX clone is created from a snapshot just a internal ref counter is added. This PR allows creating a RWX clone from a ROX clone which allows users to create RW copy of PVC where cephcsi will identify the snapshot created for the ROX volume and creates a subvolume from the CephFS snapshot. updates: ceph#3603 Signed-off-by: Madhu Rajanna <[email protected]>
I think this issue can be closed as completed. |
Not yet, above still need to be implemented for feature completion |
After further analysis, Am planning to not support the snapshot of the ROX PVC for now due to the below technical difficulties
I am closing this issue as we can have the below workaround if someone wants a snapshot of the ROX volume Option 1:
Option 2:
@nixpanic @Rakshith-R thoughts? |
Looks good to me. I think we can add Option 1 in issue description and link the issue in the log where are blocking this request. |
Option 1 sounds good to me as well. I wonder who (or what) would want to make a snapshot of a ROX PVC. It is not like data changes there, so a snapshot is not needed at all (just backup/read the original ROX PVC). There probably are certain workflows that do it, but I assume these are rare. |
Yes that's correct and it mostly am thinking some backup tools when backing up the namespace will also try to do it but its tool problem i would say. @nixpanic Thanks am closing the issue for now. |
Describe the feature you'd like to have
What new functionality do you want?
This is not a new functionality rather asking to make the cephfs shallow volumes as default feature for ROX volumes.
Currently ROX volumes need to be created with a new storageclass. This is not very useful for DR usecase. In a cluster with many subvolumesgroup and filesystem, we cannot ask admin/user to create exact copy of storageclasses with extra parameter
backingSnapshot: "true"
. In most of the backup system/Data movers the operators/admin will create a clones from a snapshot and move the data from source to the destination. In most of the cases the source volumes is created only for the read access to move the data.What is the value to the end user? (why is it a priority?)
The end user need not to care about creating a new storageclass to get shallow volumes feature.
How will we know we have a good solution? (acceptance criteria)
Current cephfs clone is not something useful in a cluster with many volumes and subvolumes. Even as its a ROX accessMode
the user is asking to give a volume with a readonly access. Instead of creating a clones (full copy) like today we can just create a shallow volume and give it to the user.
@gman0 @ShyamsundarR @BenamarMk @humblec @nixpanic any thoughts?
The text was updated successfully, but these errors were encountered: