一种基于主备切换的MooseFS高可用方法及系统技术方案

技术编号:18240695 阅读:112 留言:0更新日期:2018-06-17 05:34
本发明专利技术公开了一种基于主备切换的MooseFS高可用方法,其中,包括:通过主备选举确定第一元数据节点为主元数据节点,第二元数据节点为备元数据节点;主元数据节点与多个数据节点进行数据传输,并实时将元数据同步到元数据同步模块,备元数据节点定期从所述元数据同步模块获取元数据;实时监测主元数据节点的工作状态,并判断主元数据节点的工作状态是否异常;若主元数据节点的工作状态异常,则控制重新进行主备选举;若备元数据节点选举成功,则将备元数据节点作为新的主元数据节点。本发明专利技术还公开了一种基于主备切换的MooseFS高可用系统。本发明专利技术提供的基于主备切换的MooseFS高可用方法实现了MooseFS的高可用。 1

A MooseFS high availability method and system based on main switch

The invention discloses a MooseFS high availability method based on master handover, which includes: determining the first metadata node as the main metadata node through the main preparation election, the second metadata node as the metadata node; the master metadata node carries out data transmission with multiple data nodes, and synchronize metadata to the number of metadata in real time. According to the synchronization module, the metadata node gets the metadata from the metadata synchronization module regularly, monitors the working state of the main metadata node in real time and determines whether the working state of the main metadata node is abnormal. If the main metadata node's working state is abnormal, the control is re elected, and if the metadata node is prepared. When the election is successful, metadata nodes will be used as new main metadata nodes. The invention also discloses a MooseFS high availability system based on main switch. The MooseFS high availability method based on main standby switching provided by the invention realizes high availability of MooseFS. One

