《面向纠删码存储集群的节点并发重构  黄建忠 曹强 黄思倜 谢长生》

分布式存储具有很高的性价比和扩展性,已成为大规模数据中心的主流存储解耦股,然而,分布式存储系统包含大量存储节点,节点失效是经常性事件。为了避免数据丢失,通常采用副本进行容错,对于PB级以内的数据集而言,3副本方案所增加的2倍存储容量不是太大的问题。但对于PB级、EB级、ZB级存储系统来说,多副本方案的存储开销对硬件成本和运营开支产生巨大压力。而纠删编码具有高容错能力和地存储空间开销的优点【1】,已经成为大规模存储的基本容错方案。

    近年来纠删码存储研究得到学术界和工业界的广泛关注。国际学术会议(如USENIX FAST,USENIX ATC,IFIP DSN,ACM SOSP等)将纠删码相关研究列为征文主题;同时,出于存储成本和运营开支考虑,一些知名数据中心或云存储系统已大量采用纠删码集群存储方案来存放低访问频度数据(即冷数据),典型案例包括Google第2代文件系统GFS Ⅱ【2】、微软Azure云存储系统【3】、Facebook部署的HDFS-RAID【4】存储集群。

    存储可靠性与修复速度密切相关,对于纠删码存储集群来说,当节点失效时,加速节点恢复是非常重要的【5】。研究表明,容r错的纠删码集群存储中,系统MTTDL与节点恢复时间的r次方成反比【6】。与此同时,为2个或2个以上节点的并发回复进行重构优化也是非常必要的:一方面,最近研究表明小型集群系统同一时间发生双节点失效的累计分布函数值CDF大于30%【7】;另一方面,为了降低恢复成本,多容错系统会采取“延期修复”策略【8】,即单节点失效时系统并不即可启动重构,直至2个或2个以上节点失效时才启动重构过程,避免节点短时失效时导致不必要的频繁重构。

 

监狱存储可靠性的重要性,重构/恢复优化一直是纠删码存储的一个重要研究点。目前,纠删码存储主要包括基于总线的磁盘阵列、基于高速局域网的存储集群和基于互联网的云存储系统。

 

 

纠删码存储集群的失效节点恢复显得更加复杂,因为存储集群是通过网络互联,节点重构方案需要考虑磁盘访问、CPU计算和网络传输三方面因素,其中,网络传输往往是节点重构性能的决定性因素,对于纠删码集群存储下的重构优化,目前存在下列4类重构优化方案:

1.降低校验组规模

2.减少数据重构过程中重构I/O带宽

3.利用修复局部性

4.利用流水线式I/O

 

纠删码存储重构优化主要围绕编码和存储2个方面展开:1)从编码角度,设计新的纠删码;2)从存储角度,对重构I/O进行调度和控制