转自:https://www.ustack.com/blog/ceph-distributed-block-storage/

1. Ceph简介

Ceph是统一分布式存储系统,具有优异的性能、可靠性、可扩展性。Ceph的底层是RADOS(可靠、自动、分布式对象存储),可以通过LIBRADOS直接访问到RADOS的对象存储系统。RBD(块设备接口)、RADOS Gateway(对象存储接口)、Ceph File System(POSIX接口)都是基于RADOS的。

LIBRADOS(Native API):

  • read、write
  • snapshot
  • append、tuncate、clone range
  • object level key-value mappings

RADOS Gateway(REST API):

  • 兼容S3和Swift接口

RBD(Block Storage ):

  • Thinly provisioned
  • Resizable images
  • Image import/export
  • Image copy or rename
  • Read-only snapshots
  • Revert to snapshots
  • Ability to mount with Linux or QEMU KVM clients!

Ceph File System:

  • It provides stronger data safety for mission-critical applications.
  • It provides virtually unlimited storage to file systems.
  • Applications that use file systems can use Ceph FS with POSIX semantics. No integration or customization required!
  • Ceph automatically balances the file system to deliver maximum performance.

Ceph的核心是RADOS,它是分布式对象存储系统,由自修复、自管理、智能的存储节点组成。RADOS作为数据持久层,是RADOSGW、RBD、CEPH FS的基础。分布式对象存储的基本问题是如何分布数据到上千个存储节点上,RADOS的核心是CRUSH(一个可扩展的伪随机数据分布算法)。CRUSH能够有效映射数据对象到存储节点上,而且能够处理系统的扩展和硬件失效,最小化由于存储节点的添加和移除而导致的数据迁移。CRUSH算法达到了效率和扩展性这两个矛盾的目标,更详细的介绍在 CRUSH算法介绍 CRUSH具体分析 。

2. Ceph社区

Ceph最新稳定版本是 0.61 Cuttlefish(5月7号发布),下个稳定版本是 0.67 Dumpling (8月份发布)。

主要贡献者(大部分是Inktank公司的员工,因此Ceph目前还是由Inktank公司掌控着):

项目统计:

  1. http://www.ohloh.net/p/cephfs
  2. https://github.com/ceph/ceph/graphs
    • Ceph项目从2004年6月份启动,源于Sage Weil的博士论文。
    • 一共有101个代码贡献者(从项目开始以来)
    • 一共有24万行代码
    • 大部分是用C++写的
    • 最近30天有14个代码贡献者

从统计数据来看,Ceph最近的开发很活跃。

社区设施:

完善的社区设施和规范可以保证Ceph的开发进度和质量,详细的帮助文档可以吸引更多的用户使用Ceph,开放的Design Summit能够吸引更多的开发者参与Ceph。

主要子项目:

  • devops(自动化部署和运维)
  • fs(POSIX接口)
  • linux kernel client
  • performance(主要是用于测试ceph的性能)
  • rbd(Block Storage)
  • rgw(RADOS Gateway)
  • teuthology(ceph test suite)

在Ceph的项目管理中,我们可以发现有以上子项目。devops 项目能够让用户更好的安装、管理Ceph。performance项目能够用于Ceph性能的调优(Ceph可以设置很多选项)。teuthology 项目能够提高Ceph代码的可靠性。

版本发布策略:

  • Point Releases — ad hoc
  • Interim Releases — 每两周发布一个开发版
  • Stable Releases — 每三个月发布一个稳定版
  • LTS Releases — coming soon!规范的发布策略表示Ceph项目越来越成熟。

3. Ceph的影响力

Ceph本来就有一定的影响力(源于它的架构和功能),大家对它抱有很大的希望。自从inktank公司成立之后,inktank公司也不断推动Ceph与其他系统的整合,提高Ceph的影响力。

Ceph对其他系统的支持

  • OpenStack
  • CloudStack
  • OpenNebula
  • Hadoop

Ceph的使用调查:

在ceph的邮件列表中做的调查 http://ceph.com/community/results-from-the-ceph-census/

在收到的81份调查反馈中(不包括Dreamhost)

  • 有36个公司在调查Ceph中
  • 有24个公司在预生产环境使用Ceph
  • 有21个公司在生产环境使用Ceph

在生产环境中,已经使用的裸磁盘有1154TB。Dreamhost已经超过 3PB了。在预生产环境中,一共有2466TB。(不包括一个特别的样本,它有20PB)。平均每个集群的大小是72TB(不包括一个特别的样本,它有20PB,用于部署OpenStack。另外一个特别的样本是1PB,是CRNET SA的预生产环境。)

在OpenStac Design Summit 2013中的一个 Session:roadmap-for-ceph-integration-with-openstack

