ceph / ceph-csi

CSI driver for Ceph
Apache License 2.0
1.26k stars 536 forks source link

New csiplugin-configmap.yaml setting to override PVs's volumeAttributes.mounter #4700

Open FredNass opened 2 months ago

FredNass commented 2 months ago

Describe the feature you'd like to have

I'd like to be able to set the plugin mounter type globally (fuse or kernel) so that all PVs in a cluster are mounted the same way, regardless of each PV's volumeAttributes.mounter set by SC at creation time.

What is the value to the end user? (why is it a priority?)

Over time, we had to change SC's mounter type to fuse due to kernel lock issues when using MDS's balancer in active/active mode. We now have some PV's with volumeAttributes.mounter: fuse and other PVs with volumeAttributes.mounter: kernel in the same cluster, which results in some PVs being mounted with ceph-fuse and other PVs being mounted with kernel in the same cluster.

This new setting would allow users to choose the mounter type they want to use globally for all PVs and ensure all PVs use the same mounter, without having to change each PV's volumeAttributes.mounter which is currently not possible since volumeAttributes.mounter is immutable (see https://github.com/ceph/ceph-csi/issues/4691).

How will we know we have a good solution? (acceptance criteria)

PVs would all be mounted using the same client, whatever they have for volumeAttributes.mounter.

FredNass commented 2 months ago

In case anyone needs to convert Cephfs PVC (RWO vs RWX) and/or Cephfs PV (fuse vs kernel), you can use this script: https://github.com/FredNass/k8s_tools/blob/main/conversion_pvc_cephfs.sh

github-actions[bot] commented 1 month ago

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.