一:安装前介绍

一个Ceph(CephFS)文件系统至少需要两个RADOS池,一个用于数据,另一个用于元数据,配置这些池时,我们应该考虑以下三点


  • 对元数据池使用更高的复制级别,因为此池中的任何数据丢失都可能导致整个文件系统无法访问
  • 对元数据池使用较低延迟的存储(例如SSD),因为这将直接影响在客户端上观察到的文件系统操作的延迟
  • 用于创建文件系统的数据池是“默认”数据池,并且是用于存储所有inode追溯信息的位置,用于硬链接管理和灾难恢复。因此,在CephFS中创建的所有inode在默认数据池中至少具有一个对象。如果为文件系统计划了擦除编码的池,通常最好将复制池用于默认数据池,以提高小对象的读写性能以更新回溯。另外,可以添加另一个擦除编码的数据池,该数据池可用于目录和文件的整个层次结构

二:安装配置步骤

创建两个具有默认设置以供文件系统使用的池,并创建好mds,2是pg_number,这里没指定pgp的值,有关pg和pgp的说明可以参考我之前的文章,Ceph概念介绍及组件介绍

[root@ceph-node1 ~]# ceph osd pool create cephfs_data 2
pool 'cephfs_data' created
[root@ceph-node1 ~]# ceph osd pool create cephfs_metadata 2
pool 'cephfs_metadata' created
[root@ceph-node1 ~]# ceph-deploy mds create ceph-node2
[root@ceph-node1 ~]# ceph mds stat
cephfs-1/1/1 up {0=ceph-node2=up:active}


创建完池后,就可以来创建cephFS了

[root@ceph-node1 ~]# ceph fs new cephfs cephfsmetadata cephfsdata
new fs with metadata pool 41 and data pool 40
[root@ceph-node1 ~]# ceph fs ls
name: cephfs, metadata pool: cephfsmetadata, data pools: [cephfsdata ]

三:客户端挂载(内核驱动方式)

创建挂载目录

[root@ceph-client /]# mkdir -p /mnt/cephfs


在ceph-node2上,创建用户client.cephfs

[root@ceph-node2 ~]#ceph auth get-or-create client.cephfs mon ‘allow r’ mds ‘allow r, allow rw path=/’ osd ‘allow rw pool=cephfs_data’


在ceph-node2上,获取client.cephfs用户的key

[root@ceph-node2 ~]#ceph auth get-key client.cephfs
AQCL2d1dj4OgFRAAFeloClm23YTBsPn1qQnfTA==


将上一条命令获取到的key保存到ceph客户端中

[root@ceph-client ~]#echo AQCL2d1dj4OgFRAAFeloClm23YTBsPn1qQnfTA== > /etc/ceph/cephfskey


挂载此文件系统

[root@ceph-client ~]# mount -t ceph ceph-node2:6789:/ /mnt/cephfs -o name=cephfs,secretfile= /etc/ceph/cephfskey


写入fstab中

[root@ceph-client ~] echglusterfs-node2:6789:/ /mnt/cephfs ceph name=cephfs,secretfile=/etc/ceph/cephfskey,_netdev,noatime 0 0o ceph-node2:6789:/ /mnt/cephfs ceph name=cephfs,secretfile=/etc/ceph/cephfskey,_netdev,noatime 0 0 > /etc/fstab

查看挂载情况

[root@ceph-client ~]# df -Th | grep cephfs
172.16.4.79:6789:/ ceph 46G 0 46G 0% /mnt/cephfs