Ceph分布式存储实战

2022-05-18 14:24:27 浏览数 (1)

1、ceph版本的历史

image.png

2、块设备:LIBRBD 对象存储:LIBRGW CEPHFS:libcephfs

osd:数据存储、复制等

monitor:Monitor map /osd map/pg map/crush map

MDS:fs of metadata

image.png

3、ceph架构图

image.png

4、monitor节点paxos

image.png

5、查看monitor:ceph mon dump

ceph osd dump

ceph pg dump

ceph osd crush dump

ceph mds dump

6、OSD必须在有效的LINUX分区的磁盘上,可以是BTRFS、XFS、EXT4。

建议BTRFS

7、LIBRADIOS

image.png

8、python 调用 libradios

9、pool至少需要设定以下参数:

对象的所有权、访问权

PG数目

使用的crush规则

对象副本的数目

10、查看OSD状态:ceph-deploy disk list ceph-node1 ceph-node2 ceph-node3

11、查看ceph健康:ceph health

ceph -s

ceph osd stat

12、查看各个节点的服务状态

查看monit监控节点的服务情况

[cephuser@ceph-admin cluster]

ps -ef|grep ceph|grep 'cluster'

ceph 28190 1 0 11:44 ? 00:00:01 /usr/bin/ceph-mon -f --cluster ceph --id ceph-admin --setuser ceph --setgroup ceph

分别查看下ceph-node1、ceph-node2、ceph-node3三个节点的osd服务情况,发现已经在启动中。 [cephuser@ceph-node1 ~]

sudo ps -ef|grep ceph|grep "cluster" ceph 28749 1 0 11:44 ? 00:00:00 /usr/bin/ceph-osd -f --cluster ceph --id 0 --setuser ceph --setgroup ceph cephuser 29197 29051 0 11:54 pts/2 00:00:00 grep --color=auto cluster

[cephuser@ceph-node2 ~]

sudo ps -ef|grep ceph|grep "cluster" ceph 28749 1 0 11:44 ? 00:00:00 /usr/bin/ceph-osd -f --cluster ceph --id 0 --setuser ceph --setgroup ceph cephuser 29197 29051 0 11:54 pts/2 00:00:00 grep --color=auto cluster

[cephuser@ceph-node3 ~]

sudo ps -ef|grep ceph|grep "cluster" ceph 28749 1 0 11:44 ? 00:00:00 /usr/bin/ceph-osd -f --cluster ceph --id 0 --setuser ceph --setgroup ceph cephuser 29197 29051 0 11:54 pts/2 00:00:00 grep --color=auto cluster 13、CRUSH 通过随机数、cluster map、 数据分布策略决定数据对象的最终位置 cluster map :bucket /device bucket有不同类型:host,row,rack,room,root osd的权重越高,使用越高 1TBOSD对应的权重1 默认情况下,300s内osd标记down,进行恢复 14、PG是数据管理单元 15、ruleset 16、PG和PGP的关系

image.png

创建pool:ceph osd pool create crush 8 8

17、ceph pg dump //pg信息查看

image.png

image.png

18、MDS交互模型

image.png

客户端通过kernel或ceph FS FUSE来挂载

19、MDS需要两个POOL,一个保存数据,一个保存元数据

image.png

创建FS

image.png

挂载FS

20、访问RBD的方式

image.png

21、访问RBD的方式:librbd/krbd

22、挂载Ceph FS(内核、FUSE、openMDI)

23、Ceph FS和Hadoop 交互

0 人点赞