注意
本文档适用于 Ceph 的开发版本。
多个 Ceph 文件系统
从 Pacific 版本开始,多文件系统支持已稳定且可供使用。此功能允许配置具有完整数据分离到独立池上的单独文件系统。
现有集群必须设置一个标志才能启用多文件系统
ceph fs flag set enable_multiple true
新的 Ceph 集群会自动设置此标志。
创建新的 Ceph 文件系统
新的 volumes 插件接口(参见:FS 卷和子卷)会自动完成配置新文件系统的大部分工作。“卷”概念简单来说就是一个新的文件系统。这可以通过以下方式完成
ceph fs volume create <fs_name>
Ceph 将创建新的池并自动部署新的 MDS 来支持新的文件系统。所使用的部署技术(例如 cephadm)还将配置新 MDS 守护进程的 MDS 亲和性(参见:配置 MDS 文件系统亲和性)以操作新的文件系统。
如果卷的数据和元数据池已经存在,则可以按如下方式传入这些池的名称
ceph fs volume create <vol-name> --meta-pool <meta-pool-name> --data-pool <data-pool-name>
保护访问
fs authorize 命令允许配置客户端对特定文件系统的访问权限。另请参见文件系统信息限制。客户端将只能看到经过授权的文件系统,并且监视器/MDS 将拒绝未经授权的客户端访问。
其他注意事项
多个文件系统不共享池。这对快照尤其重要,也因为没有采取措施来防止重复的 inode。Ceph 命令会阻止这种危险的配置。
每个文件系统都有自己的一组 MDS 排名。因此,每个新的文件系统都需要更多的 MDS 守护进程来运行,并增加了运营成本。这对于按应用程序或用户群增加元数据吞吐量很有用,但也会增加创建文件系统的成本。通常,带有子树 pinning 的单个文件系统是隔离应用程序之间负载的更好选择。