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 交互