他们打算全面集成ceph到openstack上,让nova、cinder、glance、ceilometer、keystone都用上ceph。
提高ceph和cinder、swift、ceilometer、glance的集成度。

他们打算邀请开发者:

  1. 给openstack core projects集成ceph
  2. 开发ceph的核心组件(RADOS、RGW、RBD)

在OpenStac Design Summit 2013中的一个Topic:Wicked Easy Ceph Block Storage & OpenStack Deployment with Crowbar

在OpenStac Design Summit 2013中的一个Session:new-features-for-ceph-with-cinder-and-beyond

当前稳定版本Bobtail的新特性:

Improved OSD threading
Filesystem and journal related-locks are now more fine-grained
Boosted single disk IOPS from 6K to 22K
Restructure how map updates are handled, letting each placement group process them independently Recovery QoS
Message priority system reworked to prevent starvation
Recovery operations can be lower priority than client I/O without starving
Requests to access an object can increase recovery priority for that object Keystone Integration
RADOS gateway can talk to keystone to authenticate swift api requests
Let keystone manage your users
Supported by the Ceph juju charm

下一个稳定版本Cuttlefish的新特性:

Incremental backup for block devices
On-disk encryption
REST management API for RADOS gateway
More performance improvements(especially for small I/O)
More!! http://www.inktank.com/about-inktank/roadmap/

下下个稳定版本Dumpling的新特性

Geo-replication for RADOS gateway(跨机房)
REST management API for Ceph cluster
...

Ceph的第一次Design Summit:

Design Summit日程安排

Design Summit总结与视频

把OpenStack社区作为榜样,Ceph社区进步很快。在Design Summit上,还有国防科技大学Li Wang教授做的一个Session。

4. Inktank公司介绍

通过分析Inktank的招聘信息可以知道Inktank公司的主要工作内容。

Inktank当前主要工作是开发Ceph,并和其他云平台进行整合。公司提供的服务有:

  • 咨询服务:education, evaluation, implementation and system optimization of Ceph infrastructure.
  • 支持服务: Pre-production subscription、production subscription(提供四种级别的服务)
  • 培训服务

合作伙伴有:

hastexo、Dell、Mirantis、Alcatel-Lucent、SUSE、eNovance、Critix、Canonical

客户有:

DreamHost Bloomberg  AT&T ebay intel filoo netelligent HUAWEI Unity zatta

管理层:

  • Seagewei(Founder & CTO):Ceph的作者。也是DreamHost的co-founder,年轻的时候创建WebRing,并卖掉。
  • Bryan Bogensberger(CEO):他创建过SaaS公司Marketingisland, 创建过PaaS公司Reasonably Smart。他还在IaaS公司Joyent、DreamHost做过高级行政职务。
  • Simon Anderson(Chairman):他是DreamHost的CEO,Ceph的主要赞助者,给Inktank提供了初始资金和战略意见。他已经参与过15个Startup。
  • Mark Kampe(Vice President, Engineering):40年的操作系统软件的开发经验,在小公司待过,也在大公司(IBM,SUN,HDS)待过。在Inktank,他负责建立团队、方法论、流程,以便把
    Ceph变成企业级存储平台。
  • Wolfgang Schulze(Vice President, Professional Services):他负责Inktank的全球的专业服务团队,包括support,consulting,education.他有20年的IT经验。
  • Debbie Moynihan(Vice President, Marketing):她负责Inktank的全球的市场战略和执行。她有15年的B2B市场经验。
  • Ross Turk(Vice President, Community):他负责和用户、贡献者、开源社区建立关系。他也有15年的IT经验。他以前在SourceForge工作。
  • Neil Levine(Vice President, Product Managemen):他以前是Canonical的GM/VP。
  • Nigel Thomas(Vice President, Business Development):负责销售。
  • Artur Elizarov(Vice President, People Strategy and Administration):负责人力资源。

融资:

Inktank从Canonical的创始人Mark Shuttleworth 得到 $1 million 的投资。

5. 观察

    • Ceph统一的架构满足了云计算和大数据对存储系统的需求。
    • Ceph背后的力量很大,Inktank会积极整合Ceph到OpenStack、CloudStack、OpenNebula、Hadoop系统中,借助这些平台的力量推广Ceph。
    • Inktank打算吸引更多用户、开发者、厂商的目光:
      • 建设更规范的开源社区,学习OpenStack召开Design Summit。
      • 推出更积极的发布时间表和新功能。

