multifs: Allow filesystems to be assigned RADOS namespace as well as pool for metadata and data
Everywhere we accept a pool argument currently (e.g. in "ceph fs new"), we should additionally accept a RADOS namespace.
This will enable multiple-filesystem users to have their filesystems sharing RADOS pools, rather than having to have a pool per filesystem.
We should probably have a simple syntax like "mypool:mynamespace" for these arguments, such that existing pool-only arguments will continue to work and use the default namespace.
#1 Updated by John Spray about 4 years ago
Note: once we do this, we have to start using two separate messengers in the MDS for rados client vs. cephfs server (or some other solution that gives unique entity ids but still presents the rank as the ID to old clients).
It's so that we don't have multiple daemons with the same rank (but different filesystem IDs) touching the same pool (doesn't happen at moment but will happen when using namespaces) the incarnation logic works to preserve operation order on crashes.
#3 Updated by John Spray about 4 years ago
Just in case I lose it, the draft code for splitting messengers was here: https://github.com/jcsp/ceph/tree/wip-15399-twomsg
#17 Updated by Patrick Donnelly about 1 year ago
- Assignee deleted (
Needs the ability to delete a RADOS namespace. See also: https://www.spinics.net/lists/ceph-devel/msg36695.html
#19 Updated by Patrick Donnelly 7 months ago
- Status changed from In Progress to Rejected
Now that pg_autoscaler exists with pg merging, this feature is not compelling. Using separate pools for multifs has always been more attractive from an accounting perspective. Now pools are cheap to make and use so let's just do that.