文档章节

“Ceph浅析”系列之二——Ceph概况(转载)

shadowalker911
 shadowalker911
发布于 2015/01/23 18:02
字数 1590
阅读 44
收藏 0
点赞 0
评论 0

2.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[1]。

 

2.2    为什么要关注Ceph

         事实上,Ceph并不是一个刚刚出现的开源项目。与此相反,从最初发布到逐渐流行,Ceph走过了七年以上的漫长路程。笔者以为,之所以应当对Ceph加以了解,其原因大致有两个方面:

         首先,Ceph本身确实具有较为突出的优势。

           Ceph值得一提的优势颇多,包括统一存储能力、可扩展性、可靠性、性能、自动化的维护等等。本质上,Ceph的这些优势均来源于其先进的核心设计思想,笔者将其概括为八个字——“无需查表,算算就好”。基于这种设计思想,Ceph充分发挥存储设备自身的计算能力,同时消除了对系统单一中心节点的依赖,从而实现了真正的无中心结构。基于这一设计思想和结构,Ceph一方面实现了高度的可靠性和可扩展性,另一方面保证了客户端访问的相对低延迟和高聚合带宽。通过后续内容的介绍,读者可以看到,Ceph几乎所有优秀特性的实现,都与这个核心设计思想有关。

         其次,Ceph目前在OpenStack社区中备受重视。

         OpenStack是目前最为流行的开源云操作系统。而据笔者观察,Ceph之所以在近一两年间热度骤升,其最为有力的推动因素就是OpenStack社区的实际需求。目前而言,Ceph已经成为OpenStack社区中呼声最高的开源存储方案之一,其实际应用主要涉及块存储和对象存储,并且开始向文件系统领域扩展。这一部分的相关情况,在后续文章中也将进行介绍。

 

2.3    Ceph的产生与发展

         通常而言,开源项目的来源有三:一是学校里的大牛作的课题,论文发够然后开源;二是企业里的大牛搞的产品,机缘巧合于是开源;三是某些大牛突然显灵,然后一票人跟着一起开源。每一类的例子都有不少,而不同起源的开源项目也有着自身的不同特点。具体而言,第一类项目的原理和技术上很可能颇有独到之处,而Ceph就正在此列。相比之下,第二类项目的设计实现很可能颇为成熟,并且在开源之前或者开源初期就获得生产环境下的实际部署应用机会。这种出身背景上的因素,对于一个开源项目的后续发展很有可能产生影响。

         言归正传。Ceph项目起源于其创始人Sage Weil在加州大学Santa Cruz分校攻读博士期间的研究课题。项目的起始时间为2004年[2]。在2006年的OSDI学术会议上,Sage发表了介绍Ceph的论文[3],并在该篇论文的末尾提供了Ceph项目的下载链接。由此,Ceph开始广为人知。

         Ceph使用C++语言开发。对于一个典型的强调性能的系统项目,这一选择可以理解。

         作为开源项目,Ceph遵循LGPL协议。

       根据Inktank官方网站上的信息[4],Cpeh的生态系统参加下图:

Ceph ecosystem

       不难看出,图中列出的厂商或组织带有明显的云计算气息。

         随着Ceph的热度不断增加,Sage Weil2011年创立了Inktank公司以主导Ceph的开发和社区维护。目前,Ceph的发布周期为三个月。

 

2.4    Sage Weil其人其事

         在展开后续的技术讨论之前,适度八卦Sage Weil的人生经历实在是很有必要,因为这位兄台委实是IT男青年中凤毛麟角的在工程、研究、创业三个领域都有涉猎且都颇有建树的神人。

         Sage在工程上的能力自然不必多言,而他发表Ceph论文的OSDI也是计算机操作系统领域首屈一指的最高水平学术会议。至于创业方面,SageDreamHost的联合创始人,彼时是1997年,他刚上大学不久。。。有兴趣的同学可以去LinkedIn研究一下Sage个人简历,基本上是想工作就工作,想上学就上学,想创业就创业,想读博就读博,随心所欲,天马行空,令人油然而生一种表示敬佩的冲动。。。

        Ceph的基本情况就介绍到这里。下一篇文章将开启更为技术的内容,并首先探讨Ceph的设计思想。

说明:转载或引用请注明出处。未获得笔者本人授权前请勿用于商业目的。

本文转载自:http://yizhaolingyan.net/?p=19

共有 人打赏支持
shadowalker911
粉丝 6
博文 28
码字总数 3041
作品 0
徐汇
Ceph 浅析(上):概况与设计思想

摘要:其命名和UCSC(Ceph 的诞生地)的吉祥物有关,这个吉祥物是 “Sammy”,一个香蕉色的蛞蝓,就是头足类中无壳的软体动物。这些有多触角的头足类动物,是对一个分布式文件系统高度并行的...

红薯 ⋅ 2014/04/01 ⋅ 3

“CEPH浅析”系列之三——CEPH的设计思想

分析开源项目,时常遇到的一个问题就是资料不足。有时间写代码的大牛们通常是都是没有时间或者根本不屑于写文档的。而不多的文档通常又是使用手册之类的东西。即便偶尔有设计文档通常也是语焉...

Yason_Luo ⋅ 2014/04/02 ⋅ 0

“Ceph浅析”系列之五——Ceph的工作原理及流程

本 文将对Ceph的工作原理和若干关键工作流程进行扼要介绍。如前所述,由于Ceph的功能实现本质上依托于RADOS,因而,此处的介绍事实上也是针对 RADOS进行。对于上层的部分,特别是RADOS GW和R...

红薯 ⋅ 2014/04/01 ⋅ 2

“CEPH浅析”系列之四——CEPH的结构

