ceph 文件系统(cephfs) -- 初体验
一、介绍:
ceph MDS 是元数据服务器,只有ceph 文件系统(cephFS)才会需要。
cephFS 在RADOS 层之上 提供一个兼容POSIX 的文件系统。他是用MDS 作为守护进程,负责管理其元素数据并将它和其他数据分开。
cephfs 需要用到两个pool : fs_data 和fs_metadata。 在初次使用ceph 就能之前需要首先规划 集群一共承载多少存储业务,创建多少个 pool,最后得到每个存储应该分配多少个pg。
pg 数量计算:
集群PG总数:
PG 总数= (OSD 总数* 100 )/最大副本数 (结果舍入到最接近的2的N次方幂的值) 结合本人搭建集群、例: PG总数 = (5*100)/2=250 ≈ 256 个PG。
集群中 每个pool 的pg 总数:
PG 总数= ((OSD总数*100)/ 最大副本数 )/ 池数 本人 规划 共有两种业务存储,平均分 256个PG ,每个业务存储使用 128个。 cephfs 两个pool :fs_data 使用 96个PG 、fs_metadata 使用 32个PG。
创建池:(语法
#ceph osd pool create pool_name gp_num pgp_num
PGP是为了实现定位而设置的PG,默认情况下单个池的PG总数和PGP总数一致,即 PG_num=PGP_num
二、部署mds
1、使用 ceph-deploy 在集群中部署MDS
# ceph-deploy mds create ceph{1,2,3} 在集群中建议配置 ≥1的奇数个 mds 节点,保证高可用。
2、创建件 cephfs 做需要的pool
# ceph osd pool create fs_data 96 96
# ceph osd pool create fs_metadata 32 32
删除池:
# 语法: ceph osd pool delete pool_name pool_name --yes-i-really-really-mean-it
备注:新版的ceph 默认不允许删除 pool,需要在集群文件 ceph.conf 中配置[mon],增加 mon删除 pool 的权限。建议在真正需要删除pool 时再修改集群文件配置此权限。其他时间请删除权限配置,避免误操作带来重大过错。
3、创建一个cephfs
《语法》# ceph fs new <fs_name> <metadata> <data>
例:# ceph fs new cephfs fs_metadata fs_data
三、客户端调用
Linux 系统:
在客户端调用,需要集群的信任key:/etc/ceph/ceph.client.admin.keyring 文件中的Key 值:
# 语法:mount -t ceph mds_node1:6789,mds_node2:6789,mds_node3:6789:/ client_mount_path -o name=admin,secret=Key_value
例:
# mount -t ceph 10.6.32.20:6789,10.6.32.21:6789,10.6.32.22:6789:/ /cephfs_samba -o name=admin,secret=adfasdfasdfsdfasdferfdsgersfdewafdgweradf==
查看:
Windows系统:
windows 系统调用,目前还在探索,后期补充。谢谢