Ceph 项目起源于其创始人Sage Weil在加州大学Santa Cruz分校攻读博士期间的研究课题。项目的起始时间为2004年,在2006年基于开源协议开源了Ceph的源代码。Sage Weil也相应成立了Inktank公司专注于Ceph的研发。在2014年5月,该公司被Red Hat收购。Ceph项目的发展历程如下:
一、优势
CRUSH 算法
CRUSH 算法是 Ceph 最初的两大创新之一(另一个是基于动态子树分区的元数据集群),也是整个 RADOS 的基石,是 Ceph 最引以为豪的地方。
CRUSH 在一致性哈希基础上很好的考虑了容灾域的隔离,能够实现各类负载的副本放置规则,例如跨机房、机架感知等。同时, CRUSH 算法支持副本和 EC 两种数据冗余方式,还提供了四种不同类型的 Bucket(Uniform, List, Tree, Straw),充分考虑了实际生产过程中硬件的迭代式部署方式,虽然实际生产中大多数情况下的都是只用了一种 Straw。
另外根据 Sage 的论文,CRUSH 算法具有相当好的可扩展性,在数千 OSD 的情况下仍然能保证良好的负载平衡。但这更多是理论层面的,目前还没有人给出在数 PB 规模的生产环境中的测试结果。
总的来看,CRUSH 算法仍然是目前经过实践检验的最好的数据分布算法之一。
统一存储架构
Ceph 最初设计的 RADOS 是为其实现一个高性能的文件系统服务的,并没有考虑对