[转]“Ceph浅析”系列之(—)—Ceph概况
本文将对Ceph的基本情况进行概要介绍,以期读者能够在不涉及技术细节的情况下对Ceph建立一个初步印象。
2.1 什么是Ceph?
Ceph的官方网站Ceph.com上用如下这句话简明扼要地定义了Ceph:
“Ceph is a unified, distributed storage systemdesigned 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的热度不断增加,Sage Weil于2011年创立了Inktank公司以主导Ceph的开发和社区维护。目前,Ceph的发布周期为三个月。
2.4 Sage Weil其人其事
在展开后续的技术讨论之前,适度八卦Sage Weil的人生经历实在是很有必要,因为这位兄台委实是IT男青年中凤毛麟角的在工程、研究、创业三个领域都有涉猎且都颇有建树的神人。
Sage在工程上的能力自然不必多言,而他发表Ceph论文的OSDI也是计算机操作系统领域首屈一指的最高水平学术会议。至于创业方面,Sage是DreamHost的联合创始人,彼时是1997年,他刚上大学不久。。。有兴趣的同学可以去LinkedIn研究一下Sage的个人简历,基本上是想工作就工作,想上学就上学,想创业就创业,想读博就读博,随心所欲,天马行空,令人油然而生一种表示敬佩的冲动。。。
Ceph的基本情况就介绍到这里。下一篇文章将开启更为技术的内容,并首先探讨Ceph的设计思想。
转载于:https://blog.51cto.com/liufu1103/1657142
[转]“Ceph浅析”系列之(—)—Ceph概况相关推荐
- Ceph使用系列之——Ceph RGW使用
本文分享主题是<Ceph使用系列之--Ceph RGW使用>,欢迎关注. Ceph RGW介绍 Ceph对象网关是在librados之上构建的对象存储接口,旨在为应用程序提供通往Ceph存 ...
- “CEPH浅析”系列之七——关于CEPH的若干想法
为什么80%的码农都做不了架构师?>>> 本篇文章的内容,主要是笔者在调研分析Ceph过程中产生的一些思考.因为其中的内容比较自由发散,且大多是笔者的个人见解,故此另启一文进行 ...
- “CEPH浅析”系列之八——小结
2019独角兽企业重金招聘Python工程师标准>>> 最初决定写这些文章的时候,本打算大致记录一下,几千字也就了事了.可是越写越觉得东西多,不说明白总有些不甘心,于是就越写越长,到 ...
- [转]“Ceph浅析”系列之(二)—Ceph的设计思想
转载自:http://yizhaolingyan.net/?p=11 分析开源项目,时常遇到的一个问题就是资料不足.有时间写代码的大牛们通常是都是没有时间或者根本不屑于写文档的.而不多的文档通常又是使 ...
- Ceph分布式存储系列(一):Ceph工作原理及架构浅析梳理
一.Ceph简介 众所周知,ceph是一种分布式存储系统,是有着"ceph之父"之称的Sage Weil读博期间的研究课题,项目诞生于2004年,在2006年基于开源协议开 ...
- Ceph分布式存储系列(二):ceph-deploy方式部署三节点ceph集群
承接上文:Ceph分布式存储系列(一):Ceph工作原理及架构浅析梳理 之前都是使用Deepsea方式部署的ceph,长时间不用ceph-deploy了,这次来回顾,顺便总结下! 前言: ceph-d ...
- 【云原生 | Kubernetes 系列】--Ceph认证和RBD
1. Ceph 认证机制 ceph使用cephx协议对客户端进行身份认证. cephx用于对ceph保存的数据进行认证访问和授权,用于对访问ceph的请求进行认证和授权检查,与mon通信的请求都要经过 ...
- ceph命令系列(一):ceph-deploy/ceph/rados/rbd 常用命令详解
ceph-deploy 常用命令详解 命令 描述 ceph-deploy new [mon-node ...] 指定node(s)为monitor,开始部署一个新的ceph集群,并且在当前目录创建ce ...
- Ceph入门系列(一)
Ceph介绍 Ceph是一种热门的软件定义存储(SDS)技术,可以运行在几乎所有主流的 Linux 发行版(比如CentOS和Ubuntu)和其它类UNIX操作系统(典型如FreeBSD).Cep ...
最新文章
- 【java线程】锁机制:synchronized、Lock、Condition
- bpython ipython_安装ipython后命令找不到ipython bpython -bash: *python: command not found
- mdf与ldf文件如何还原到SQLserver数据库
- ----uni-app之修改头像----
- 北京航空航天大学计算机专业培养方案,北京航空航天大学计算机科学与技术专业...
- 北理计算机教案,北理工版三年级信息技术教案重点.docx
- 数据之光 · 安全未来 | 第四届中国数据安全治理高峰论坛圆满召开!
- 剑指offer(7)斐波那契数列
- linux dhcpd 设置 关于 subnet
- 路由事件(鼠标路由事件+键盘路由事件)
- C/C++/JAVA内存布局
- DocLocker - 文档外发控制系统
- python opencv 边缘检测 抠图,python和opencv实现抠图
- 网站服务器日志包含什么,查看网站日志有什么作用?
- UCK区块链微课堂—公钥私钥,数字资产安全性的两把金钥匙
- unity 数字键的输入及刚体的速度的设置
- Zabbix-2.4-安装-1
- Esky+Cx_freeze开发打包python可自动升级程序
- mysql自定义函数示例代码,以及属性介绍
- 数码相机(百度百科)
热门文章
- springbboot加密打包_Spring Boot 配置 Security 密码加密
- 天津理工计算机通信工程学院,2018年天津理工大学计算机与通信工程学院811信号与系统考研仿真模拟五套题...
- linux go missing git command,安装beego出现go: missing Git command
- android 开发art,Android应用开发之Android 系统启动原理(art 虚拟机)
- netty java开发文档_Netty简明教学文档
- 目标检测第2步:如何在Windows 10下安装Anaconda?
- 商标45类分类表明细表_2019版注册商标分类表,商标注册45类范围明细
- html jq 控制显示密码,js、jquery分别实现点击密码输入框密码显示和隐藏
- 简述ospf的工作原理_现代数字存储示波器的工作原理简述
- 笨办法学python3 pdf 脚本之家_解决python3输入的坑——input()