Ceph概述
Ceph消除了对系统单一中心结点的依赖,实现了真正的无中心结构的设计,这是其他分布式存储系统所不能比的。Ceph可以同时提供对象存储、块存储和文件系统存储3种功能,满足不同的应用需求。对象存储可以对接网盘等业务等;块设备存储可以对接IaaS。
Ceph是开源项目,使用C++语言开发。
Ceph提供RADOS、OSD、MON、LIBRADOS、RBD、RGW和CephFS等功能组件,底层使用RADOS存储来存储上层的那些组件;
一: Ceph核心组件
在Ceph存储中,包含几个重要的核心组件,分别是Ceph OSD,Ceph Monitor和Ceph MDS。一个Ceph的存储集群至少需要一个Ceph Monitor和至少Ceph的OSD。运行Ceph文件系统的客户端时,Ceph的元数据服务器是必不可少的。
- Ceph OSD: 主要功能包括存储数据,处理数据的复制、恢复、回补、平衡数据分布,并将一些相关数据提供给Ceph Monitor,例如心跳等。一个Ceph存储集群,至少需要两个Ceph OSD来实现active+clean健康状态和有效的保存数据的双副本。
- Ceph Monitor: 主要维护整个集群的健康状态,提供一致性的决策。,包含了Monitor Map, OSD Map, PG map和CRUSH map。
- Ceph MDS:主要保存的是CephFS的元数据。
二:设计思想
Ceph最初针对的应用场景是大规模的、分布式的存储系统。Ceph的技术特性总体体现在集群可靠性、集群扩展性、数据安全性、接口统一性4个方面。Ceph的设计思路概括为两点:充分发挥存储本身计算能力和去除所有的中心点。