论文部分内容阅读
在全球数据量爆发式增长的大数据时代,将数据异地存储是存储大量数据的有效方法,而将数据异地备份能够达到容灾的目的。为了解决异地数据共享和同步的问题,广域存储系统便应需而生。由于广域网的网络不稳定,延迟高和带宽低等特点,副本策略便成为提高广域存储系统可用性和可靠性的有效方法。在使用副本策略的系统中,如何保证副本间正确且高效的协同工作是需要解决的关键问题。 广域文件系统GeoFS是一个用于广域数据共享与备份的存储系统。在可靠性和可用性方面,GeoFS采用站点级副本技术,提供容忍单站点故障的数据可靠性,以避免因电力或通讯等故障造成的应用数据访问中断。 然而,GeoFS的副本策略不能支持网络分区。当出现网络分区时,系统可能会产生“脑裂”,从而造成副本间数据不一致和数据丢失的后果。由于网络分区在广域网中是不可避免的现象,所以设计并实现一种适用于广域网的主从副本协同策略,实现主节点选择,对提升广域文件系统的可用性和可靠性具有关键的意义。 本文针对广域文件系统GeoFS的主从副本策略存在的问题,展开了深入研究,并调研了存储系统领域的副本管理技术。通过设计一种基于锁和授权机制的高可用主节点选择策略,有效地解决了广域文件系统GeoFS的主从副本策略存在的问题。 在功能方面,基于锁的主节点选择策略能够保证GeoFS系统不会出现“脑裂”。在性能方面,不同情况下,主节点切换时间消耗与不同因素有关。主副本成为主节点的情况中,若主从副本间不需要数据的同步,则时间消耗主要由获得锁的时耗决定,而获得锁的时耗主要与网络往返时延有关,在网络往返时延为20毫秒到50毫秒之间时,GeoFS的主从副本通常能够在几百毫秒以内完成主节点切换,若主从副本间需要数据的同步,则时间消耗主要由数据同步时耗决定;主副本故障,从副本接替成为主节点的情况中,主节点切换时耗则主要由锁的授权时间决定。 基于锁的主节点选择策略中,设计了独立的锁服务器模块-lock server,为了避免单点故障,lock server也采用了副本技术,lock server模块的副本管理方案基于paxos算法,实现了系统运行期间集群成员的添加和删除,保证了lock server的高可用性和高可靠性。