Ceph分布式存储实战 1.1 Ceph概述

初识Ceph

1.1 Ceph概述


1. Ceph简介

从2004年提交第一行代码开始到现在,Ceph已经是一个有着十年之久的分布式存储系统软件,目前Ceph已经发展为开源存储界的当红明星,当然这与它的设计思想以及OpenStack的推动有关。

“Ceph is a unified, distributed storage system designed for excellent performance, reliability and scalability.”这句话说出了Ceph的特性,它是可靠的、可扩展的、统一的、分布式的存储系统。Ceph可以同时提供对象存储RADOSGW(Reliable、Autonomic、Distributed、Object Storage Gateway)、块存储RBD(Rados Block Device)、文件系统存储Ceph FS(Ceph Filesystem)3种功能,以此来满足不同的应用需求。

Ceph消除了对系统单一中心节点的依赖,从而实现了真正的无中心结构的设计思想,这也是其他分布式存储系统所不能比的。通过后续章节内容的介绍,你可以看到,Ceph几乎所有优秀特性的实现,都与其核心设计思想有关。

OpenStack是目前最为流行的开源云平台软件。Ceph的飞速发展离不开OpenStack的带动。目前而言,Ceph已经成为OpenStack的标配开源存储方案之一,其实际应用主要涉及块存储和对象存储,并且开始向文件系统领域扩展。这一部分的相关情况,在后续章节中也将进行介绍。

2. Ceph的发展

Ceph是加州大学Santa Cruz分校的Sage Weil(DreamHost的联合创始人)专为博士论文设计的新一代自由软件分布式文件系统。

2004年,Ceph项目开始,提交了第一行代码。

2006年,OSDI学术会议上,Sage发表了介绍Ceph的论文,并在该篇论文的末尾提供了Ceph项目的下载链接。

2010年,Linus Torvalds将Ceph Client合并到内核2.6.34中,使Linux与Ceph磨合度更高。

2012年,拥抱OpenStack,进入Cinder项目,成为重要的存储驱动。

2014年,Ceph正赶上OpenStack大热,受到各大厂商的“待见”,吸引来自不同厂商越来越多的开发者加入,Intel、SanDisk等公司都参与其中,同时Inktank公司被Red Hat公司1.75亿美元收购。

2015年,Red Hat宣布成立Ceph顾问委员会,成员包括Canonical、CERN、Cisco、Fujitsu、Intel、SanDisk和SUSE。Ceph顾问委员会将负责Ceph软件定义存储项目的广泛议题,目标是使Ceph成为云存储系统。

2016年,OpenStack社区调查报告公布,Ceph仍为存储首选,这已经是Ceph第5次位居调查的首位了。

3. Ceph 应用场景

Ceph可以提供对象存储、块设备存储和文件系统服务,其对象存储可以对接网盘(owncloud)应用业务等;其块设备存储可以对接(IaaS),当前主流的IaaS云平台软件,例如OpenStack、CloudStack、Zstack、Eucalyptus等以及KVM等,本书后续章节中将介绍OpenStack、CloudStack、Zstack和KVM的对接;其文件系统文件尚不成熟,官方不建议在生产环境下使用。

4. Ceph生态系统

Ceph作为开源项目,其遵循LGPL协议,使用C++语言开发,目前Ceph已经成为最广泛的全球开源软件定义存储项目,拥有得到众多IT厂商支持的协同开发模式。目前Ceph社区有超过40个公司的上百名开发者持续贡献代码,平均每星期的代码commits超过150个,每个版本通常在2 000个commits左右,代码增减行数在10万行以上。在过去的几个版本发布中,贡献者的数量和参与公司明显增加,如图1-1所示。

 

图1-1 部分厂商和软件

5. Ceph用户群

Ceph成为了开源存储的当红明星,国内外已经拥有众多用户群体,下面简单说一下Ceph的用户群。

(1)国外用户群

1)CERN:CERN IT部门在2013年年中开始就运行了一个单一集群超过10 000个VM和100 000个CPU Cores的云平台,主要用来做物理数据分析。这个集群后端Ceph包括3PB的原始容量,在云平台中作为1000多个Cinder卷和1500多个Glance镜像的存储池。在2015年开始测试单一30 PB的块存储RBD集群。

2)DreamHost:DreamHost从2012年开始运行基于Ceph RADOSGW的大规模对象存储集群,单一集群在3PB以下,大约由不到10机房集群组成,直接为客户提供对象存储服务。

3)Yahoo Flick:Yahoo Flick自2013年开始逐渐试用Ceph对象存储替换原有的商业存储,目前大约由10机房构成,每个机房在1PB~2PB,存储了大约2 500亿个对象。

4)大学用户:奥地利的因斯布鲁克大学、法国的洛林大学等。

(2)国内用户群

1)以OpenStack为核心的云厂商:例如UnitedStack、Awcloud等国内云计算厂商。

2)Ceph产品厂商:SanDisk、XSKY、H3C、杉岩数据、SUSE和Bigtera等Ceph厂商。

3)互联网企业:腾讯、京东、新浪微博、乐视、完美世界、平安科技、联想、唯品会、福彩网和魅族等国内互联网企业。

6. 社区项目开发迭代

目前Ceph社区采用每半年一个版本发布的方式来进行特性和功能的开发,每个版本发布需要经历设计、开发、新功能冻结,持续若干个版本的Bug修复周期后正式发布下一个稳定版本。其发布方式跟OpenStack差不多,也是每半年发布一个新版本。

Ceph会维护多个稳定版本来保证持续的Bug修复,以此来保证用户的存储安全,同时社区会有一个发布稳定版本的团队来维护已发布的版本,每个涉及之前版本的Bug都会被该团队移植回稳定版本,并且经过完整QA测试后发布下一个稳定版本。

代码提交都需要经过单元测试,模块维护者审核,并通过QA测试子集后才能合并到主线。社区维护一个较大规模的测试集群来保证代码质量,丰富的测试案例和错误注入机制保证了项目的稳定可靠。

7. Ceph版本

Ceph正处于持续开发中并且迅速提升。2012年7月3日,Sage发布了Ceph第一个LTS版本:Argonaut。从那时起,陆续又发布了9个新版本。Ceph版本被分为LTS(长期稳定版)以及开发版本,Ceph每隔一段时间就会发布一个长期稳定版。Ceph版本具体信息见表1-1。欲了解更多信息,请访问https://Ceph.com/category/releases/。

表1-1 Ceph版本信息

Ceph版本名称 Ceph版本号 发布时间

Argonaut V0.48 (LTS) 2012.6.3

Bobtail V0.56 (LTS) 2013.1.1

Cuttlefish V0.61 2013.5.7

Dumpling V0.67 (LTS) 2013.8.14

Emperor V0.72 2013.11.9

Firefly V0.80 (LTS) 2014.3.7

Giant V0.87.1 2015.2.26

Hammer V0.94 (LTS) 2015.4.7

Infernalis V9.0.0 2015.5.5

Jewel V10.0.0 2015.11

Jewel V10.2.0 2016.3

时间: 2024-09-15 22:55:17

Ceph分布式存储实战 1.1 Ceph概述的相关文章

Ceph分布式存储实战.

云计算与虚拟化技术丛书 Ceph分布式存储实战 Ceph中国社区 著 图书在版编目(CIP)数据 Ceph分布式存储实战/Ceph中国社区著. -北京:机械工业出版社,2016.11 (云计算与虚拟化技术丛书) ISBN 978-7-111-55358-8 I. C- II. C- III. 分布式文件系统 IV. TP316 中国版本图书馆CIP数据核字(2016)第274895号 Ceph分布式存储实战 出版发行:机械工业出版社(北京市西城区百万庄大街22号 邮政编码:100037) 责任编

Ceph分布式存储实战导读

前言 随着信息化浪潮的到来,全球各行各业逐步借助信息技术深入发展.据悉,企业及互联网数据以每年50%的速率在增长.据权威调查机构Gartner预测,到2020年,全球数据量将达到35ZB,相当于80亿块4TB硬盘,数据结构的变化给存储系统带来了全新的挑战.那么有什么方法能够存储这些数据呢?我认为Ceph是解决未来十年数据存储需求的一个可行方案.Ceph是存储的未来!SDS是存储的未来! 为什么写这本书 目前,磁盘具备容量优势,固态硬盘具备速度优势.但能否让容量和性能不局限在一个存储器单元呢?我们

Ceph分布式存储实战1.2 Ceph的功能组件

