序言
ceph简介
Ceph 是一个统一的分布式存储系统,设计初衷是提供较好的性能、可靠性和可扩展性。底层的rados分布式存储是ceph的精华所在,ceph以rados为基础在上层封装了对象、块、文件存储接口。客户端可以通过ceph提供的librados库直连rados集群,待存对象通过计算获取指定机器,然后将数据发送到该机器上存储。因为都是通过计算的方式,所以rados不需要维护一个中心table来存储对象所在的位置,这种计算型的方式不仅快速,而且能够节省节点的资源。 下图为ceph的总体框架图:
![v2-f787cd0385603ee84cb00d48aed17fd7_b.jpg](https://img-blog.csdnimg.cn/img_convert/f1667494bbf1f33f32a21df55b229a85.png)
数据如何映射
Ceph对集群中所有存储资源进行池化管理,对象通过计算直接映射到底层的osd中,为了更好的管理和映射数据,ceph有如下的概念。 - object: 用户需要存储的对象,可以是文档、视频、音频等等文件,用户在存储的时候需要指定唯一的对象名。 - pool:资源池,这是一个虚拟概念,一个集群可以分出多个pool,也可以使用单个pool,但是必须有一个pool。 用户可以针对不同的pool指定不同的CRUSH规则,也可以针对不同的pool指定不同的数据冗余策略。 - pg