带你读《存储漫谈Ceph原理与实践》第一章分布式存储概述1.3Ceph 的发展历程

简介: 《存储漫谈Ceph原理与实践》第一章分布式存储概述1.3Ceph 的发展历程

1.3.1       Ceph的起源与发展

Ceph项目起源于 2004年,是其创始人 SageWeil在加州大学 SantaCruz分校攻读

博士期间的研究课题,系统最初设计目标为提供一款基于 POSIX、没有单点故障、大规模的分布式文件存储系统。

所谓大规模分布式,是指存储系统至少能够承载PB级别的数据,并且由成千上万的存储节点组成。大数据技术迅猛发展的今天,PB 级数据存储早已不是一个可以激动人心的系统设计目标,但应该指出,Ceph项目起源于2004 年,那是一个商用处理器以单核为主流、常见硬盘容量不足百 GB的年代,这和如今 CPU动辄 20核、40线程,还要双处理器、单块硬盘存储容量10TB 有余的情况是不可同日而语的。当然,Ceph系统的容量设计在理论上并没有上限,所以 PB级别并不是实际应用的容量限制。

2006年,SageOSDI学术会议上发表了关于Ceph的论文,并提供了项目的下载链接,基于 LGPL开源协议,Ceph项目正式开放了源代码。2010年,Ceph客户端部分代码正式进入 Linuxkernel2.6.34版本主线。SageWeil也相应成立了 Inktank公司专注于 Ceph的研发,在 20145月,Inktank公司被RedHat收购,Ceph存储系统商用进程大幅提速。

