论文部分内容阅读
近年来随着信息化程度的不断提高,人们对计算存储资源的需求呈现出高速增长的趋势。而本地文件系统由于其性能、容量、可扩展性等诸多方面的限制,已经无法满足人们日益增长的存储需求,在此背景下,分布式文件系统应运而生。 在大规模分布式文件系统中,数据的安全性和可靠性是非常重要的。为了保证分布式文件系统能够迅速和有效地恢复损坏的数据,一种可靠的解决方法就是在集群环境中存储服务设备的不同节点上保存数据的副本。一般而言,副本数越多数据的可靠性越高,然而过多的副本对存储资源是极大的浪费而且对网络带宽的开销也非常大。为了维护系统多个副本之间的一致性,在修改副本以及恢复副本时,必须要更新所有的副本,这将产生很大的带宽开销。不仅如此,由于存放文件的节点分布范围比较广,读取以及修改数据的延迟会很大,若副本的放置不合理将会严重的影响I/O效率,降低系统性能。对于副本中这些可靠性、高效性、一致性、负载均衡等问题,以往的副本机制大都只能顾及到其中的某一个方面。 通过对特定文件系统布局方式的分析,设计了基于对象和一致性哈希的副本管理方法,在提高系统可靠性的同时保证了系统的整体性能,实现了节点间的负载均衡以及副本恢复的一致性。对于副本布局,在对象级别采用一致性哈希的方法。通过将文件分条,不同条带单元构成对象,以对象副本的方式分布到不同的存储节点,从而提高副本访问的并行性,维护了系统性能。一致性哈希的算法使得副本均匀的散列在存储节点上,保证了节点间的负载均衡。针对数据恢复,在分布式文件系统Cappella上进行了实现和优化,使得系统在存储节点失效时能够降级读写,通过多线程流水线的方式加快对象副本恢复速率,提高系统的可靠性。 对比测试表明Cappella的副本布局策略写操作性能得到保障,节点间的负载均衡性得到了有效的保证。在有节点失效的情况下可以正常的读写,数据恢复的性能也得到了一定的提升。