Skip to content

Latest commit

 

History

History
102 lines (63 loc) · 3.37 KB

mount-using-fuse.rst

File metadata and controls

102 lines (63 loc) · 3.37 KB

用 FUSE 挂载 CephFS

ceph-fuse 是挂载 CephFS 的另外一种方法,虽然是挂载到了用户空间。 因此, FUSE 的性能会相对低一些,但 FUSE 客户端更容易管理, 特别是在升级 CephFS 时。

前提条件

先走通二者都需要的先决条件,内核、 FUSE 挂载的,位于 挂载 CephFS :先决条件

Note

通过 FUSE 挂载 CephFS 需要超级用户权限,这样才能发出重挂载自身的命令, 以修剪 dentry 。

提纲

一般来说,通过 FUSE 挂载 CephFS 的命令是这样的:

ceph-fuse {mountpoint} {options}

挂载 CephFS

要以 FUSE 方式挂载 Ceph 文件系统,用 ceph-fuse 命令:

mkdir /mnt/mycephfs
ceph-fuse --id foo /mnt/mycephfs

--id 选项传入的是 CephX 用户的名字,我们挂载 CephFS 时要用他的密钥环, 在这个命令里,他是 foo 。你也可以用 -n 代替,但 --id 显然更简单:

ceph-fuse -n client.foo /mnt/mycephfs

如果密钥环不在标准位置下,你可以手动传入:

ceph-fuse --id foo -k /path/to/keyring /mnt/mycephfs

你也可以传入监视器地址,虽然这不是强制的:

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 集群有多个 FS ,可以用 --client_fs 选项挂载非默认的文件系统:

ceph-fuse --id foo --client_fs mycephfs2 /mnt/mycephfs2

你也可以在 ceph.conf 里加上 client_fs 配置。

卸载 CephFS

像其它文件系统一样,用 umount 卸载 CephFS:

umount /mnt/mycephfs

Tip

执行此命令时需要确保你不在这个文件系统的目录里。

永久挂载

要把 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

[email protected]ceph-fuse.target systemd unit 默认可用。 和往常一样,这些 unit 文件声明了默认的依赖关系和建议的 ceph-fuse 执行上下文。 写好上面的 fstab 条目后,运行下列命令:

systemctl start ceph-fuse@/mnt/mycephfs.service
systemctl enable ceph-fuse.target
systemctl enable [email protected]

关于 CephX 用户管理的细节见 :ref:`用户管理 <user-management>`ceph-fuse 手册里有它支持的更多选项。 故障排除请参考 :ref:`ceph_fuse_debugging`