注意
本文档适用于 Ceph 的开发版本。
使用 FUSE 挂载 CephFS
ceph-fuse 可以作为 CephFS 内核驱动程序 的替代方案来挂载 CephFS 文件系统。ceph-fuse 挂载是在用户空间进行的。这意味着 ceph-fuse 挂载的性能低于内核驱动程序挂载,但它们更容易管理和升级。
先决条件
确保您具备内核和 FUSE 挂载所需的所有先决条件,如 挂载 CephFS:先决条件 页面所列。
注意
使用 FUSE 挂载 CephFS 需要超级用户权限 (sudo/root)。libfuse 接口不提供在内核中修剪缓存条目的机制,因此需要重新挂载 (mount(2)) 系统调用来强制内核丢弃缓存的元数据。ceph-fuse 会根据 MDS 中的缓存压力或元数据缓存撤销定期发出这些重新挂载系统调用。
概要
这是通过 FUSE 挂载 CephFS 命令的一般形式
ceph-fuse {mount point} {options}
挂载 CephFS
要 FUSE 挂载 Ceph 文件系统,请使用 ceph-fuse 命令
mkdir /mnt/mycephfs
ceph-fuse --id foo /mnt/mycephfs
选项 --id 传递我们打算用于挂载 CephFS 的 CephX 用户的密钥环名称。在上面的命令中,它是 foo。您也可以使用 -n 代替,尽管 --id 显然更容易
ceph-fuse -n client.foo /mnt/mycephfs
如果密钥环不在标准位置,您也可以传递它
ceph-fuse --id foo -k /path/to/keyring /mnt/mycephfs
您可以在命令行上传递 Monitor 的地址和端口,尽管这不是强制性的
ceph-fuse --id foo -m 192.168.0.1:6789 /mnt/mycephfs
您还可以挂载 CephFS 中的特定目录,而不是挂载 CephFS 根目录
ceph-fuse --id foo -r /path/to/dir /mnt/mycephfs
如果您的 Ceph 集群提供多个 CephFS 文件系统,请使用选项 --client_fs 挂载非默认文件系统
ceph-fuse --id foo --client_fs mycephfs2 /mnt/mycephfs2
您还可以在 ceph.conf 中添加 client_fs 设置。或者,为了向后兼容,支持选项 --client_mds_namespace。
卸载 CephFS
使用 umount 像卸载任何其他文件系统一样卸载 CephFS
umount /mnt/mycephfs
提示
在执行此命令之前,请确保没有 shell 或其他进程在文件系统下打开文件。这包括 shell 的当前工作目录。
持久化挂载
要将 CephFS 作为用户空间文件系统挂载,请将以下内容添加到 /etc/fstab
#DEVICE PATH TYPE OPTIONS
none /mnt/mycephfs fuse.ceph ceph.id={user-ID}[,ceph.conf={path/to/conf.conf}],_netdev,defaults 0 0
例如
none /mnt/mycephfs fuse.ceph ceph.id=myuser,_netdev,defaults 0 0
none /mnt/mycephfs fuse.ceph ceph.id=myuser,ceph.conf=/etc/ceph/foo.conf,_netdev,defaults 0 0
确保使用 ID(例如 myuser,而不是 client.myuser)。您可以以这种方式将任何有效的 ceph-fuse 选项传递给命令行。
要挂载 CephFS 的子目录,请将以下内容添加到 /etc/fstab
none /mnt/mycephfs fuse.ceph ceph.id=myuser,ceph.client_mountpoint=/path/to/dir,_netdev,defaults 0 0
提供 ceph-fuse@.service 和 ceph-fuse.target systemd 单元。像往常一样,这些单元文件声明了 ceph-fuse 的默认依赖项和推荐执行上下文。在添加上面所示的 fstab 条目后,运行以下命令
systemctl start ceph-fuse@/mnt/mycephfs.service
systemctl enable ceph-fuse.target
systemctl enable ceph-fuse@-mnt-mycephfs.service
有关 CephX 用户管理的详细信息,请参阅 用户管理,有关它可以采用的更多选项,请参阅 ceph-fuse 手册。有关故障排除,请参阅 ceph-fuse 调试。