ceph块存储学习

发布时间:2023年12月22日

目录

ceph的组件和功能

ceph的数据读写流程

ceph存储池学习??

ceph的组件和功能

????????Ceph OSD:功能是存储数据,处理数据的复制、恢复、平衡数据分布,并将一些相关数据提供给Ceph Monitor,。
????????Ceph Monitor: 功能是维护整个集群健康状态,提供一致性的决策,包含了Monitor map、OSD map、PG(Placement Group)map和CRUSH map。
????????Ceph MDS:功能是保存的是Ceph文件系统的元数据。Ceph MDS为基于POSIX文件系统的用户提供一些基础命令。例如:ls、find等命令

ceph的数据读写流程

????????数据首先通过客户端,先在本地完成寻址,将数据切片变为object,然后找出存储该object的一组osd,该组osd包含三个osd,其中分为一个主osd和其他的osd,然后先和主osd进行通信,再接着和其他的osd通信,当其他的osd已经完成请求后,会先向主osd发送确认,主osd也完成自己的操作后,向客户端回送确认。

ceph存储池学习??

????????首先配置环境,部署好最少三个节点,一个客户端的ceph集群,部署成功后进行下列检查,弹出HEALTH_OK则配置成功。

[root@node4 ~]# ceph health
HEALTH_OK

????????创建一个存储池,存储池的名称为testpool

[root@node4 ~]# ceph osd pool create testpool 128 # 创建命令,指定PG值为128
pool 'testpool' created
[root@node4 ~]# ceph osd lspools  # 查看此时存储池信息
1 device_health_metrics
2 rbd
3 testpool

????????上传一个对象到testpool存储池,对象的名称为testobject

[root@node4 ~]# ceph osd pool application enable testpool testpool
enabled application 'testpool' on pool 'testpool'
[root@node4 ~]# rados put testobject joshua.txt -p testpool
[root@node4 ~]# rados ls -p testpool
testobject

????????创建一个RBD的名称为testimage的image,大小为100M

[root@node4 ~]# rbd create testpool/testimage --image-feature layering --size 100M
[root@node4 ~]# rbd -p testpool ls
testimage

????????将testimage映射为块设备

[root@node4 ~]# rbd map testpool/testimage --id admin
/dev/rbd1

????????删除testpool存储池(ceph不支持,所以需要开启这个删除功能)

[root@node4 ~]# ceph osd pool delete testpool testpool --yes-i-really-really-mean-it
[root@node4 ~]# ceph osd lspools
1 device_health_metrics
2 rbd
[root@node4 ~]#

文章来源:https://blog.csdn.net/m0_64940629/article/details/135154336
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。