时间:2022-07-07 14:00 所属分类:计算机论文 点击次数:
摘要:对于Ceph分布式存储设备数量大的分布式集群,发生故障是在所难免,也是其一大挑战。面对分布式存储出现的故障,系统怎么能快速的发现故障,定义类型,并且解决故障呢。在现在最经常使用的方法是RS纠删码,纠删码可以保证系统的可靠性,用低冗余的方法进行数据的恢复,纠删码修复数据之前,我们需要对节点进行更新,保证数据是最新的状态。对于常规的纠删码使用的延迟或者立即更新不太能满足对数据准确率和修复效率的要求。所以设计出了一套基于Ceph分布式数据纠删码更新优化策略。该方案利用阈值设计出更新触发时机,再利用立即延迟对数据混合更新的方式能更好的满足数据修复的准确性和效率。
关键词:Ceph;RS纠删码;阈值
0引言
纠删码技术因其较高的空间利用率和数据可靠性被广泛应用于分布式存储系统中。在实际的分布式存储系统中,纠删码数据的更新是一项较为频繁且涉及范围较广的操作[1],同时更新过程需要消耗较大的网络开销和完成复杂的计算。随着数据量的增大以及用户行为的多样化,多点更新逐渐成为了一种常态。相比于单点更新,纠删码的的多点更新表现出两个特点:一是更新过程中网络开销成倍增长,这是因为所有的待更新节点都需要向对应的编码节点传输数据[2],每增加一个待更新节点,编码节点的数据量就会明显;二是更新过程中的计算复杂度与计算量成倍增加,这时因为每个编码节点需要编码所有的待更新数据与原始编碼数据以获取更新的编码数据,每增加一个待更新节点,每个编码节点都需重新计算一遍。因此,多点更新过程中的网络开销和编码计算量成倍增加,极大限制了纠删码的广泛应用。这是因为,首先,随着数据量和节点数目的增大,分布式存储系统中的中较大的网络开销不仅会降低数据更新效率,同时也会影响其他应用的正常运行。其次,较为复杂的计算会占用节点较多的计算资源,进而造成更新效率的下降。因此,如何降低多点更新过程中的网络开销以及计算量以提高更新效率成为了新的挑战[3]。
1.策略优化
1.1数据更新触发
先确定输入的编码参数(n,k),n为总共的更新数据量,k为触发时的数据量,我们先定义一个hold组,设置hold组为DEFAULT_SIZE,判读更新时数据量m如果大于k,则缩小阈值大小hold+=hold,else if m<2.则扩大hold+=hlod,hold代表了时间间隔阈值,通过调整hold大小,可以映射出时间间隔,比如说五小时进行一次更新。
1.2.立即和延迟对节点进行数据更新
我们可以以时间间隔作为触发的指标,使系统能够精确的控制更新的触发时机,我们可以由及时更新和延时更新的结合示例图进行示例分析,及时更新和延时更新如图所示。
图1显示了3个待更新节点node0、node1、node2和3个待更新的编码节点parity0、parity1、parity2.再时刻t1.node0收到了更新的信息并完成了数据块的更新。再t2时刻,node1同node0一样完成了更新,并同时把D*1-D1发送到node0中,node0收到发送的信息通过:
合成临时的编码块 。在t3时刻,node2完成数据块的更新后也讲D*2-D2的信息发送至node0.然后node0通过:
合成临时的编码块 。若通过时间阈值设置到在时刻t4更新,node0将合成的临时模块 分别发送至node0、node1、node2.最后通过:
完成编码块的更新。此次数据就快速的进行了更新,也保证了数据块的一致性,编码块的快速性。
2实验结果与分析
使用对象从1000G到3500G对象大小来测试原生的系统和采用混合更新的纠删码策略。其更新时间如图1所示。
由图1可知,1500G之前原生系统和混合更新机制相差的更新时间差不多,是因为对象不够大,混合更新中延迟更新和立即更新的时间没有达到阈值。当对象数据够大的时候,该机制的优势就能大幅度体现出来。提升了8%左右。
3 结束语
本文针对海量的文件数据容错机制的研究,以Ceph为分布式系统,纠删码为容错机制为研究对象进行分布式系统的纠删码数据更新。对于纠删码修复数据之前,我们需要对节点进行更新,保证数据是最新的状态。在多点更新的场景下需要消耗大量的网络开销和完成成倍的计算,所以,怎么以低成本和高效的方式完成纠删码修复更新成为了新对挑战。对于纠删码种的数据块、编码块,它们对于数据的要求是不一样的,数据块需要的是数据的一致性,编码块需要的是它的更新效率,所以我们对此需要设计出一种更新效率的算法,对两种特性都能兼顾到,能更好的对数据进行高效率的更新。该混合更新的机制能更好的应对分布式的场景,减少系统更新时间,提高系统的性能。
参考文献
[1]钟凤艳,王艳,李念爽.异构环境下纠删码的数据修复方法综述[J].计算机应用研究,2019.36(08):2241-2249+2255.DOI:10.19734/j.issn.1001-3695.2018.04.0269.
[2]董妍,耿臻.纠删码系统中基于协作方式的更新方法[J].计算机工程与设计,2019.40(01):92-96.DOI:10.16208/j.issn1000-7024.2019.01.015.
[3]王意洁,孙伟东,周松,裴晓强,李小勇.云计算环境下的分布存储关键技术[J].软件学报,2012.23(04):962-986.
上一篇:云计算网络安全技术体系建设
下一篇:计算机和机网络机房维护措施