分布式文件系统和分布式文件系统的数据备份方法
技术领域
本发明属于数据存储技术领域,涉及一种分布式文件系统,以及分布式文件系统的数据备份方法。
背景技术
分布式文件系统与普通文件系统不同,分布式文件系统除了存储实际数据,还要存储标识数据所在副本位置的元数据。这意味着传统的只备份实际数据的方式对分布式文件系统并不适用,以数据块信息为例,数据块信息上标识有磁盘信息与存储节点信息,磁盘信息是唯一的,如果A地机房发生灾难,即使将数据块信息与数据都备份到B地,也无法找到匹配的磁盘,即备份过去的元数据无效;因此,分布式文件系统只能采用内部自有的备份机制对元数据和实际数据进行备份。
典型的GPFS用双重附带的RAID控制器,同时使用替代机制支持容错,Lustre提供两个MDS来支持元数据服务器的容错,同时支持MDS的并行化,而PVFS和NFS的设计没有考虑容错。
现有的分布式文件系统并没有考虑到异地容灾,但随着企业规模的扩展,用户原有意识中的数据备份已经无法满足关键业务对系统的可用性、实时性、安全性的需要。更重要的是备份的数据往往会因为各种因素而遭到毁坏,如地震、火灾、丢失等。
发明内容
发明目的:本发明的目的是为了解决现有技术中的分布式文件系统不具备异地容灾功能的问题,提供了一种安全、可靠的分布式文件系统,并提出了分布式文件系统的数据备份方法。
技术方案:本发明所述的分布式文件系统,其目的是这样实现的,
一种分布式文件系统,包括本地管理服务器Master、本地数据存储服务器ChunkServer、本地元数据日志服务器Metalogger、DNS智能解析器,所述本地管理服务器Master通过DNS智能解析器与用户端连接并提供用户端服务,同时通过指令管理本地数据存储服务器ChunkServer;所述本地元数据日志服务器Metalogger通过指令备份本地管理服务器Master的日志文件,所述分布式文件系统还包括异地管理服务器Master、异地数据存储服务器ChunkServer、异地元数据日志服务器Metalogger和文件同步服务器SyncServer,
所述异地元数据日志服务器Metalogger通过文件同步服务器SyncServer同步本地元数据日志服务器Metalogger的日志文件;
所述异地数据存储服务器ChunkServer通过文件同步服务器SyncServer同步本地数据存储服务器ChunkServer的数据;
当本地管理服务器Master、本地数据存储服务器ChunkServer、本地元数据日志服务器Metalogger宕机时,所述DNS智能解析器将用户端切换到与异地管理服务器Master连接,通过异地管理服务器Master管理用户端,提供用户端与本地管理服务器Master同样的服务。
一种分布式文件系统的数据备份方法,包括以下步骤:
①系统初始化;
②文件同步服务器SyncServer向本地管理服务器Master发送访问请求;
③本地管理服务器Master在接收到请求时生成changelog日志,提取并解析changelog日志中的关键字,将结果存入文件同步服务器SyncServer的文件操作表中,在文件操作表中设置一个计数值,对在这个值范围内的同一文件操作进行合并,生成文件操作聚合表;所述文件同步服务器SyncServer取出文件操作聚合表中的内容,并执行相应的操作,包括:
将本地元数据日志服务器Metalogger的日志文件备份至异地元数据日志服务器Metalogger;
将本地数据存储服务器ChunkServer的数据备份至异地数据存储服务器ChunkServer;
④文件同步服务器SyncServer定期对本地元数据日志服务器Metalogger和异地元数据日志服务器Metalogger的日志文件进行对比,如发现本地元数据日志服务器Metalogger的日志文件增多时,进行步骤②-③的过程,其中,步骤③中,对新生成的changelog日志进行提取并解析,对原来的changelog日志不再进行操作,采用增量同步方式同步数据,提高了同步效率。
有益效果:本发明所述的分布式文件系统通过在不同地点建立备份系统,将本地的数据实时备份到异地服务器中,可以通过异地备份的数据进行远程恢复,也可以在异地进行数据回退,异地备份,从而进一步提高数据抵抗各种可能安全因素的容灾能力,提高了系统的安全性和可靠性。
本发明所述的分布式文件系统的数据备份方法,在系统初始化时,采用全量同步方式进行多线程备份;在系统初始化后,对changelog日志采用增量同步方式,只对增量部分进行备份,没有重复的备份数据,提高了同步效率。
附图说明
图1是本发明所述的分布式文件系统的结构示意图;
图2是本发明所述的分布式文件系统的数据备份方法的流程示意图。
具体实施方式
为了加深对本发明的理解,下面将结合实施例和附图对本发明作进一步详述,该实施例仅用于解释本发明,并不构成对本发明保护范围的限定。
参见图1图2所示,一种分布式文件系统,用于生产中心的文件灾备系统,包括设置于生产中心的本地管理服务器Master、本地数据存储服务器ChunkServer、本地元数据日志服务器Metalogger,设于灾备中心的异地管理服务器Master、异地数据存储服务器ChunkServer、异地元数据日志服务器Metalogger,连接本地管理服务器Master与异地管理服务器Master的文件同步服务器SyncServer,以及与本地管理服务器Master和异地管理服务器Master均相连的DNS智能解析器和用户端。
所述本地管理服务器Master通过DNS智能解析器与用户端连接并提供用户端服务,同时通过指令管理本地数据存储服务器ChunkServer;
所述本地元数据日志服务器Metalogger通过指令备份本地管理服务器Master的日志文件;
所述异地元数据日志服务器Metalogger通过文件同步服务器SyncServer同步本地元数据日志服务器Metalogger的日志文件;
所述异地数据存储服务器ChunkServer通过文件同步服务器SyncServer同步本地数据存储服务器ChunkServer的数据;
当本地管理服务器Master、本地数据存储服务器ChunkServer、本地元数据日志服务器Metalogger宕机时,所述DNS智能解析器将用户端切换到与异地管理服务器Master连接,通过异地管理服务器Master管理用户端,由于异地元数据日志服务器Metalogger的日志文件与本地元数据日志服务器Metalogger的日志文件相同,异地数据存储服务器ChunkServer的数据与本地数据存储服务器ChunkServer的数据相同,故提异地管理服务器Master能提供给用户端与本地管理服务器Master同样的服务。
参照图2,其数据备份方法如下:
系统建成初期,完成以下步骤:
S1.系统初始化,系统各部分加电连接,此时各部分均正常连接;
S2.文件同步服务器SyncServer向本地管理服务器Master发送访问请求,具体为文件同步服务器SyncServer向本地管理服务器Master发送报文,请求changelog日志数据;
S3.本地管理服务器Master在接收到请求后,从固化文件池中取出批量的数据发送给文件同步服务器SyncServer(图2中线程1);同时本地管理服务器Master将changelog日志内容写入缓存,当缓存写满时,自动将内容按行追加到固化文件池队尾,固化文件池按照先进先出原则,逐一记录changelog日志中的各项系统指令(图2中线程2);
S4.文件同步服务器SyncServer提取并解析changelog日志中的关键字,将结果存入文件同步服务器SyncServer的文件操作表中,在文件操作表中设置一个计数值,对在这个值范围内的同一文件操作进行合并,生成文件操作聚合表;所述文件同步服务器SyncServer取出文件操作聚合表中的内容,并执行相应的操作,包括:
将本地元数据日志服务器Metalogger的日志文件通过同步工具备份至异地元数据日志服务器Metalogger;
将本地数据存储服务器ChunkServer的数据通过同步工具备份至异地数据存储服务器ChunkServer;
S5.文件同步服务器SyncServer定期对本地元数据日志服务器Metalogger和异地元数据日志服务器Metalogger的日志文件进行对比,如发现本地元数据日志服务器Metalogger的日志文件增多时,进行步骤S2-S3的过程,其中,步骤S3中,对新生成的changelog日志进行提取并解析,对原来的changelog日志不再进行操作,采用增量同步方式提高了同步效率性能。
正常应用时,用户端通过DNS智能解析器与生产中心的本地管理服务器Master通信;当系统中生产中心的本地管理服务器Master、本地数据存储服务器ChunkServer、本地元数据日志服务器Metalogger宕机时,DNS智能解析器将用户端切换到与异地管理服务器Master连接,通过异地管理服务器Master管理用户端,由于异地元数据日志服务器Metalogger的日志文件与本地元数据日志服务器Metalogger的日志文件相同,异地数据存储服务器ChunkServer的数据与本地数据存储服务器ChunkServer的数据相同,故提异地管理服务器Master能提供给用户端与本地管理服务器Master同样的服务。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。