【技术实现步骤摘要】
一种基于主备切换的MooseFS高可用方法及系统
本专利技术涉及分布式存储
,尤其涉及一种基于主备切换的MooseFS高可用方法及一种基于主备切换的MooseFS高可用系统。
技术介绍
MooseFS是一个开源的分布式文件系统,MooseFS主要采用主/从架构。其中,主表示元数据节点,称为master;从表示数据节点,称为chunkserver。元数据节点是MooseFS的核心,只有一个,它管理整个文件系统的元数据及客户端对文件系统的访问。数据节点存储实际的文件数据,并在不同节点之间同步数据副本,一般一个系统有多个数据节点。所有客户端的读写请求都需要经过元数据节点。MooseFS的主/从架构大大简化了设计。然而,如果唯一的元数据节点发生故障,整个系统就无法对外提供服务,客户端的所有读写请求将无法得到响应,这就是MooseFS的单点故障(SinglePointofFailure)问题。MooseFS的高可用指的是当元数据节点发生故障时仍能对外提供服务。然而,MooseFS只有一个元数据节点,没有备用节点。当该唯一的元数据节点发生故障时没有其他元数据节点能接替其工作,必然导致服务中断。服务不可用可能对企业带来巨大的损失。如图1所示,针对MooseFS元数据节点的单点故障问题,现有技术中通常是通过增加一个元数据备份节点,即metalogger。元数据节点master将元数据同步到元数据备份节点metalogger。当master出故障时,或者元数据丢失时,从metalogger所在节点拷贝元数据文件,然后重启元数据节点。图2所示为图1的结构在故障恢复时的工作过程,由图2可以看出,该方案中没有自动的故障发现机制,需要人工发现故障,故障发生后可能需要一段时间才能被发现,服务不可用的时间长。且该方案中的metalogger只是用来备份元数据,无法替代master(不具备响应客户端读写请求的功能)。故障恢复时需要重启master,master将元数据从本地加载到内存中需要耗费大量的时间(分钟级),导致长时间的服务不可用。该方案对人工运维的依赖性大,且故障恢复时间长。因此,如何能够实现自动故障检测以及故障恢复以实现MooseFS的高可用成为本领域技术人员亟待解决的技术问题。
技术实现思路
本专利技术旨在至少解决现有技术中存在的技术问题之一,提供一种基于主备切换的MooseFS高可用方法及一种基于主备切换的MooseFS高可用系统,以解决现有技术中的问题。作为本专利技术的第一个方面,提供一种基于主备切换的MooseFS高可用方法,其中,所述MooseFS包括元数据节点和多个数据节点,所述元数据节点包括第一元数据节点和第二元数据节点,所述基于主备切换的MooseFS高可用方法包括:通过主备选举确定所述第一元数据节点为主元数据节点,所述第二元数据节点为备元数据节点;所述主元数据节点与多个数据节点进行数据传输,并实时将元数据同步到元数据同步模块,所述备元数据节点定期从所述元数据同步模块获取元数据;实时监测所述主元数据节点的工作状态,并判断所述主元数据节点的工作状态是否异常;若所述主元数据节点的工作状态异常,则控制重新进行主备选举;若所述备元数据节点选举成功,则将所述备元数据节点作为新的主元数据节点。优选地,所述基于主备切换的MooseFS高可用方法还包括:若所述主元数据节点选举成功,则返回执行所述主元数据节点与多个数据节点进行数据传输,并实时将元数据同步到所述元数据同步模块,所述备元数据节点定期从所述元数据同步模块获取元数据。优选地,所述若所述备元数据节点选举成功,则将所述备元数据节点作为新的主元数据节点包括:若所述备元数据节点选举成功,且原主元数据节点的工作状态恢复正常,则将所述备元数据节点作为新的主元数据节点,将原主元数据节点作为新的备元数据节点,返回执行所述主元数据节点与多个数据节点进行数据传输,并实时将元数据同步到所述元数据同步模块,所述备元数据节点定期从所述元数据同步模块获取元数据。优选地,所述若所述备元数据节点选举成功,则将所述备元数据节点作为新的主元数据节点包括:若所述备元数据节点选举成功,且原主元数据节点的工作状态仍为异常,则将所述备元数据节点作为新的主元数据节点,与多个数据节点进行数据传输,并实时将元数据同步到所述元数据同步模块。优选地,所述基于主备切换的MooseFS高可用方法还包括在若所述主元数据节点的工作状态异常,则控制重新进行主备选举的步骤之前进行的:定时向所述主元数据节点发送心跳包,并接收反馈信息;若当前时刻发送的心跳包间隔第一阈值时间未接收到反馈信息,则判定所述主元数据接待你的工作状态异常。优选地,所述主备选举包括:所述第一元数据节点和所述第二元数据节点同时竞争创建锁节点;若所述第一元数据节点创建锁节点成功,则所述第一元数据节点选举成功,所述第一元数据节点被确定为主元数据节点;反之,所述第二元数据节点选举成功,所述第二元数据节点被确定为主元数据节点。优选地,所述主备选举还包括在若所述第一元数据节点创建锁节点成功,则所述第一元数据节点选举成功,所述第一元数据节点被确定为主元数据节点的步骤之后进行的:所述第二元数据节点在所述锁节点上设置监听;若所述主元数据节点的工作状态异常,则所述锁节点被删除,所述第二元数据节点接收到所述监听的通知后竞争创建新的锁节点;若所述第二元数据节点创建新的锁节点成功,则所述第二元数据节点选举成功,并被确定为新的主元数据节点。作为本专利技术的第二个方面,提供一种基于主备切换的MooseFS高可用系统,其中,所述基于主备切换的MooseFS高可用系统包括MooseFS、元数据同步模块、故障恢复控制模块和ZooKeeper集群,所述MooseFS包括元数据节点和多个数据节点,所述元数据节点包括第一元数据节点和第二元数据节点,所述元数据同步模块、所述故障恢复控制模块和所述数据节点均与所述第一元数据节点和所述第二元数据节点连接,所述ZooKeeper集群与所述故障恢复控制模块连接,所述第一元数据节点和所述第二元数据节点中的一个为主元数据节点,另一个为备元数据节点;所述主元数据节点用于与所述数据节点进行数据传输,并用于实时将元数据同步到所述元数据同步模块;所述备元数据节点用于定期从所述元数据同步模块获取元数据;所述故障恢复控制模块用于实时监测所述主元数据节点的工作状态,并判断所述主元数据节点的工作状态是否异常,以及用于若所述主元数据节点的工作状态异常,则控制重新进行主备选举,以及用于根据选举结果控制进行主备切换;所述ZooKeeper集群用于进行主备选举。优选地,所述元数据同步模块包括由奇数个节点组成的集群,所述集群间通过运行paxos算法对所述主元数据节点的元数据进行同步。优选地,所述故障恢复控制模块通过rpc对所述主元数据节点的工作状态和备元数据节点的工作状态进行监测。本专利技术提供的基于主备切换的MooseFS高可用方法,通过使用两个元数据节点,且其中一个元数据节点作为主元数据节点,另外一个作为备元数据节点。当主元数据节点出故障时,能够自动发现故障,并将备元数据节点切换为主元数据节点,继续对外提供服务,实现了MooseFS的高可用,整个故障恢复过程无需人工干预,且故障恢复时间短。附图本文档来自技高网
...
一种基于主备切换的MooseFS高可用方法及系统

