Ceph分布式存储介绍

导游

    • Ceph官网
    • Ceph简介
    • 名称由来
    • 应用场景
    • Ceph存储优点
    • Ceph的三种存储方式
      • 块存储
      • 文件系统存储
      • 对象存储
    • Ceph组件说明
    • Ceph架构
    • 三种存储使用场景

Ceph分布式存储介绍_第1张图片

Ceph官网

Ceph分布式存储介绍_第2张图片
官网:https://ceph.io/
国内官网:http://docs.ceph.org.cn/
中国社区:http://ceph.org.cn/

Ceph简介

Ceph是一种为优秀的性能、可靠性和可扩展性而设计的,统一的分布式文件系统。其中"统一"是指Ceph可以同时提供多种存储功能,分别是:块设备存储,文件系统存储和对象存储

名称由来

其命名和UCSC(Ceph 的诞生地)的吉祥物有关,这个吉祥物是 “Sammy”,一个香蕉色的蛞蝓,就是头足类中无壳的软体动物。这些有多触角的头足类动物,是对一个分布式文件系统高度并行的形象比喻。
Ceph 最初是一项关于存储系统的 PhD 研究项目,由 Sage Weil 在 University of California, SantaCruz(UCSC)实施。

应用场景

1)框架存储,因其可扩容性,高可用及多种存储功能等特性,使其非常适用于OpenStack或CloudStack等云计算框架的存储后端。

2)存储集群,可搭建Ceph分布式文件系统群集,专门用来存放业务数据。

3)底层支持,可以作为其他服务的存储支持,例如:容器,FTP服务等等。

Ceph存储优点

高可用性
Ceph支持数据副本,并且可以根据环境自行定义,因为是分布式的原因,一台Ceph节点宕掉后,在其他Ceph节点中有相应数据的副本,不用担心数据丢失,安全可靠。

高性能
因为是多个副本的原因,在读写操作时能够做到高度并行化。节点越多,整个集群的IOPS和吞吐量越高,而且Ceph客户端读写数据是直接与存储设备交互的。

高扩展性
扩容比较方便,支持扩展容量比较大,并没有集群的数量限制(Ceph声称可以无限扩展),能够管理数千台服务器,支持EB级别的容量。

CRUSH算法
Crush算法是Ceph的两大创新之一,通过Crush算法的寻址操作,Ceph得以摒弃了传统的集中式存储元数据寻址方案。而Crush算法在一致性哈希基础上很好的考虑了容灾域的隔离,使得Ceph能够实现各类负载的副本放置规则,例如跨机房、机架感知等。同时,Crush算法有相当强大的扩展性,理论上可以支持数千个存储节点,这为Ceph在大规模云环境中的应用提供了先天的便利。

统一存储
Ceph能够同时提供对象存储、块存储和文件系统存储三种存储服务的统一存储架构,因此能够满足不同应用需求前提下的简化部署和运维,这是Ceph被OpenStack用户热衷的最主要原因。

Ceph的三种存储方式

Ceph三种存储方式:
Object(对象存储):有原生的API,而且也兼容Swift和S3的API。
Block(块设备存储):支持精简配置、快照、克隆。
File(文件系统存储):Posix接口,支持快照。

Ceph分布式存储介绍_第3张图片

块存储

由Ceph集群提供出来的块设备名称为rbd,我们电脑或笔记本中的硬盘是通过数据线进行连接的,而rbd是通过网络连接到Ceph集群中的一块存储区域,往rbd设备文件写入数据,最终会被存储到Ceph集群的一块区域中。

用户可以直接使用不含文件系统的块设备(存储设备),也可以将其指定需要的文件系统,由文件系统来组织管理存储空间,从而为用户提供丰富而友好的数据操作支持。

块存储有着优异的读写性能,用户通过挂载来使用rbd设备,但不能多处挂载同时读写,不具备共享性,相当于使用本地磁盘一样,不可共享数据。

文件系统存储

Ceph集群可以通过自己的文件系统来管理集群的存储空间,使用者可以直接将Ceph集群的文件系统挂载到主机上使用。

块存储有着优异的读写性能,但不能多处挂载同时读写,文件系统存储解决了块存储在共享方面的不足,可以同时多处挂载读写,但读写性能相对较差。

对象存储

对象存储,也就是键值存储,通过接口指令,例如:GET,PUT,DEL等指令,向Ceph集群上传下载数据等。对象存储中所有数据都被认为是一个对象,任何数据都可以存入Ceph集群的对象存储服务器,如图片、视频、音频等。

单说块存储和文件系统存储,都有各自的优缺,而对象存储在二者基础上进行调整,既具有共享性,又在存储方面性能强于文件系统存储,这就是对象存储的出现。

Ceph组件说明

OSD(Object Storage Device)
用于集群中所有数据和对象的存储,处理集群数据的复制、恢复、回填、再均衡,与其它OSD间进行心跳检查等,并将一些变化情况上报给Ceph Monitor。

Monitors
Ceph Monitor负责监视Ceph集群,维护Ceph集群的健康状态,同时维护着Ceph集群中的各种Map图,包括监视器图、OSD 图、归置组( PG )图、和 CRUSH 图。

MDS(MetaData server)
Ceph 元数据服务器(MDS)为 Ceph 文件系统存储元数据,但对象存储和块存储设备是不需要使用该服务。元数据服务器使得 POSIX 文件系统的用户可以在不对 Ceph 存储集群造成负担的前提下,执行诸如 ls、find 等基本命令。

Mgr(Manager Daemon)
主要作用是分担和扩展monitor的部分功能,减轻monitor的负担,让更好地管理ceph存储系统。

Ceph架构

Ceph分布式存储介绍_第4张图片
RADOS
全称(Reliable, Autonomic, Distributed Object Store),RADOS是一个可靠的、自主的、分布式的对象存储系统,Ceph的高可靠、高可拓展、高性能、高自动化都是由这一层来提供的,用户数据的存储最终也都是通过这一层来进行存储的,RADOS可以说就是Ceph的核心。

LIBRADOS
LIBRADOS为一个公共库,块存储和对象存储都依赖该动态库对外提供存储服务,其允许应用程序通过访问该库来与RADOS系统进行交互,而且支持多种编程语言。

RADOS GateWay
对象存储网关,也是对象存储接口,是一个基于RESTFUL协议的网关。

RBD
块设备,块存储接口。

Ceph FS
Ceph分布式文件系统,也是文件系统存储接口。

三种存储使用场景

CEPH 对象存储

  • REST 风格的接口
  • 与 S3 和 Swift 兼容的 API
  • S3 风格的子域
  • 统一的 S3/Swift 命名空间
  • 用户管理
  • 利用率跟踪
  • 条带化对象
  • 云解决方案集成
  • 多站点部署
  • 灾难恢复

CEPH 块设备

  • 瘦接口支持
  • 映像尺寸最大 16EB
  • 条带化可定制
  • 内存缓存
  • 快照
  • 写时复制克隆
  • 支持内核级驱动
  • 支持 KVM 和 libvirt
  • 可作为云解决方案的后端
  • 增量备份

CEPH 文件系统

  • 与 POSIX 兼容的语义
  • 元数据独立于数据
  • 动态重均衡
  • 子目录快照
  • 可配置的条带化
  • 有内核驱动支持
  • 有用户空间驱动支持
  • 可作为 NFS/CIFS 部署
  • 可用于 Hadoop (取代 HDFS )

详情查看:http://docs.ceph.org.cn/

你可能感兴趣的:(存储)