“Ceph浅析”系列之二——Ceph概况
本文将对Ceph的基本情况进行概要介绍,以期读者能够在不涉及技术细节的情况下对Ceph建立一个初步印象。
1. 什么是Ceph?
Ceph的官方网站Ceph.com上用如下这句话简明扼要地定义了Ceph:
“Ceph is a unified, distributed storage system designed for excellent performance, reliability and scalability.”
也即,Ceph是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式的存储系统。应该说,这句话确实点出了Ceph的要义,可以作为理解 Ceph系统设计思想和实现机制的基本出发点。在这个定义中,应当特别注意“存储系统”这个概念的两个修饰词,即“统一的”和“分布式的”。
具体而言,“统一的”意味着Ceph可以一套存储系统同时提供对象存储、块存储和文件系统存储三种功能,以便在满足不同应用需求的前提下简化部署和 运维。而“分布式的”在Ceph系统中则意味着真正的无中心结构和没有理论上限的系统规模可扩展性。在实践当中,Ceph可以被部署于上千台服务器上。截 至2013年3月初,Ceph在生产环境下部署的最大规模系统为Dreamhost公司的对象存储业务集群,其管理的物理存储容量为3PB。
2. 为什么要关注Ceph?
事实上,Ceph并不是一个刚刚出现的开源项目。与此相反,从最初发布到逐渐流行,Ceph走过了七年以上的漫长路程。笔者以为,之所以应当对Ceph加以了解,其原因大致有两个方面:
首先,Ceph本身确实具有较为突出的优势。
Ceph值得一提的优势颇多,包括统一存储能力、可扩展性、可靠性、性能、自动化的维护等等。本质上,Ceph的这些优势均来源于其先进的核心设计 思想,笔者将其概括为八个字——“无需查表,算算就好”。基于这种设计思想,Ceph充分发挥存储设备自身的计算能力,同时消除了对系统单一中心节点的依 赖,从而实现了真正的无中心结构。基于这一设计思想和结构,Ceph一方面实现了高度的可靠性和可扩展性,另一方面保证了客户端访问的相对低延迟和高聚合 带宽。通过后续内容的介绍,读者可以看到,Ceph几乎所有优秀特性的实现,都与这个核心设计思想有关。
其次,Ceph目前在OpenStack社区中备受重视。
OpenStack是目前最为流行的开源云操作系统。而据笔者观察,Ceph之所以在近一两年间热度骤升,其最为有力的推动因素就是 OpenStack社区的实际需求。目前而言,Ceph已经成为OpenStack社区中呼声最高的开源存储方案之一,其实际应用主要涉及块存储和对象存 储,并且开始向文件系统领域扩展。这一部分的相关情况,在后续文章中也将进行介绍。
3. Ceph的产生与发展
通常而言,开源项目的来源有三:一是学校里的大牛作的课题,论文发够然后开源;二是企业里的大牛搞的产品,机缘巧合于是开源;三是某些大牛突然显 灵,然后一票人跟着一起开源。每一类的例子都有不少,而不同起源的开源项目也有着自身的不同特点。具体而言,第一类项目的原理和技术上很可能颇有独到之 处,而Ceph就正在此列。相比之下,第二类项目的设计实现很可能颇为成熟,并且在开源之前或者开源初期就获得生产环境下的实际部署应用机会。这种出身背 景上的因素,对于一个开源项目的后续发展很有可能产生影响。
言归正传。Ceph项目起源于其创始人Sage Weil在加州大学Santa Cruz分校攻读博士期间的研究课题。项目的起始时间为2004年。在2006年的OSDI学术会议上,Sage发表了介绍Ceph的论文,并在该篇论文 的末尾提供了Ceph项目的下载链接。由此,Ceph开始广为人知。
Ceph使用C++语言开发。对于一个典型的强调性能的系统项目,这一选择可以理解。
作为开源项目,Ceph遵循LGPL协议。
根据Inktank官方网站上的信息,Cpeh的生态系统参加下图:

