Ceph fuse挂载

Posted by elrond on August 16, 2021

无配置挂载,指定IP挂载

1. 前提

# 写入keyring到文件
echo -e "[client.admin]\nkey = AQDk18FgMo7NABAA4ufuz3O6/0lE4vsVgHs1yQ==" > /var/cephfs_keyring

2. 命令行

# fuse挂载
ceph-fuse -m 10.10.10.237:6789,10.10.10.238:6789 --no-mon-config -n client.admin -k /var/cephfs_keyring -r /testcase /mnt/cephfs/

3. fstab

/etc/fstab

none /opt/fuseroot fuse.ceph ceph.name=client.admin,ceph.keyring=/var/cephfs_keyring,ceph.client_mountpoint=/test,ceph.mon_host=10.10.10.237:6789,_netdev,defaults  0 0

写完配置文件 mount -a 挂载,挂载完 ps -ef|grep fuse 就能看到实际上也是掉用了命令行的挂载方式

ps -ef|grep ceph-fuse
root      1201     1  0 19:40 ?        00:00:00 ceph-fuse --name=client.admin --keyring=/var/cephfs_keyring --client_mountpoint=/test --mon_host=10.10.10.237:6789 /opt/fuseroot -o rw

4. 关于fuse的挂载参数

ceph-fuse man解释的比较少,可用参数比较少

You can pass any valid ceph-fuse option to the command line this way.
  • fstab中支持ceph-fuse带--的参数例如 --client_mountpoint --conf,些fstab参数时用ceph.client_mountpoint 这种形式

    • --client_mountpoint: 指定cephfs的目录路径

    那么从文档中看出能用的就这两个了,ceph的源码中发现了以下几个参数

    • --keyring:指定keyring文件
    • --client_mountpoint: 指定客户端超市时间
    • --mon_host: 指定mon地址,但是fstab里面好像只支持字符串的值,所以只能写一个,这样的话写的这个mon挂了,就连不上了
    • --no-mon-config: 指定不适用配置文件,值为布尔类型,实际测试没有通过配置检查no_mon_config