1.2 Ceph的功能组件 Ceph提供了RADOS.OSD.MON.Librados.RBD.RGW和Ceph FS等功能组件,但其底层仍然使用RADOS存储来支撑上层的那些组件,如图1-2所示.   图1-2 Ceph功能组件的整体架构 下面分为两部分来讲述Ceph的功能组件. (1)Ceph核心组件 在Ceph存储中,包含了几个重要的核心组件,分别是Ceph OSD.Ceph Monitor和Ceph MDS.一个Ceph的存储集群至少需要一个Ceph Monitor和至少两个Ceph的O

Ceph分布式存储实战1.4 Ceph快速安装

1.4 Ceph快速安装 在Ceph官网上提供了两种安装方式:快速安装和手动安装.快速安装采用Ceph-Deploy工具来部署:手动安装采用官方教程一步一步来安装部署Ceph集群,过于烦琐但有助于加深印象,如同手动部署OpenStack一样.但是,建议新手和初学者采用第一种方式快速部署并且测试,下面会介绍如何使用Ceph-Deploy工具来快速部署Ceph集群. 1.4.1 Ubuntu/Debian安装 本节将介绍如何使用Ceph-Deploy工具来快速部署Ceph集群,开始之前先普及一下Ce

Ceph分布式存储实战3.1 引言

智能分布CRUSH 3.1 引言 数据分布是分布式存储系统的一个重要部分,数据分布算法至少要考虑以下3个因素. 1)故障域隔离.同份数据的不同副本分布在不同的故障域,降低数据损坏的风险. 2)负载均衡.数据能够均匀地分布在磁盘容量不等的存储节点,避免部分节点空闲,部分节点超载,从而影响系统性能. 3)控制节点加入离开时引起的数据迁移量.当节点离开时,最优的数据迁移是只有离线节点上的数据被迁移到其他节点,而正常工作的节点的数据不会发生迁移. 对象存储中一致性Hash和Ceph的CRUSH算法是使用

Ceph分布式存储实战3.3 CRUSH关系分析

3.3 CRUSH关系分析 从本质上讲,CRUSH算法是通过存储设备的权重来计算数据对象的分布的.在计算过程中,通过Cluster Map(集群映射).Data Distribution Policy(数据分布策略)和给出的一个随机数共同决定数据对象的最终位置. 1. Cluster Map Cluster Map记录所有可用的存储资源及相互之间的空间层次结构(集群中有多少个机架.机架上有多少服务器.每个机器上有多少磁盘等信息).所谓的Map,顾名思义,就是类似于我们生活中的地图.在Ceph存储

Ceph分布式存储实战2.4 本章小结

2.4 本章小结 本章从宏观角度剖析了Ceph架构,将Ceph架构分为基础存储系统RADOS.基于RADOS实现的CEPHFS,基于RADOS的LIBRADOS层应用接口.基于LIBRADOS的应用接口RBD.RADOSGW,其中着重讲解了RADOS的组成部分MON.OSD及其功能,最后解析LIBRADOS API的基本用法.

Ceph分布式存储实战3.2 CRUSH基本原理

3.2 CRUSH基本原理 众所周知,存储设备具有吞吐量限制,它影响读写性能和可扩展性能.所以,存储系统通常都支持条带化以增加存储系统的吞吐量并提升性能,数据条带化最常见的方式是做RAID.与Ceph的条带化最相似的是RAID 0或者是"带区卷".Ceph条带化提供了类似于RAID 0的吞吐量,N路RAID镜像的可靠性以及更快速的恢复能力. 在磁盘阵列中,数据是以条带(stripe)的方式贯穿在磁盘阵列所有硬盘中的.这种数据的分配方式可以弥补OS读取数据量跟不上的不足. 1)将条带单元

《 Ceph分布式存储学习指南》导读

本节书摘来自华章出版社< Ceph分布式存储学习指南>一书中,作者Richard Banfield 著 易艺 译   目录 第1章 Ceph存储介绍 1.1 概要 1.2 Ceph的历史和发展 1.3 Ceph和存储的未来 1.4 兼容性组合 1.5 Ceph块存储 1.6 Ceph文件系统 1.7 Ceph对象存储 1.8 Ceph与其他存储解决方案 1.9 GPFS 1.10 iRODS 1.11 HDFS 1.12 Lustre 1.13 Gluster 1.14 Ceph 总结 第2章