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
libcephfs / librados namespace support for nfs-ganesha #353
Comments
@hydro-b this seems interesting; do you think you could send an email on this topic to the ceph-devel mailing list? |
@mattbenjamin I was looking into nfs-ganesha 2.7 docu and found this:
So, in fact, part of this feature request is already implemented in 2.7.x ... at least for a "active-active" setup. It would be nice if this could also be used for a singleton / traditional HA setup (CTDB / pacemaker / corosync), i.e. in case you want to ceph as recovery backend, but use another (non-clustered) FCAL. The "libcepfs" part does not seem to be implemented yet. At least the need for different pools per ganesha instance is lifted (to stay in nfs v4 terms ;-)). Sure, I'm willing to send an email to the ceph-devel mailinglist. Is all (ceph related) nfs-ganesha development happening on the ceph-devel mailinglist? |
@hydro-b The RADOS grace stuff didn't sound the same as your proposal, but of course they could make sense together! The answer is, probably, that both nfs-ganesha-devel and ceph-devel mailing lists would reach different interested parties; the nfs-ganesha-devel list would reach the folks who have worked on RADOS_KV. |
The namespace parameter works for all the RADOS recovery backends (rados_kv, rados_ng and rados_cluster). It hasn't been added to the RADOS_URLS config block, but that wouldn't be too hard to do. |
@jtlayton made a patch to add RADOS_URLS support:
|
Is this one resolved? |
Yes, it can be closed. |
libcephfs / librados supports "namespaces". Note: namespaces in this context are not "multiple filesystems" but rather an "object prefix" to separate different objects in cephfs / rados. One of the benefits of "namespaces" is that you can have multiple instances of ganesha using the same pool / filesystem without objects clashing. Currently you would need a separate pool for "RADOS_KV" and "RADOS_URLS" per ganesha instance. With namespace support (in libcephfs) you would be able to logically seperate the objects per namespace (ganesha instance) ... and restrict access to only this namespace instead of the whole pool:
caps: [mds] allow rw path=/path/on/cephfs
caps: [mon] allow r
caps: [osd] allow rw pool=cephfs_data namespace=your-name-space-here
As a (Ceph) storage admin you would be able to provide tenants the (cephx) capabilities to use nfs-ganesha, without the need to give them rw access to your cephfs_data pool(s).
The text was updated successfully, but these errors were encountered: