文档章节

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

shadowalker911
 shadowalker911
发布于 2015/01/23 18:02
字数 1590
阅读 44
收藏 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
徐汇
私信 提问
加载中

评论(0)

Ceph 浅析(上):概况与设计思想

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

红薯
2014/04/01
2.8K
3
“CEPH浅析”系列之三——CEPH的设计思想

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

Yason_Luo
2014/04/02
329
0
“CEPH浅析”系列之四——CEPH的结构

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

Yason_Luo
2014/04/02
279
9
“Ceph浅析”系列之五——Ceph的工作原理及流程

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

红薯
2014/04/01
3K
2
“Ceph浅析”系列之七——关于Ceph的若干想法

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

红薯
2014/04/01
1.2K
2

没有更多内容

加载失败,请刷新页面

加载更多

如何设计可以动态扩容缩容的分库分表方案?

面试题 如何设计可以动态扩容缩容的分库分表方案? 面试官心理分析 对于分库分表来说,主要是面对以下问题: 选择一个数据库中间件,调研、学习、测试; 设计你的分库分表的一个方案,你要分...

深山老猿
24分钟前
9
0
微信开发直接访问本地调试

一、官网下载使用ngrok 1、下载你的版本:https://ngrok.com/ 例:我下载的windows64位版本的。 2、(windows版)解压后双击运行。 3、注册帐号:还是在首页找到注册入口 4、注册成功后的页面...

osc_4dady4pk
24分钟前
19
0
974. 和可被 K 整除的子数组

思路 前缀和 同余定理 暴力解 计算前缀和 遍历 计算nums[j..i] 的和,是否为k / 是否 %k == 0. from typing import Listclass Solution: def subarraySum(self, nums: List[int], k:...

hyhlinux
25分钟前
11
0
mysql配置文件-my-innodb-heavy-4G.cnf中文注释

#BEGIN CONFIG INFO#DESCR: 4GB RAM, InnoDB only, ACID, few connections, heavy queries#TYPE: SYSTEM#END CONFIG INFO## This is a MySQL example config fil......

osc_nt0jrqne
26分钟前
6
0
第四次课:Python运算符

和其他编程语言一样,Python也拥有运算符,用于执行程序代码运算,常用的运算符有1. Python算术运算符2. Python关系运算符3. Python赋值运算符4. Python 逻辑运算符,下面就依次介绍下各个运...

osc_ykahofah
27分钟前
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部