CephFS搭建与部署

0. 前提

已搭建好的ceph cluster,详细步骤可参见Ceph 部署(Centos7 + Luminous)

1. 部署mds

守护进程(ceph-mgr)负责跟踪运行时间指标和Ceph群集的当前状态,包括存储利用率,当前性能指标和系统负载。 Ceph Manager守护程序还托管基于python的插件来管理和公开Ceph集群信息,包括基于Web的仪表板和REST API。 通常,至少有两名Manager需要高可用性。

[root@ceph-1 cluster]# ceph-deploy mds create ceph-1 ceph-2 ceph-3

2. 新建pool

cephfs需要两个pool:

  1. data pool:存放object
  2. meta data pool:存放元数据,可设置较高副本级别,也可调整pool的crush_ruleset,使其在ssd上存储,加快客户端响应速度
    我这里直接使用默认crush_ruleset
[root@ceph-1 cluster]# ceph osd pool create cephfs_data 128
[root@ceph-1 cluster]# ceph osd pool create cephfs_metadata 128

注:
计算pg数量:

  1. 集群pg 总数 = (OSD 总数* 100 )/最大副本数
  2. 每个pool中pg总数=(OSD总数*100)/ 最大副本数 )/ 池数
  3. pg数需要是2的指数幂

3. 新建cephfs

新建cephfs,名字叫“cephfs”,使用刚才我们新建的两个pool

[root@ceph-1 cluster]# ceph fs new cephfs cephfs_metadata cephfs_data

4. 挂载cephfs

[root@ceph-1 cluster]# mkdir /mnt/mycephfs  
[root@ceph-1 cluster]# cat ceph.client.admin.keyring 
[client.admin]
    key = AQDfhyBbQQf0HhAA6jGuqvK4jJGg42CnOo5iog==  

创建一个文件保存admin用户的秘钥:

[root@ceph-1 ~]# vim admin.secret

将秘钥“AQDfhyBbQQf0HhAA6jGuqvK4jJGg42CnOo5iog==”粘贴到admin.secret
最后使用kernel挂载方式

[root@ceph-1 ~]# mount -t ceph ceph-1:6789,ceph-2:6789,ceph-3:6789:/ /mnt/mycephfs -o name=admin,secretfile=/root/admin.secret 

注:

  1. mount时,mon节点有几个写几个
  2. 还可以使用fuse挂载方式,fuse其实坑挺多的,能不用暂时不用

由于kernel挂载方式目前不支持quota的配置,如果需要quota的配置,那么只好使用fuse挂载

4.’ fuse挂载cephfs

yum -y install ceph-fuse
#admin挂载
ceph-fuse -m ceph-1:6789,ceph-2:6789,ceph-3:6789 /mnt/admin
#非admin用户挂载(e.g., tom)
vim tom.secret #一定要按照下面的格式写
[client.tom]
    key = AQCBuCxbm7CpBxAA75Qy9JbqsNpGGrwAuyBmfw==
ceph-fuse -n client.tom --keyring tom.secret -m ceph-1:6789,ceph-2:6789,ceph-3:6789 /mnt/fuse_tom1 -r /tom

注:-n client.tom 也可以写成--id,-r 把文件系统内的 root_directory 作为根挂载,而不是整个 Ceph 文件系统树。
配置quota

setfattr -n ceph.quota.max_bytes -v 100000000 /some/dir     # 100 MB,比如就剩下10M,20M的文件会写10M进去
setfattr -n ceph.quota.max_files -v 6 /some/dir         # < 6 files & directories
#查看配置
getfattr -n ceph.quota.max_bytes /some/dir
getfattr -n ceph.quota.max_files /some/dir
#清除配置
setfattr -n ceph.quota.max_bytes -v 0 /some/dir
setfattr -n ceph.quota.max_files -v 0 /some/dir

你可能感兴趣的:(CephFS搭建与部署)