当前有且仅有两个可用的开源对象存储项目:OpenStack Swift 和Ceph。
OpenStack Swift有很好的宣传,在市场上似乎更有知名度。很多厂商都表示他们支持OpenStack,然而这让人费解,因为OpenStack是一系列的开源项目。此开源项目中最具知名度的就是计算组件Nova,通过OpenStack Cinder或Swift访问存储。Cinder是块和文件API,面向外部存储,主要是商业SAN、直连存储或NAS系统。而Swift是OpenStack对象存储API。实质上,很少有厂商支持OpenStack Swift。
Ceph是作为开源对象存储竞争产品出现的,以其更丰富的功能和卓越的性能见长。它也支持与OpenStack Nova的集成,但其受欢迎程度明显低于Swift。
开源对象存储实现:技术清单
实施Swift或Ceph开源对象存储不能儿戏。两者都是开源的,但也也都有其短板。评估两种技术选项,你要做些功课:
确定对象存储项目目标。你需要去定义:项目实现的蓝图?它如何实现?内部期待是什么?性能、数据持久性、可扩展性、地理分布、管理、运营成本、宕机时间等需求都是什么?
优先考虑内部需求。将需求分成必要、重要和想要。明确每个开源产品的性能、特点、功能并于内部需求匹配。
评估内部技能。对象技能的评估包含脚本、编码的经验、排错的能力、质量的保证和文档的规范。如果一个特性丢失了,很有可能需要内部的重写、测试、排错、质量保证和归档。
评估可能涉及的风险。如果开源软件受限或数据丢失了怎么办?数据保护如何实施?谁将负责确保软件的正常工作和管理?
预测实际的成本。开源对象存储并不需要许可,但它有成本。成本就包括运行软件的硬件基础设施、服务器、硬盘、电力和制冷、存储机架、管理员成本、培训等都将成为开源存储的成本。
对以上做足功课,你就能对开源对象存储是否能满足你的需求作出准确的判断和决策。