OpenStack开发社区已经开始计划为Swift对象存储引入纠删码,作为现有数据保护复制模型的空间节省替代品。OpenStack Swift软件可以让用户在便宜的商业服务器硬件上存储数据,但是默认设置要求每个对象有三个存储在不同地点的复制,要求额外的存储容量。纠删码可以为客户提供削减服务器数量的机会,促使他们去购买。
纠删码通过将数据分段进行工作,用冗余数据片扩展和编码;这个系统将数据存放在不同的地方,比如磁盘、存储结点或者地理位置。数据可以从分段子集恢复成其原来的形式。
OpenStack开发社区本月初宣布了为Swift对象存储增加纠删码的计划。Box、EVault、英特尔以及SwiftStack都是此项开源开发计划的关键协作公司。企业希望寻求一种方式,降低运营成本和支出成本同时维持较高的耐久性,云存储厂商SwiftStack的CEO Joe Arnold介绍,英特尔已经开始致力于一些计划建议书和原型。
Arnold表示目标就是让纠删码数据和复制数据在相同的集群中共存。副本仍是Swift中的默认设置,因为这种方法在小范围中工作的更好,Arnold表示。副本模型需要更少的CPU支持,网络负担较轻,而且比纠删码方法提供了更简单的故障恢复处理。
“我们喜欢副本模型。因为操作简单、低延迟而且可用性高。在很多生产类型的Swift集群用例中匹配良好,”Arnold在电子邮件中写道,“但是为什么不在数据密度较小的需求出现时,提供副本的优势,以及纠删码在空间上的节省呢?”
纠删码主要的缺点在于在编码数据的写和解码的读操作上CPU占用过高。但是另一方面,研究分析公司Wikibon的CTO David Floyer表示,如果计算能力充足,用户可以更快恢复数据,而且拥有更精准的纠删码,抵抗多重系统损失。
“想用处理能力作为比额外的磁盘更廉价的方式提供保护吗?这就是折中方案,”Floyer说道,并指出摩尔定律将会持续削减处理能力的成本。他说引入纠删码代表对于OpenStack Swift对象存储的加强,而且为独立软件厂商(ISV)使用更多的应用类型打开大门。他期望在未来五到十年,看到更多的ISV尝试这种技术,有机会用新的应用增加对其的使用。“早起采用都不会太好,”Floyer预测。
Ashish Nadkarni是存储系统实践厂商International Data的研究总监,他表示商业的基于对象的存储产品厂商通常鄙视OpenStack Swift,因为其缺少纠删码支持。OpenStack Swift对于对象存储厂商是一种威胁,比如Amplidata、Cleversafe、EMC和Scality。
尽管纠删码对于Swift对象存储的支持者是好消息,潜在用户还需要静待时机的实施,因为做纠删码有很多困难,而且细节决定成败。OpenStack Swift宣布中并没有一个明确的时间表来体现纠删码工作的完成。SwiftStack的Arnold说上一份主要的开发工作是针对全球的复制集群,去年九月份已经开始,今年七月完成。他说纠删码也是Swift的一个里程碑。一旦这个项目完成,OpenStack Swift开发者计划提供纠删码使用建议,会考虑工作负载、数据生命周期和文件大小。