1.CEPH简介
Ceph是一种可靠的、可扩展的、统一的、分布式的存储系统。CEPH提供对象存储RADOSGW(Reliable、Autonomic、Distributed、ObjectStorage Gateway)、块存储RBD(Rados Block Device)、文件系统存储CephFS(Ceph File System)3种功能。
2.CEPH架构介绍
Ceph底层核心是RADOS。Ceph架构图如下图所示:
RADOS: RADOS具备自我修复等特性, 提供了一个可靠、自动、智能的分布式存储。
LIBRADOS: LIBRADOS库允许应用程序直接访问, 支持C/C++、 Java和Python等语言。
RADOSGW功能特性基于LIBRADOS之上, 提供当前流行的ESTful协议的网关,并且兼容S3和Swift接口,作为对象存储,可以对接网盘类应用以及HLS流媒体应用等。
RBD(Rados Block Device)功能特性也是基于LIBRADOS之上,通过LIBRBD创建一个块设备,通过QEMU/KVM附加到VM上, 作为传统的块设备来用。目前OpenStack、CloudStack等都是采用这种方式来为VM提供块设备,同时也支持快照、COW(Copy On Write) 等功能。
Ceph FS(Ceph File Sy stem)功能特性是基于RADOS来实现分布式的文件系统,引入了MDS(Metadata Server) ,主要为兼容POSIX文件系统提供元数据。 一般都是当做文件系统来挂载。
3.CEPH技术优势
Ceph的技术特性,总体表现在集群可靠性、集群扩展性、数据安全性、接口统一性4个方面。
集群可靠性:①从用户角度保证数据安全,保证数据不会丢失;②数据写入过程的可靠性,在用户将数据写入Ceph存储系统的过程中,不会因为意外情况出现而造成数据丢失;③降低不可控物理因素的可靠性, 避免因为机器断电等不可控物理因素而产生的数据丢失。
集群可扩展性: 既包括系统规模和存储容量的可扩展, 也包括随着系统节点数增加的聚合数据访问带宽的线性扩展。
数据安全性: 首先要保证由于服务器死机或者是偶然停电等自然因素的产生,数据不会丢失,并且支持数据自动恢复,自动重平衡等。总体而言,这一特性既保证了系统的高度可靠和数据绝对安全,又保证了在系统规模扩大之后,其运维难度仍能保持在一个相对较低的水平。
接口统一性: Ceph可以同时支持3种存储, 即块存储、 对象存储和文件存储。 Ceph支持市面上所有流行的存储类型。
充分发挥存储设备自身的计算能力: 采用廉价的设备和具有计算能力的设备(例如:普通的服务器)作为存储系统的存储节点。 并充分发挥节点上的计算能力, 则可以实现前面提出的技术特性。 这一点成为了Ceph系统设计的核心思想。
去除所有的中心点:Ceph系统最终采用Crush、 Hash环等方法更彻底地解决了单点故障点和性能瓶颈的问题。