本文将从逻辑结构的角度对Ceph进行分析。 4.1 Ceph系统的层次结构 Ceph存储系统的逻辑层次结构如下图所示[1]。 自下向上,可以将Ceph系统分为四个层次: (1)基础存储系统RADOS(Reliable,...

Yason_Luo ⋅ 2014/04/02 ⋅ 9

“Ceph浅析”系列之七——关于Ceph的若干想法

本篇文章的内容,主要是笔者在调研分析Ceph过程中产生的一些思考。因为其中的内容比较自由发散,且大多是笔者的个人见解,故此另启一文进行讨论。 7.1 关于Ceph的性能 目前为止,本系列的文章...

红薯 ⋅ 2014/04/01 ⋅ 2

“Ceph浅析”系列之四——Ceph的结构

本文将从逻辑结构的角度对Ceph进行分析。 4.1 Ceph系统的层次结构 Ceph存储系统的逻辑层次结构如下图所示[1]。 自下向上,可以将Ceph系统分为四个层次: (1)基础存储系统RADOS(Reliable,...

红薯 ⋅ 2014/04/01 ⋅ 0

Ceph浅析(中):结构、工作原理及流程

Ceph的结构 Ceph系统的层次结构 Ceph存储系统的逻辑层次结构如下图所示: 自下向上,可以将Ceph系统分为四个层次: (1)基础存储系统RADOS(Reliable, Autonomic, Distributed Object Store...

wangdy ⋅ 2016/07/10 ⋅ 0

从传统运维到云运维演进历程之软件定义存储(六)完结

回到最初的Ceph运维工程师的问题,本系列讲述的是传统运维向新一代云运维转型之软件定义存储部分的转型,运维是企业业务系统从规划、设计、实施、交付到运维的最后一个步骤,也是重要的步骤。...

Devin ⋅ 2016/12/20 ⋅ 0

苦尽甘来——Ceph中国社区2016

作者 | 孙琦 耿航校对 2016年12月11日,北京万寿宾馆,Ceph中国社区迎来了2016年最后一场活动,这是第一次、也是唯一一次全天的活动,到下午会议结束的一刻,整个会场仍然是满坑满谷,这也大...

Devin ⋅ 2016/12/20 ⋅ 0

从传统运维到云运维演进历程之软件定义存储(二)

上回书说到一般企业使用Ceph会经历几个关卡:硬件选型 —— 部署调优—— 性能测试 架构灾备设计 —— 部分业务上线测试 —— 运行维护(故障处理、预案演练等)。 今天来重点讲下部署调优关...

Devin ⋅ 2016/09/20 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Springboot2 之 Spring Data Redis 实现消息队列——发布/订阅模式

一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式,这里利用redis消息“发布/订阅”来简单实现订阅者模式。 实现之前先过过 redis 发布订阅的一些基础概念和操...

Simonton ⋅ 15分钟前 ⋅ 0

error:Could not find gradle

一.更新Android Studio后打开Project,报如下错误: Error: Could not find com.android.tools.build:gradle:2.2.1. Searched in the following locations: file:/D:/software/android/andro......

Yao--靠自己 ⋅ 昨天 ⋅ 0

Spring boot 项目打包及引入本地jar包

Spring Boot 项目打包以及引入本地Jar包 [TOC] 上篇文章提到 Maven 项目添加本地jar包的三种方式 ,本篇文章记录下在实际项目中的应用。 spring boot 打包方式 我们知道,传统应用可以将程序...

Os_yxguang ⋅ 昨天 ⋅ 0

常见数据结构(二)-树(二叉树,红黑树,B树)

本文介绍数据结构中几种常见的树:二分查找树,2-3树,红黑树,B树 写在前面 本文所有图片均截图自coursera上普林斯顿的课程《Algorithms, Part I》中的Slides 相关命题的证明可参考《算法(第...

浮躁的码农 ⋅ 昨天 ⋅ 0

android -------- 混淆打包报错 (warning - InnerClass ...)

最近做Android混淆打包遇到一些问题,Android Sdutio 3.1 版本打包的 错误如下: Android studio warning - InnerClass annotations are missing corresponding EnclosingMember annotation......

切切歆语 ⋅ 昨天 ⋅ 0

eclipse酷炫大法之设置主题、皮肤

eclipse酷炫大法 目前两款不错的eclipse 1.系统设置 Window->Preferences->General->Appearance 2.Eclipse Marketplace下载【推荐】 Help->Eclipse Marketplace->搜索‘theme’进行安装 比如......

anlve ⋅ 昨天 ⋅ 0

vim编辑模式、vim命令模式、vim实践

vim编辑模式 编辑模式用来输入或修改文本内容,编辑模式除了Esc外其他键几乎都是输入 如何进入编辑模式 一般模式输入以下按键,均可进入编辑模式,左下角提示 insert(中文为插入) 字样 i ...

蛋黄Yolks ⋅ 昨天 ⋅ 0

大数据入门基础:SSH介绍

什么是ssh 简单说,SSH是一种网络协议,用于计算机之间的加密登录。 如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码...

董黎明 ⋅ 昨天 ⋅ 0

web3j教程

web3j是一个轻量级、高度模块化、响应式、类型安全的Java和Android类库提供丰富API,用于处理以太坊智能合约及与以太坊网络上的客户端(节点)进行集成。 汇智网最新发布的web3j教程,详细讲解...

汇智网教程 ⋅ 昨天 ⋅ 0

谷歌:安全问题机制并不如你想象中安全

腾讯科技讯 5月25日,如今的你或许已经对许多网站所使用的“安全问题机制”习以为常了,但你真的认为包括“你第一个宠物的名字是什么?”这些问题能够保障你的帐户安全吗? 根据谷歌(微博)安...

问题终结者 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部