Ceph文件系统存储

0.原理介绍 

-元数据(Metadata):

任何文件系统中的数据分为数据和元数据

数据是指普通文件中的实际数据

元数据指用来描述一个文件的特征的系统数据(比如:访问权限,文件拥有者,以及文件数据块的分片信息)

 

-一个文件系统是由inode和block两部分组成,效果如图所示。

inode存储文件的描述信息(metadata元数据),block中存储真正的数据。

那么对应到Ceph,就有data与fs_metadata,data存储真实数据,metadata提供存储描述信息

Ceph文件系统存储_第1张图片

 

-ceph MDS 

ceph MDS 是元数据服务器,只有ceph 文件系统(cephFS)才会需要。

 

-cephFS

cephFS在RADOS 层之上 提供一个兼容POSIX 的文件系统。他是用MDS 作为守护进程,负责管理其元素数据并将它和其他数据分开。

 cephFS 需要用到两个pool : fs_data 和fs_metadata。 在初次使用ceph 就能之前需要首先规划,集群一共承载多少存储业务,创建多少个 pool,最后得到每个存储应该分配多少个pg。

-pg 数量计算

    集群PG总数:

      PG 总数= (OSD  总数* 100 )/最大副本数       (结果舍入到最接近的2的N次方幂的值)            

  结合本人搭建集群、例: PG总数 = (3*100)/2=150 ≈ 128 个PG。

    集群中 每个pool 的pg 总数:

      PG  总数= ((OSD总数*100)/ 最大副本数 )/ 池数                  

           本人 规划 共有两种业务存储,平均分 128个PG ,每个业务存储使用 64个。  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

 

 

1.搭建Ceph集群

教程地址:

https://blog.csdn.net/ck784101777/article/details/102744203

2.创建fs_data 和fs_metadata

  1. [root@node4 ~]# ceph osd pool create cephfs_data 96
  2. //创建存储池,对应98个PG
  3.  
  4. [root@node4 ~]# ceph osd pool create cephfs_metadata 32
  5. //创建存储池,对应32个PG

3.创建Ceph文件系统

  1. [root@node4 ~]# ceph fs new myfs1 cephfs_metadata cephfs_data
  2. new fs with metadata pool 2 and data pool 1
  3. //注意,先写medadata池,再写data池
  4. //默认,只能创建1个文件系统,多余的会报错
  5.  
  6. [root@node4 ~]# ceph fs ls
  7. name: myfs1, metadata pool: cephfs_metadata, data pools: [cephfs_data ]

4.客户端挂载使用

如果使用块存储需要你安装ceph-common,文件系统不需要直接挂载即可

  1. [root@client ~]# mount -t ceph 192.168.4.11:6789:/ /mnt/cephfs/ \
  2. -o name=admin,secret=AQBTsdRapUxBKRAANXtteNUyoEmQHveb75bISg==
  3. //注意:文件系统类型为ceph
  4. //192.168.4.11为MON节点的IP(不是MDS节点)
  5. //admin是用户名,secret是密钥
  6. //密钥可以在/etc/ceph/ceph.client.admin.keyring中找到

 

你可能感兴趣的:(Ceph文件系统存储)