Ceph企业级分布式存储:原理与工程实践
上QQ阅读APP看书,第一时间看更新

1.2.1 研究阶段

Ceph最早是加州大学Santa Cruz分校的一个研究项目,项目创始人Sage Weil被誉为“Ceph之父”。Ceph最初的研究目标是围绕文件系统使用场景构建一个可水平扩展的基于对象的文件系统,用于数据中心高性能计算。

最初,Ceph利用了几种技术,包括EBOFS(针对对象工作负载的文件系统)、CRUSH算法、RADOS(为Ceph提供支持底层对象存储的算法)等,并且这几项技术的监控部分在集群内部实现,这样做的主要目的是实现存储智能化。存储集群应该是一个智能的存储节点集群,而不是拥有大量“哑”磁盘的集群。要实现这样有感知的集群,需要创建一个全新的架构。当然,在整个Ceph设计过程中,重点还是构建一致的、可靠的存储集群,没有单点故障。

该项目早期阶段的名字叫Cephalopod(软体动物),后来演变成Ceph。它早期还有一个可爱的LOGO,如图1-1所示。

Sage在Ceph的研究工作接近尾声时,开始与许多传统存储供应商谈论Ceph及其在该项目中所做的工作,试图谋求与企业的合作,但结果都不理想。他看了很多和他有类似处境的人的经历后发现,这些人要么被大公司聘请作为研究员而放弃了自己研发的项目,要么将自己研究的项目合并到企业的大型专有系统里。他意识到行业巨头需要的是人,而不是你的项目。加上一些外部环境因素的限制,以及Ceph项目自身缺少某些关键的企业功能(快照、克隆、配额等),Sage决定采用一种新的方式去推广Ceph。

图1-1 Ceph早期LOGO

他的想法是通过开放源代码的方式改变Ceph,从而影响存储界,进而效仿Solaris、Ultrix、Irix等公司的发展模式。为了实现此目标,他决定使用LGPL v2许可证。该许可证既具有灵活性,又具有可控性。另外,Ceph还规定任何个人贡献的代码都可作为自身的财产。Ceph项目于2006年正式开源,代码存放在SourceForge中。