一、简介
- 它是一个分布式文件系统,可以提供块存储、文件系统存储和对象存储。但是文件存储还不非常成熟,不建议在生产环境中使用。
- 应用的最多的形式是块存储。
二、ceph 存储的组件
在Ceph存储系统架构中核心组件有Mon服务、OSD服务和MDS服务等。
-
OSD服务:提供对象存储设备,它是ceph中唯一的真正进行数据存储的组件。通常情况下,一个OSD进程绑定到一块物理磁盘。
-
MON服务:Monitor监视器,跟踪整个集群的健康状态。它为每个ceph组件维护一个映射表。MON进程数目是奇数,如3、5、7……
-
MDS服务:元数据服务器。为ceph文件系统存储提供元数据,如果不是文件系统存储则不需要。
-
元数据:描述数据的数据。如一本书的出版社、页数、作者、出版时间等都是元数据。
三、存储系统实现的功能
- 如图是Ceph存储系统的架构,在该架构中与HDFS不同的地方在于该架构中没有中心节点。
- 客户端是通过一个设备映射关系计算出来其写入数据的位置,这样客户端可以直接与存储节点通信,从而避免中心节点的性能瓶颈。
- 对于块存储类型只需要 Mon服务、OSD服务和客户端的软件即可。
- 其中Mon服务用于维护存储系统的硬件逻辑关系,主要是服务器和硬盘等在线信息。Mon服务通过集群的方式保证其服务的可用性。
- OSD服务用于实现对磁盘的管理,实现真正的数据读写,通常一个磁盘对应一个OSD服务。
- 客户端访问存储的大致流程是,客户端在启动后会首先从Mon服务拉取存储资源布局信息,然后根据该布局信息和写入数据的名称等信息计算出期望数据的位置(包含具体的物理服务器信息和磁盘信息),然后该位置信息直接通信,读取或者写入数据。
四、ceph的优势
1、高性能
- 摒弃了传统的集中式存储元数据寻址方案,采用CRUSH算法,实现数据的分布均衡。
- 设置了容灾域的隔离和各类负载的副本放置规则,例如跨机房、机架感知等。
- 可以支持上千个存储节点的规模,支持TB级到PB级的数据。
2、高可用性
- 副本数可以灵活控制。
- 支持故障域分隔,数据强一致性。
- 多种故障场景自动进行修复自愈。
- 没有单点故障,自动管理。
3、高可扩展性
- 去除中心节点。
- 随着存储节点的增加,扩展性也越来越大。
4、特性丰富
- 支持三种存储接口:块存储、文件存储、对象存储。
- 支持自定义接口,支持多种语言的开发驱动。