论文部分内容阅读
数据容量的爆炸式增长,使得多控制器、多节点的存储系统成为发展趋势,而这类存储系统往往面临着状态(即元数据)一致性问题。高维BWRAID是多控制器、多节点的集群存储系统,它是一种副本结合纠删码的网络RS-RAID,具有高性能、高磁盘空间利用率、高可靠的优良特性。高维BWRAID使用状态位图,采用两阶段提交方法解决副本转换纠删码过程中的Write Hole问题。它同样面临着跨节点多控制器间的状态一致性问题亟待解决。本文的主要贡献和创新点如下: 针对控制器失效接替问题,设计实现一致性状态同步机制。采用主从控制器的方式,结合状态同步时机与状态回滚策略,从同步次数和同步内容两个角度出发,设计了一种网络交互次数和传输量均为最低值的状态同步方案。同时实现了从控制器收到网络同步信息后操作的全异步化,减少了主控制器的网络同步等待时间。本机制中,条带的1次转换仅需2次网络交互,并且网络开销降低到了同类存储系统Hybrid-RAID网络开销的50%以下。测试结果表明,本机制对小粒度(不满条带粒度)写性能无影响;对于大粒度写,千兆网和万兆网环境下顺序写性能平均损失分别为8.39%和4.56%,随机写性能平均损失分别为11.74%和4.63%。这是一种网络交互次数少,同步内容少的低开销一致性状态同步机制,保障了控制器失效接替场景下的系统正确性。 针对全掉电重启时的状态丢失问题,设计实现一致性状态重建机制。提出属性位图方法,避免使用昂贵的NVRAM设备,也不直接持久化状态位图到普通磁盘。而是使用普通磁盘持久化属性位图,全掉电重启后通过属性位图根据判断规则恢复出状态位图。得益于精简配置设备的属性位的写时捎带下刷,和remap时捎带转移的功能设计,写流程未增加IO交互次数和网络交互次数。属性位图机制巧妙地结合了NVRAM和普通磁盘各自的优点,使得存储成本低,带宽开销少,时延影响小,并避免引入新的故障点。在全掉电重启的一致性状态重构流程中,恢复内存中的状态位图和属性位图的判断规则简单,操作步骤精简。相对NVRAM的状态持久化方案,存储成本降低了16.5%-22%。经测试,本机制对小粒度写性能无影响;对大粒度写,顺序写的平均性能损失为7.11%,随机写的损失为5.12%。模拟测试存储容量为1PB的16+4的网络RS-RAID系统,全掉电重启恢复一致性状态的时间为12s左右。这是一种存储成本低、性能影响小的低开销的状态重建机制,保障了在全掉电场景下的一致性状态恢复。 将上述两部分构成的状态一致性保障机制应用到高维BWRAID系统中,压力测试下系统整体写性能损失平均仅为5%-6%。高维BWRAID跨节点多控制器间的状态一致性保障机制,有效且低开销地解决了控制器失效接替和全掉电重启时的系统正确性问题。