Ceph的现状的更多相关文章

  1. 关于Ceph现状与未来的一些思考

    http://blog.csdn.net/mightysheldor/article/details/51093476 Ceph从2004年提交了第一行代码,至今为止已经10年了.这个起源于Sage博 ...

  2. OpenStack H版与 Ceph 整合的现状

    转自:https://www.ustack.com/blog/openstack_and_ceph/ Contents 1 Ceph与Nova整合 2 Ceph与Cinder整合 3 相关Patch ...

  3. 我所了解的各公司使用的 Ceph 存储集群 (携程、乐视、有云、宝德云、联通等)

    Ceph 作为软件定义存储的代表之一,最近几年其发展势头很猛,也出现了不少公司在测试和生产系统中使用 Ceph 的案例,尽管与此同时许多人对它的抱怨也一直存在.本文试着整理作者了解到的一些使用案例. ...

  4. “CEPH浅析”系列之六——CEPH与OPENSTACK

    在 <"Ceph浅析"系列之二--Ceph概况>中即已提到,关注Ceph的原因之一,就是OpenStack社区对于Ceph的重视.因此,本文将对Ceph在OpenSta ...

  5. Ceph 存储集群

    Ceph 存储集群 Ceph 作为软件定义存储的代表之一,最近几年其发展势头很猛,也出现了不少公司在测试和生产系统中使用 Ceph 的案例,尽管与此同时许多人对它的抱怨也一直存在.本文试着整理作者了解 ...

  6. Ceph: A Scalable, High-Performance Distributed File System译文

    原文地址:陈晓csdn博客 http://blog.csdn.net/juvxiao/article/details/39495037 论文概况 论文名称:Ceph: A Scalable, High ...

  7. 腾讯云存储专家深度解读基于Ceph对象存储的混合云机制

    背景 毫无疑问,乘着云计算发展的东风,Ceph已经是当今最火热的软件定义存储开源项目.如下图所示,它在同一底层平台之上可以对外提供三种存储接口,分别是文件存储.对象存储以及块存储,本文主要关注的是对象 ...

  8. Ceph在OpenStack中的地位

    对Ceph在OpenStack中的价值进行简要介绍,并且对Ceph和Swift进行对比. 对于一个IaaS系统,涉及到存储的部分主要是块存储服务模块.对象存储服务模块.镜像管理模块和计算服务模块.具体 ...

  9. Ceph:pg peering过程分析

    转自:https://www.ustack.com/blog/ceph%ef%bc%8dpg-peering/ Peering:互为副本的三个(此处为设置的副本个数,通常设置为3)pg的元数据达到一致 ...

随机推荐

  1. Linux中的自定义变量

    范围: 只在当前Shell中生效 语法: 变量定义: name="xiaol" hello="$name"" hello" 变量调用: ec ...

  2. hexo+yilia页脚添加总访问量

    个人博客:https://www.yuehan.online 现在博客:http://www.wangyurui.top 脚本方法使用不蒜子计数 安装脚本 要使用不蒜子(官网:http://busua ...

  3. Windows 上将Tomcat 8 安装为系统服务

    第一部分 应用场景 需要服务器上Tomcat不显示启动窗口 需要服务器上Tomcat开机自启动 ... 第二部分 配置过程 一.修改配置文件 1 {Tomcat_HOME}/bin/service.b ...

  4. __init__和__new__

    一.__init__方法是什么 __init__方法通常用在初始化一个类实例的时候, class Person(object): """Silly Person" ...

  5. 爬虫学习笔记(2)--创建scrapy项目&&css选择器

    一.手动创建scrapy项目---------------- 安装scrapy: pip install -i https://pypi.douban.com/simple/  scrapy    1 ...

  6. 字典树 trie树 学习

    一字典树 字典树,又称单词查找树,Trie树,是一种树形结构,哈希表的一个变种   二.性质 根节点不包含字符,除根节点以外的每一个节点都只包含一个字符: 从根节点到某一节点,路径上经过的字符串连接起 ...

  7. MyBatis传入多个参数 ,List集合

    一.单个参数: public List<XXBean> getXXBeanList(String xxCode); <select id="getXXXBeanList&q ...

  8. vscode使用vue中的v-for提示错误

    "vetur.validation.template": false 在设置里面把vetur.validation.template改为false 文件→首选项→设置 搜索vetu ...

  9. awk遇到windows 的^M

    windows在编辑的文档,在linux中显示会在行尾出现一个^M window下编辑的文档:末尾带^M$ linux下编辑的文档:末尾带$ awk中如果存在^M,则会限制print的输出列数(只能输 ...

  10. 3.6《深入理解计算机系统》笔记(四)虚拟存储器,malloc,垃圾回收【插图】

    概述 ●我们电脑上运行的程序都是使用虚拟存储,跟物理内存根本不搭边. ●既然虚拟内存是在磁盘上的,为什么它又运行这么好,并没有感觉卡顿?这要感谢程序的局部性! ●虚拟存储器的调度是一个操作系统必须做好 ...