转自: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. 小程序发送 request请求失败 提示不在合法域名列表中的解决方法

    可以在小程序开发工具中设置不校验域名.

  2. 【Nginx】HTTP请求的11个处理阶段

    Nginx将一个HTTP请求分成多个阶段.以模块为单位进行处理.这样做的优点是使处理过程更加灵活.减少耦合度.HTTP框架将处理分成了11个阶段,各个阶段能够包括随意多个HTTP模块并以流水线的方式处 ...

  3. springboot整合Ehcache

    首先引入maven包: <dependency> <groupId>org.springframework.boot</groupId> <artifactI ...

  4. 【WEB HTTP】缓存

    1. HTTP并不支持兄弟缓存,所以人们通过一些协议对HTTP进行了扩展,比如因特网缓存协议(Internet Cache Protocol, ICP)和超文本缓存协议(HyperText Cachi ...

  5. Python操作——Memcached

    Memcached是一个高性能的分布式内存对象缓存系统,用于Web应用以减轻数据库的负载. 它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度. Memcached ...

  6. LeetCode:最长公共前缀【14】

    LeetCode:最长公共前缀[14] 题目描述 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flo ...

  7. yii2判断数据库字段is null

    $query = new Query; $query->select('ID, City,State,StudentName') ->from('student') ->]) -&g ...

  8. json教程系列(3)-JSONObject的过滤设置

    我们通常对一个json串和java对象进行互转时,经常会有选择性的过滤掉一些属性值.例如下面的类:   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 ...

  9. HTTP学习笔记05-首部

    首部和方法配合工作共同决定了客户端和服务器能做些什么事情. 首部可以出现在请求和响应报文中,大致来分的话,可以分为那么5种: 通用首部: request和response报文都可以使用的首部. 比如 ...

  10. [POI2008]账本BBB

    题目 BZOJ 做法 明确: \(~~~1.\)为了达到目标分数所取反的次数是固定的 \(~~~2.\)为了满足前缀非负,得增加取反和滚动次数 滚动的次数可以枚举,增加的取反可以通过最小前缀和得到 滚 ...