小Ceph能助开源存储实现超大规模存储的梦想吗?

在许多IT领域中,开源软件已经变得越来越重要。如今,随着存储逐渐变成软件定义存储,存储领域也在发生着重大的转变。虽然Ceph并不是唯一的可行和流行的选项,但它们无疑是开源存储运动的宠儿。

ceph

统一存储平台最早源自加州的一篇博士论文,即便不是最受欢迎的选项,Ceph也无疑是最受欢迎的针对OpenStack部署的软件层中的选项之一。作为OpenStack主导的云计算消费,Ceph具有相当大的优势。

重要厂商的一路支持也给了这一开源项目许多帮助,因为尽管很大一部分用户乐于使用软件并依赖于社区支持,但是还是有很多用户的开源项目需要付费的专业支持。由开发者Sage Weil创建的Inktank Storage公司的主要业务是为Ceph项目提供商业化的服务和支持,该公司在2014年被红帽所收购,这让Ceph随之获得了红帽的支持。

ceph2

Ceph项目的创建者 Sage Weil

除了红帽对Ceph的研发支持外,随着该平台被多家硬件和系统供应商接受,该平台还获得了许多专业厂商的支持,其中最著名的厂商是富士通。与此同时,一些规模较小的厂商也开始推出自己的超大规模存储设备。

那么,是什么正在推动Ceph在正规的机构和组织中展开部署呢?

为什么Ceph会如此出众?尤其是在我们能够选择像Gluster、Lustre、MogileFS、Skylable,以及OpenStack的 Swift、Cinder和Manilla等免费或开源存储平台的情况下。这些免费或开源存储平台也同样拥有想要实现超大规模存储的雄心壮志。

为什么Ceph如此出众?

当然部分原因是因为Ceph是软件定义存储,正如上面所提到的那样,同时它还是开源和企业级的。另一个重要的方面是Ceph还是统一存储,可通过一个单一的存储系统提供对象、块和文件服务。

Ceph的创始人,如今在红帽中担任Ceph首席架构师的Sage Weil说:

“虽然Ceph在云端对象存储方面正在Swift展开竞争,但是我们常常提及的Ceph的使用案例让它同时与那些专利方案展开竞争。Cinder只是一个代理API,为访问块存储提供了一个通用接口,它们本身不提供任何存储,因此它们是一个赋能者而并非竞争对手。”

开发者基本上都使用对象存储的主要原因在于,它能够很好地满足超大规模存储的需求。实际上,超大规模存储主要是应对系统中正飞速增长且规模不确定的数据量,实现对这些海量信息的高效存储。

超大规模存储在许多方面都不同于传统的企业存储,最显著的不同之处在于——规模和应用负载。通常,超大规模存储将通过更少的应用来服务更多的用户,企业存储刚好相反,它们支持更多的应用,但是支持的用户数量却不多。

超大规模存储也趋向于软件定义,通过自动化尽量减少管理员和其他所需人员的人数、模块和横向扩展。因此,它们的扩展是通过向集群增加节点的方式进行的,并且针对在商用存储中实现每拍字节的最大原始容量和最低成本进行了专门的优化。

最重要的是,这些系统最终超越了RAID等过时的技术,因为磁盘容量的高速增长已经导致无法在短时间内修复失效的RAID组,从而无力保证安全性和可靠性。Ceph则可以通过更高的吞吐量横跨多个节点复制单个文件,这让它们具有了容错能力和自我修复能力。此外,它们还可以复制被频繁访问的对象,以提供负载均衡。

正如Evaluator集团的高级分析师Eric Slack所指出来的那样,Ceph所面临的挑战是“超大规模存储梦想”和对于普通机构来说其可行程度之间的差距。他说:“人们知道亚马逊、 facebook和谷歌正在做什么,并且会说‘这很酷呀!’,我也应该这么做。然而当真正部署时,我们才发现,这些超大规模存储的部署者都拥有大量优化的人才在帮他们编写软件,并且他们会采购数千个单元,而这是普通企业无法做到的。”

Slack认为,一个解决办法是采取超融合路线,但这常常意味着厂商锁定;另一个办法是通过设备予以解决。他指出,许多企业会将超大规模的软件定义存储与硬件、服务和支持捆绑在一起。

对于那些相信开源商业故事的用户来说,Ceph是一个不错的选择。帮助客户管理风险防范诈骗的美国预测分析公司FICO的云开发主管Nick Gerasimatos说:“Ceph是我们常用的多用途对象存储。我们也使用SolidFire全闪存阵列,但当我们部署一个新应用时,我们会首先尝试将它们部署在Ceph上,对它进行负载测试,如果它能够很好地工作,我们就会把应用留在Ceph上。”