Ceph ecosystem
不难看出,图中列出的厂商或组织带有明显的云计算气息。
随着Ceph的热度不断增加,Sage Weil于 2011年创立了Inktank公司以主导Ceph的开发和社区维护。目前,Ceph的发布周期为三个月。
4. Sage Weil其人其事
在展开后续的技术讨论之前,适度八卦Sage Weil的人生经历实在是很有必要,因为这位兄台委实是 IT男青年中凤毛麟角的在工程、研究、创业三个领域都有涉猎且都颇有建树的神人。
Sage在工程上的能力自然不必多言,而他发表Ceph论文的OSDI也是计算机操作系统领域首屈一指的最高水平学术会议。至于创业方面,Sage是 DreamHost的联合创始人,彼时是1997年,他刚上大学不久。。。有兴趣的同学可以去LinkedIn研究一下Sage的个人简历,基本上是想工作就工作,想上学就上学,想创业就创业,想读博就读博,随心所欲,天马行空,令人油然而生一种表示敬佩的冲动。
“Ceph浅析”系列之二——Ceph概况的更多相关文章
- “Ceph浅析”系列之七——关于Ceph的若干想法
本篇文章的内容,主要是笔者在调研分析Ceph过程中产生的一些思考.因为其中的内容比较自由发散,且大多是笔者的个人见解,故此另启一文进行讨论. 关于Ceph的性能 目前为止,本系列的文章中没有涉及到Ce ...
- “CEPH浅析”系列之六——CEPH与OPENSTACK
在 <"Ceph浅析"系列之二--Ceph概况>中即已提到,关注Ceph的原因之一,就是OpenStack社区对于Ceph的重视.因此,本文将对Ceph在OpenSta ...
- “Ceph浅析”系列之一——前言
开源技术专家章宇同学(@一棹凌烟)在C3沙龙分享过Ceph之后,最近来了劲头,一口气写了一系列<Ceph浅析>的博文,共8篇: "Ceph浅析"系列之一--前言 &qu ...
- “Ceph浅析”系列之五——Ceph的工作原理及流程
本文将对Ceph的工作原理和若干关键工作流程进行扼要介绍.如前所述,由于Ceph的功能实现本质上依托于RADOS,因而,此处的介绍事实上也是针对RADOS进行.对于上层的部分,特别是RADOS GW和 ...
- Owin+ASP.NET Identity浅析系列(二)扩展用户属性
在今天,读书有时是件“麻烦”事.它需要你付出时间,付出精力,还要付出一份心境.--仅以<Owin+ASP.NET Identity浅析系列>来祭奠那逝去的…… 上一篇博客讲了用户登录注册问 ...
- CEPH浅析”系列之三——CEPH的设计思想
Ceph针对的目标应用场景 理解Ceph的设计思想,首先还是要了解Sage设计Ceph时所针对的目标应用场景,换言之,"做这东西的目的是啥?" 事实上,Ceph最初针对的目标应用场 ...
- “CEPH浅析”系列之八——小结
最初决定写这些文章的时候,本打算大致记录一下,几千字也就了事了.可是越写越觉得东西多,不说明白总有些不甘心,于是就越写越长,到这儿为止貌似已经有一万七千多字了.除了博士论文之外,应该是没有写过更长的东 ...
- Ceph浅析”系列之四——Ceph的结构
本文将从逻辑结构的角度对Ceph进行分析. Ceph系统的层次结构 Ceph存储系统的逻辑层次结构如下图所示[1]. Ceph系统逻辑层次结构 自下向上,可以将Ceph系统分为四个层次: (1)基础存 ...
- 理解 OpenStack + Ceph (2):Ceph 的物理和逻辑结构 [Ceph Architecture]
本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...
随机推荐
- WEB安全--逻辑漏洞
业务逻辑问题是一种设计缺陷.逻辑缺陷表现为设计者或开发者在思考过程中做出的特殊假设存在明显或隐含的错误.精明的攻击者会特别注意目标应用程序采用的逻辑方式,设法了解设计者与开发者做出的可能假设,然后考虑 ...
- 《Invert》开发日志02:游戏风格定型
声明:以下涉及到的<God of Light>.<Valiant Hearts : The Great War>.<Angry Birds 2>游戏截图均来自其Ap ...
- Vim插件管理——Vundle
Vim插件管理--Vundle 都说Vim时程序员写给自己的编辑器,其中的情结可想而知.身为一只程序狗CodingDoge,今天就让我带各位学习Vim的使用. vim因为其庞大而强劲的插件受到无比的推 ...
- POJ1160 Post Office[序列DP]
Post Office Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 18680 Accepted: 10075 Des ...
- 平滑过渡的战争迷雾(一) 原理:Warcraft3地形拼接算法
本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9611887 作者:七十一雾央 新浪微博:http:/ ...
- java 关于多线程高并发方面
转有关的文章链接: Java 高并发一:前言: http://www.jb51.net/article/92358.htm Java 高并发二:多线程基础详细介绍 http://www.jb51.ne ...
- uva10167 Birthday Cake
Lucy and Lily are twins. Today is their birthday. Mother buys a birthday cake for them. Now we put t ...
- Mysql LIMIT如何正确对其进行优化
Mysql LIMIT如何正确对其进行优化 2010-05-17 17:09 佚名 博客园 字号:T | T 我们今天主要和大家分享的是Mysql LIMIT简单介绍以及如何进行优化的相关内容的描述, ...
- HDU 1022 Train Problem I
A - Train Problem I Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u ...
- java多线程系类:基础篇:02常用的实现多线程的两种方式
本章,我们学习"常用的实现多线程的2种方式":Thread 和 Runnable.之所以说是常用的,是因为通过还可以通过java.util.concurrent包中的线程池来实现多 ...