2014年前后OpenStack火爆之时,基于Ceph 的存储解决方案并不被广为接受。那时的 Ceph刚刚发布第四个版本 Dumplingv0.67,存储系统整体并不足够稳定,而且架构新颖,业界未有过类似架构系统的商用案例,人们对 Ceph在生产环境落地后,如何保障数据的安全性以及数据的一致性持怀疑态度。但随着 OpenStack  的快速发展及开源分布式存储解决方案的稀缺,越来越多的人开始尝试使用 Ceph存储系统作为 OpenStack的底层共享存储(主要用于虚机云盘及系统镜像的后端存储,且 Ceph  在中国的社区也日渐兴盛, Ceph的发展被注入了强心剂。目前,Ceph 分布式存储方案已经得到众多云计算厂商的支持并被广泛应用。

近两年 OpenStack火爆度不及当年,但借助云原生,尤其是Kubernetes技术的发展,作为底层存储的基石,Ceph再次发力,为 Kubernetes 有状态化业务提供存储机制的实现,Ceph分布式存储项目依旧保持活力。

1.3.2        Ceph的版本信息

Ceph 的版本号约定如下。

Ceph第一个版本的版本号是 0.1,版本发布时间为 20081 月。多年来,Ceph一直延续使用该版本号方案(从0.1开始不断向上自增,直到20154月,Ceph发布0.94.1版本(Hammer版本的第一个修正版后,为了避免 0.991.0的版本变化,Ceph社区制定了新的版本命名策略。新的策略中,以x.y.z格式命名版本号,其中y的取值通常为 012,具体含义如下:

x.0.z- 开发版(给早期测试者和勇士们使用)

x.1.z- 候选版(给测试集群、高手们使用)

x.2.z- 稳定、修正版(Ceph 的用户们使用)

x9算起,代表Infernalis本(I是第9个字母,这样,第9个发布周期的第1个开发版就是 9.0.0,后续的开发版依次是9.0.19.0.2等;候选版版本编号从9.1.0开始,稳定、修正版版本编号从9.2.0开始。随后的大版本更新(Jewel版本,开发版版本编号则从 10.0.0开始,依此类推。

开发版发布周期通常为 24 周,每个周期内都会冻结主开发分支,并进行代码集成

和升级测试,然后才进行版本发布。Ceph社区每年会发布 34 个稳定版,每个稳定版都有个名字,并且会一直提供缺陷修复,持续到下一个稳定版发布。

Ceph社区推荐用户使用长期稳定版本Long  Term  StableLTSCephLTS版本会持续更新,通常支持时间会延续到社区发布两个 LTS版本之后。比如Hammer版本发布之后,Dumpling版本才隐退,Jewel版本发布之后,Firefly 版本才隐退,依此类推。

Ceph 的历史版本信息如下。

Argonaut                                             0.48版本(LTS)

Bobtail                                                 0.56版本(LTS)

Cuttlefish                                            0.61版本(Stable)

Dumpling                                            0.67版本(LTS)

Emperor                                             0.72版本(Stable)

Firefly                                                 0.80版本(LTS)

Giant                                                   0.87版本(Stable)

Hammer                                             0.94版本(LTS)

Infernalis                                             9.x 版本(Stable)

Jewel                                                  10.x版本(LTS)

Kraken                                                11.x 版本(Stable)

Luminous                                            12.x版本(LTS)

Mimic                                                  13.x 版本(Stable)

Nautilus                                              14.x版本(LTS)

Octopus                                             15.x 版本(Stable)

Pacific                                                  16.x版本(LTS)

1-1整理了 Ceph主要版本Firefly版本开始的发布时间点,对于学习者而言,建议从最新发布的 LTS版本Pacificv16.2.0)开始学习。

1-1    Ceph主要版本发布时间点

 

时间

P

O

N

M

L

K

J

I

H

G

F

2021年 3

16.2.0

2020年 3

15.2.0

2019年 3

14.2.0

2018年 6

13.2.0

2017年 8

12.2.0

2017年 1

11.2.0

2016年 4

10.2.0

2015年 11 月

9.2.0

2015年 4

0.94

2014年 10

0.87

2014年 5

0.8

 


相关文章
|
存储 缓存 大数据
带你读《存储漫谈Ceph原理与实践》第一章分布式存储概述1.1存储系统的架构演进(二)
带你读《存储漫谈Ceph原理与实践》第一章分布式存储概述1.1存储系统的架构演进
带你读《存储漫谈Ceph原理与实践》第一章分布式存储概述1.1存储系统的架构演进(二)
|
1月前
|
NoSQL Java 关系型数据库
【Redis系列笔记】分布式锁
分布式锁:满足分布式系统或集群模式下多进程可见并且互斥的锁。 分布式锁的核心思想就是让大家都使用同一把锁,只要大家使用的是同一把锁,那么我们就能锁住线程,不让线程进行,让程序串行执行,这就是分布式锁的核心思路
429 2
|
9天前
|
NoSQL 算法 Java
探讨redis分布式锁
探讨redis分布式锁
15 1
|
16天前
|
缓存 NoSQL 安全
玩转Redis!非常强大的Redisson分布式集合,少写60%代码
Redisson是Java的Redis客户端,提供实时数据平台服务,简化了分布式环境下的数据管理。它包含RList、RSet、RMap等分布式集合,支持ConcurrentMap和Set接口,确保线程安全和数据一致性。例如,RMap实现了本地缓存和监听器功能,允许数据监听和本地加速读取。此外,还提供了RSet的排序和去重功能,以及RQueue和RBlockingQueue等队列实现,支持阻塞操作。通过Redisson,开发者能轻松处理分布式系统的数据同步和操作。
|
1月前
|
监控 NoSQL 算法
探秘Redis分布式锁:实战与注意事项
本文介绍了Redis分区容错中的分布式锁概念,包括利用Watch实现乐观锁和使用setnx防止库存超卖。乐观锁通过Watch命令监控键值变化,在事务中执行修改,若键值被改变则事务失败。Java代码示例展示了具体实现。setnx命令用于库存操作,确保无超卖,通过设置锁并检查库存来更新。文章还讨论了分布式锁存在的问题,如客户端阻塞、时钟漂移和单点故障,并提出了RedLock算法来提高可靠性。Redisson作为生产环境的分布式锁实现,提供了可重入锁、读写锁等高级功能。最后,文章对比了Redis、Zookeeper和etcd的分布式锁特性。
234 16
探秘Redis分布式锁:实战与注意事项
|
20天前
|
缓存 NoSQL 关系型数据库
【Redis】 浅谈分布式架构
【Redis】 浅谈分布式架构
|
3天前
|
负载均衡 NoSQL 关系型数据库
Redis分布式锁学习总结
Redis分布式锁学习总结
7 0
|
18天前
|
存储 缓存 NoSQL
了解Redis,第一弹,什么是RedisRedis主要适用于分布式系统,用来用缓存,存储数据,在内存中存储那么为什么说是分布式呢?什么叫分布式什么是单机架构微服务架构微服务的本质
了解Redis,第一弹,什么是RedisRedis主要适用于分布式系统,用来用缓存,存储数据,在内存中存储那么为什么说是分布式呢?什么叫分布式什么是单机架构微服务架构微服务的本质
|
26天前
|
存储 NoSQL 算法
Redis (分布式锁)
Redis (分布式锁)
199 0
|
1月前
|
存储 缓存 NoSQL
软件体系结构 - 缓存技术(4)Redis分布式存储
【4月更文挑战第20天】软件体系结构 - 缓存技术(4)Redis分布式存储
52 12

热门文章

最新文章