Multiple Ceph File Systems
Beginning with the Pacific release, multiple file system support is stable and ready to use. This functionality allows configuring separate file systems with full data separation on separate pools.
Existing clusters must set a flag to enable multiple file systems:
ceph fs flag set enable_multiple true
New Ceph clusters automatically set this.
Creating a new Ceph File System
The new volumes
plugin interface (see: FS volumes and subvolumes) automates
most of the work of configuring a new file system. The “volume” concept is
simply a new file system. This can be done via:
ceph fs volume create <fs_name>
Ceph will create the new pools and automate the deployment of new MDS to support the new file system. The deployment technology used, e.g. cephadm, will also configure the MDS affinity (see: Configuring MDS file system affinity) of new MDS daemons to operate the new file system.
Securing access
The fs authorize
command allows configuring the client’s access to a
particular file system. See also in File system Information Restriction. The client will
only have visibility of authorized file systems and the Monitors/MDS will
reject access to clients without authorization.
Other Notes
Multiple file systems do not share pools. This is particularly important for snapshots but also because no measures are in place to prevent duplicate inodes. The Ceph commands prevent this dangerous configuration.
Each file system has its own set of MDS ranks. Consequently, each new file system requires more MDS daemons to operate and increases operational costs. This can be useful for increasing metadata throughput by application or user base but also adds cost to the creation of a file system. Generally, a single file system with subtree pinning is a better choice for isolating load between applications.