【技术保护点】
1.一种基于主备切换的MooseFS高可用方法,其特征在于,所述MooseFS包括元数据节

【技术特征摘要】
1.一种基于主备切换的MooseFS高可用方法,其特征在于,所述MooseFS包括元数据节点和多个数据节点,所述元数据节点包括第一元数据节点和第二元数据节点,所述基于主备切换的MooseFS高可用方法包括:通过主备选举确定所述第一元数据节点为主元数据节点,所述第二元数据节点为备元数据节点;所述主元数据节点与多个数据节点进行数据传输,并实时将元数据同步到元数据同步模块,所述备元数据节点定期从所述元数据同步模块获取元数据;实时监测所述主元数据节点的工作状态,并判断所述主元数据节点的工作状态是否异常;若所述主元数据节点的工作状态异常,则控制重新进行主备选举;若所述备元数据节点选举成功,则将所述备元数据节点作为新的主元数据节点。2.根据权利要求1所述的基于主备切换的MooseFS高可用方法,其特征在于,所述基于主备切换的MooseFS高可用方法还包括:若所述主元数据节点选举成功,则返回执行所述主元数据节点与多个数据节点进行数据传输,并实时将元数据同步到所述元数据同步模块,所述备元数据节点定期从所述元数据同步模块获取元数据。3.根据权利要求1所述的基于主备切换的MooseFS高可用方法,其特征在于,所述若所述备元数据节点选举成功,则将所述备元数据节点作为新的主元数据节点包括:若所述备元数据节点选举成功,且原主元数据节点的工作状态恢复正常,则将所述备元数据节点作为新的主元数据节点,将原主元数据节点作为新的备元数据节点,返回执行所述主元数据节点与多个数据节点进行数据传输,并实时将元数据同步到所述元数据同步模块,所述备元数据节点定期从所述元数据同步模块获取元数据。4.根据权利要求1所述的基于主备切换的MooseFS高可用方法,其特征在于,所述若所述备元数据节点选举成功,则将所述备元数据节点作为新的主元数据节点包括:若所述备元数据节点选举成功,且原主元数据节点的工作状态仍为异常,则将所述备元数据节点作为新的主元数据节点,与多个数据节点进行数据传输,并实时将元数据同步到所述元数据同步模块。5.根据权利要求1至4中任意一项所述的基于主备切换的MooseFS高可用方法,其特征在于,所述基于主备切换的MooseFS高可用方法还包括在若所述主元数据节点的工作状态异常,则控制重新进行主备选举的步骤之前进行的:定时向所述主元数据节点发送心跳包,并接收反馈信息;若当前时刻发送的心跳包间隔第一阈值时间未接收到反馈信息,则判定所述主元数据接待你的工作状态异常。6.根据权利要求1...

【专利技术属性】
技术研发人员:林炳东赵旦谱台宪青
申请(专利权)人:江苏物联网研究发展中心
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1