Ceph是一个开源的、统一的分布式存储系统,其中“统一”是指Ceph可以一套存储系统同时提供块设备存储、文件系统存储和对象存储三种存储方式。
1、Ceph相比其它分布式存储的优点:
统一存储 # Ceph支持三种调用接口:对象存储,块存储,文件系统挂载
CRUSH算法 # Ceph摒弃了传统的集中式存储元数据寻址的方案,转而使用CRUSH算法完成数据的寻址操作
高扩展性 # 扩容方便、容量大。能够管理数千台服务器、EB级的容量
可靠性强(即高可用性) # Ceph中的数据副本数量可以由管理员自行定义,存储节点可以自管理、自动修复
高性能 # 因为是多个副本,因此在读写操作时候能够做到高度并行化。理论上,节点越多,整个集群的IOPS和吞吐量越高。
2、Ceph各组件介绍:
Ceph OSD: (Object Storage Device)提供存储资源
Monitors: Ceph Monitor负责监视Ceph集群,
MDS: Ceph 元数据服务器(MDS)为 Ceph 文件系统存储元数据,但对象存储和块存储设备是不需要使用该服务
Mgr:Ceph Manager Daemon,简称ceph-mgr。 该组件的主要作用是分担和扩展monitor的部分功能,减轻monitor的负担,让更好地管理ceph存储系统。
3、Ceph架构:
RADOS
Ceph的底层是RADOS,RADOS本身也是分布式存储系统,CEPH所有的存储功能都是基于RADOS实现,Ceph的高可靠、高可拓展、高性能、高自动化都是由这一层来提供的,用户数据的存储最终也都是通过这一层来进行存储的,RADOS可以说就是Ceph的核心。
RADOS系统主要由两部分组成,分别是OSD和Monitor。
OSD: Object StorageDevice,提供存储资源。
Monitor:维护整个Ceph集群的全局状态。
LIBRADOS库
基于RADOS层的上一层是LIBRADOS,LIBRADOS是一个库,它允许应用程序通过访问该库来与RADOS系统进行交互,支持多种编程语言,比如C、C++、Python等。Ceph的上层应用调用本机上的librados API,再由后者通过socket与RADOS集群中的其他节点通信并完成各种操作。
三种存储类型
RADOSGW:对象存储接口,RADOSGW是一套基于当前流行的RESTFUL协议的网关,并且兼容S3和Swift。
RBD:是Ceph对外提供的块设备服务。
CEPH FS:是Ceph对外提供的文件系统服务
1.1.1、 统一存储