ceph块存储学习

目录

ceph的组件和功能

ceph的数据读写流程

ceph存储池学习  

ceph的组件和功能

ceph块存储学习_第1张图片

        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的数据读写流程

ceph块存储学习_第2张图片

        数据首先通过客户端,先在本地完成寻址,将数据切片变为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 ~]#

你可能感兴趣的:(ceph,学习)