一、Ceph 概述

概述:Ceph 是 根据加州大学Santa Cruz 分校的Sage Weil 的博士论文所设计开发的新一代自由软件分布式文件系统,其设计目标是良好的可扩展性(PB级别以上)、高性能、高可靠性。Ceph 其命名和UCSC(Ceph 的诞生地)的吉祥物有关,这个吉祥物是“Sammy”,一个香蕉色的蛞蝓,就是头足中无壳的软体动物。这些多触角的头足类动物,是对一个分布式文件系统高度并行的形象比喻,其设计遵循了三个原则:数据与元数据分离,动态的分布式的元数据管理,可靠统一的分布式对象存储机制。

二、基本架构

Ceph 是一个高可用、易于管理、开源的分布式系统,可以在一套系统中同时提供对象存储、块存储以及文件存储服务。其主要由 Ceph 存储系统的核心 RADOS 以及块存储接口、对象存储接口和文件系统存储接口组成。

存储类型:

块存储:

异地分布式存储架构 分布式存储架构产品_文件系统

在常见的存储中,DAS、SAN 提供的也是块存储,openstack 的 cinder 存储,例如 iscsi 的存储

异地分布式存储架构 分布式存储架构产品_对象存储_02

对象存储:

对象存储概念出现的晚,存储标准化组织SINA早在2004年就给出了定义,但早期多出线在超大规模系统,所以并不为大众所熟知,相关产品一直不温不火。一直到云计算和大数据的概念全民强推,才慢慢进入大众视野,前面说到的块存储和文件存储,基本上都还是在专有的局域网络内部使用,而对象存储的优势场景却是互联网或者公网,主要解决海量数据,海量并发访问的需求,基于互联网的应用才是对象存储的主要适配(当然这个条件同样适用于云计算,基于互联网的应用最容易迁移到云上,因为没出现云这个名词之前,他们已经在上面了),基本所有成熟的公有云都提供了对象存储产品,不管是国内还是国外;

异地分布式存储架构 分布式存储架构产品_ceph_03

这种接口通常以 QEMU Driver 或者 Kernel Module 的方式存在,这种接口需要实现 Linux 的 Block Device 的接口或者 QEMU 提供的 Block Driver 接口,如 Swift 、S3 以及 Gluster、Sheepdog,AWS 的 EBS,青云的云硬盘和阿里云的盘古系统,还有 Ceph 的 RBD(RBD是Ceph面向块存储的接口);

异地分布式存储架构 分布式存储架构产品_文件系统_04

文件系统存储:

异地分布式存储架构 分布式存储架构产品_异地分布式存储架构_05

与传统的文件系统如 Ext4 是一个类型的,但区别在于分布式存储提供了并行化的能力, 如 Ceph 的 CephFS ( CephFS 是 Ceph 面向文件存储的接口 ) 但是有时候又会把GlusterFS,HDFS 这种非 POSIX接口的类文件存储接口归入此类,当然NFS、NAS也是属于文件系统存储。

总结:对比;

异地分布式存储架构 分布式存储架构产品_对象存储_06

异地分布式存储架构 分布式存储架构产品_文件系统_07

异地分布式存储架构 分布式存储架构产品_文件存储_08

Ceph 基本架构

异地分布式存储架构 分布式存储架构产品_ceph_09

异地分布式存储架构 分布式存储架构产品_异地分布式存储架构_10

异地分布式存储架构 分布式存储架构产品_文件存储_11