一种服务器切换方法,MooseFS系统及存储介质与流程

文档序号:31709563发布日期:2022-10-04 16:54阅读:73来源:国知局
一种服务器切换方法,MooseFS系统及存储介质与流程
一种服务器切换方法,moosefs系统及存储介质
技术领域
1.本发明涉及分布式存储技术领域,尤其涉及一种服务器切换方法,moosefs系统及存储介质。


背景技术:

2.分布式存储是指将多台单机连接起来组成的一个存储集群,可以合并所有机器的存储和读写能力。moosefs系统是一种分布式文件系统,通过将文件存储于集群中,解决了单个机器的存储容量受限的问题,同时通过网络介质解决单个机器自身吞吐量的限制,多副本机制保障了数据安全,且系统扩容方便。
3.支持ip的动态替换(ucarp)是共用地址冗余协议(common access redundancy protocol,carp)的linux实现版本,ucarp允许主服务器和其它服务器共享一个虚拟网络互联协议(internet protocol,ip)地址,并且当主服务器出现故障时,其它服务器会自动接替主服务器向集群提供服务。
4.然而,在实际应用中,通常会出现误判主服务器出现故障的现象,此时主服务器仍然正常运行并向集群提供服务,但是ucarp却判定由其它服务器接替主服务器向集群提供服务,使得其它服务器同主服务器争抢资源,进而造成moosefs系统状态混乱,数据损坏的问题。


技术实现要素:

5.本技术实施例提供了一种服务器切换方法,moosefs系统及存储介质,能够避免moosefs系统中主备节点争抢资源,而造成moosefs系统状态混乱,数据损坏的问题,进而有效实现moosefs系统的高可用。
6.本技术实施例的技术方案是这样实现的:
7.第一方面,本技术实施例提供了一种服务器切换方法,所述方法应用于moosefs系统,其中,所述moosefs系统包括:主服务器、备份服务器以及集群监控模块,所述方法包括:
8.当所述备份服务器监控到所述主服务器运行异常时,向所述集群监控模块发送查询请求;其中,所述查询请求携带所述主服务器的标识信息;
9.所述集群监控模块根据所述标识信息确定所述主服务器对应的第一服务信息;其中,所述第一服务信息表征所述主服务器的实际运行状态;
10.所述集群监控模块向所述备份服务器发送查询响应;其中,所述查询响应携带所述第一服务信息;
11.所述主服务器和所述备份服务器根据所述第一服务信息,确定是否进行服务器切换。
12.第二方面,本技术实施例提供了一种moosefs系统,其特征在于,所述moosefs系统包括:主服务器、备份服务器、以及集群监控模块,其中:
13.所述主服务器,用于管理所述moosefs系统,并与所述数据节点进行数据传输;
14.所述备份服务器,用于监控所述主服务器的运行状态,并保存所述主服务器中的元数据;
15.所述集群监控模块,用于监控所述主服务器和所述数据节点的实际运行状态。
16.第三方面,本技术实施例提供了一种moosefs系统,所述moosefs系统包括:主服务器、备份服务器以及集群监控模块,所述moosefs系统还包括处理器、存储有所述处理器可执行指令的存储器,当所述指令被所述处理器执行时,实现如上所述的服务器切换方法。
17.第四方面,本技术实施例提供了一种计算机可读存储介质,其上存储有程序,应用于moosefs系统中,所述moosefs系统包括:主服务器、备份服务器以及集群监控模块,其特征在于,所述程序被处理器执行时,实现如上所述的服务器切换方法。
18.本技术实施例提供了一种服务器切换方法,moosefs系统及存储介质,moosefs系统包括主服务器、备份服务器以及集群监控模块,当备份服务器监控到主服务器运行异常时,向集群监控模块发送查询请求;其中,查询请求携带主服务器的标识信息;集群监控模块根据标识信息确定主服务器对应的第一服务信息;其中,第一服务信息表征主服务器的实际运行状态;集群监控模块向备份服务器发送查询响应;其中,查询响应携带第一服务信息;主服务器和备份服务器根据第一服务信息,确定是否进行服务器切换。也就是说,在本技术的实施例中,moosefs系统中的备份服务器在确定主服务器的当前状态为异常时,并没有直接执行服务器切换处理,而是先通过集群监控模块获取主服务器对应的第一服务信息,通过第一服务信息确定主服务器的实际运行状态,进而确定是否执行服务器切换处理。可见,如果在主节点正常管理整个moosefs系统的进程中,出现了主备节点之间的通讯中断等异常情况,moosefs系统通过集群监控模块对主备节点的监控,就可以防止此时备节点对主节点的状态产生误判而争抢资源、争抢服务,进而避免moosefs系统发生状态混乱,数据损坏的情况,保证了moosefs系统的高可用。
附图说明
19.图1为本技术实施例提出的moosefs系统的组成结构示意图一;
20.图2为本技术实施例提出的服务器切换方法的实现流程示意图一
21.图3为本技术实施例提出的服务器切换方法的实现流程示意图二;
22.图4为本技术实施例提出的moosefs系统的组成结构示意图二;
23.图5为本技术实施例提出的服务器切换方法的实现流程示意图三;
24.图6为本技术实施例提出的服务器切换方法的实现流程示意图四;
25.图7为本技术实施例提出的moosefs系统的组成结构示意图三;
26.图8为本技术实施例提出的服务器切换方法的实现流程示意图五;
27.图9为本技术实施例提出的服务器切换方法的实现流程示意图六;
28.图10为本技术实施例提出的服务器切换方法的实现流程示意图七;
29.图11为本技术实施例提出的服务器切换方法的实现流程示意图八;
30.图12为本技术实施例提出的moosefs系统的组成结构示意图四;
31.图13为本技术实施例提出的moosefs系统的组成结构示意图五;
32.图14为本技术实施例提出的moosefs系统的组成结构示意图六。
具体实施方式
33.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关申请相关的部分。
34.目前,随着互联网技术的发展和各类信息系统的逐步深入,新的数据源不断涌现,业务数据数量的逐渐增大,对非结构化文件存储的需求显著增大。然而,传统的集中式存储通常采用存储区域网络(storage area network,san)和网络接入存储(network attached storage,nas)等高端存储来应对数据的爆发增长,由于这类存储的空间和容量不能随意扩展,提升设备需要高昂的金钱成本,且存在存储效率低、横向扩展功能不足、负载均衡能力差以及并发访问性能低等缺点,分布式存储的引入能够很好地解决传统san,nas等存储存在的难题。
35.moosefs系统是一种分布式文件系统,通过moosefs系统自带的客户端进行文件分配存储,代替传统的直接存储本地磁盘的方式。但moosefs系统的整体故障率较高,可能会出现主备节点通讯不通等异常情况下所引发的脑裂问题,从而造成moosefs系统状态混乱,数据损坏的情况,为保障moosefs系统在面对上述异常情况下不发生重要数据丢失,持续为用户提供服务,提升moosefs系统整体的高可用性,就成为一个亟待解决的技术问题。
36.为了解决现有的moosefs系统所存在的问题,本技术实施例提供了一种服务器切换方法,moosefs系统及存储介质,且基于moosefs 3.0机制做出脚本调整。具体地,moosefs系统包括主服务器、备份服务器以及集群监控模块。当备份服务器监控到主服务器运行异常时,向集群监控模块发送查询请求;其中,查询请求携带主服务器的标识信息;集群监控模块根据标识信息确定主服务器对应的第一服务信息;其中,第一服务信息表征主服务器的实际运行状态;集群监控模块向备份服务器发送查询响应;其中,查询响应携带第一服务信息;主服务器和备份服务器根据第一服务信息,确定是否进行服务器切换。从而防止在网络通讯出现异常的情况下,备节点对主节点的状态产生误判,而争抢资源、争抢服务引发脑裂问题,进而防止moosefs系统发生状态混乱,数据损坏的情况,保证了moosefs系统的高可用。
37.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
38.实施例一
39.本技术实施例提供了一种服务器切换方法,该服务器切换方法应用于moosefs系统中,图1为moosefs系统的组成结构示意图一,如图1所示,moosefs系统10可以包括主服务器11、备份服务器12以及集群监控模块13。
40.在本技术的实施例中,主服务器11负责维护整个moosefs系统10的命名空间,并暴露给用户使用,用于与多个数据节点进行数据传输,并管理整个moosefs系统10。
41.备份服务器12与主服务器11连接,可以在主服务器出现故障时,执行主备切换,接管主服务器11的工作,并且备份服务器12可以实时同步主服务器11的元数据,采用rsync和sersync架构,同步发生变化的文件或目录,不仅传输速率高,还能达到元数据实时同步并备份的目的。
42.集群监控模块13用于监控主服务器11和备份服务器12,通过对主服务器、备份服
务器的实时监控,防止出现某些异常情况,如通讯不通的情况时,备份服务器对主服务器的状态产生误判,误认为主服务器此时出现故障,而争抢资源、争抢服务引发脑裂问题,从而达到预防moosefs系统10发生状态混乱,数据损坏的效果。
43.本技术实施例提供了一种服务器切换方法,图2为本技术实施例提出的服务器切换方法的实现流程示意图一,如图2所示,在本技术的实施例中,服务器切换方法可以包括以下步骤:
44.步骤101、当备份服务器监控到主服务器运行异常时,向集群监控模块发送查询请求,其中,查询请求携带主服务器的标识信息。
45.在本技术的实施例中,moosefs系统中的备份服务器可以先基于心跳监测机制实时监测主服务器,当备份服务器基于心跳监测机制确定主服务器的当前状态为异常时,备份服务器就会向集群监控模块请求查询主服务器的当前状态,即向集群监控模块发送查询请求,其中,查询请求携带主服务器的标识信息。
46.需要说明的是,在本技术的实施例中,备份服务器基于心跳监测机制向主服务器定时发送心跳包,并接收反馈信息,如果发送的心跳包在预设时间内未收到反馈信息,则判断主服务器当前状态为异常。进而向集群监控模块发送查询请求,其中,查询请求携带主服务器的标识信息。
47.在本技术的实施例中,查询请求可以用于获取主服务器的服务状态。具体地,当备份服务器在预设时间内未收到反馈信息,判断主服务器当前状态为异常时,备份服务器通过请求集群监控模块发送其监测到的主服务器的第一服务信息,就可以根据接收到的第一服务信息明确主服务器的服务状态。
48.在本技术的实施例中,标识信息可以用于表征主服务器的身份信息,进而,集群监控模块可以在其获取并存储的所有节点的服务信息中,根据备份服务器发送的标识信息确定主服务器对应的第一服务信息。标识信息的设置方式本技术不做具体限制。
49.需要说明的是,由于备份服务器基于心跳监测机制对主服务器的监测可能会由于主备之间通讯中断而造成误判,所以当备份服务器判断主服务器此时可能存在故障时,需要向集群监控模块发送查询请求,以明确此时主服务器的真实状态,而不是直接根据故障判断执行主备切换。
50.步骤102、集群监控模块根据标识信息确定主服务器对应的第一服务信息;其中,第一服务信息表征主服务器的实际运行状态。
51.在本技术的实施例中,当备份服务器基于心跳监测机制确定主服务器的当前状态为异常时,备份服务器向集群监控模块发送查询请求,moosefs系统中的集群监控模块在接收到备份服务器发送的、携带有标识信息的查询请求之后,可以根据标识信息进一步确定主服务器的第一服务信息。
52.在本技术的实施例中,主服务器的第一服务信息可以是集群监控模块对主服务器进行监控获得的第一服务信息,是根据主服务器上运行的所有服务生成的第一服务信息,其表示除了备份服务器对主服务器监测获得的当前状态信息以外,由处于备份服务器上层的集群监控模块对主服务器的监控所获得的另一种服务状态信息,即第一服务信息,第一服务信息用于指示主服务器的实际运行状态。
53.示例性的,在本技术的实施例中,集群监控模块在根据标识信息确定主服务器对
应的第一服务信息时,集群监控模块可以一直对主服务器的服务状态进行监控,并同时按照标识信息存储第一服务信息,当集群监控模块接收到备份服务器发送的查询请求后,就可以根据查询请求中携带的标识信息,定位到集群监控模块中预先存储的对应的第一服务信息;集群监控模块也可以不预先存储第一服务信息,根据标识信息直接查询主服务器此时的第一状态信息。
54.示例性的,在本技术的实施例中,集群监控模块在根据标识信息确定主服务器对应的第一服务信息时,集群监控模块可以对主服务器进行监控获得第一服务信息,进而根据第一服务信息对主服务器的服务状态进行确定,尤其是当备份服务器对主服务器的当前服务状态产生故障判断时,需要根据集群监控模块发送的第一服务信息对主服务器的服务状态进行更客观的判断与确定。
55.步骤103、集群监控模块向备份服务器发送查询响应,其中,查询响应携带第一服务信息。
56.在本技术的实施例中,集群监控模块根据标识信息确定主服务器对应的第一服务信息以后,响应备份服务器发送的查询请求,向备份服务器发送携带第一服务信息的查询响应,从而备份服务器可以获取由集群监控模块监测到的主服务器的第一服务信息。
57.步骤104、主服务器和备份服务器根据第一服务信息,确定是否进行服务器切换。
58.在本技术的实施例中,集群监控模块向备份服务器发送查询响应之后,主服务器和备份服务器根据第一服务信息,确定是否进行服务器切换。
59.在本技术的实施例中,服务器切换是指对备份服务器和主服务器进行切换,利用备份服务器接替主服务器的工作,进而为系统提供服务。
60.需要说明的是,由于第一服务信息表征主服务器的实际运行状态,因此主服务器和备服务器可以基于第一服务信息确定服务器是否需要进行服务器切换,若根据第一服务信息判定需要进行服务器切换,则执行服务器切换,由备份服务器接替主服务器的工作,若根据第一服务信息判定无需进行服务器切换,则不执行服务器切换。
61.图3为本技术实施例提出的服务器切换方法的实现流程示意图二,如图3所示,在本技术的实施例中,主服务器和备份服务器根据第一服务信息,确定是否进行服务器切换,即步骤104可以包括以下步骤:
62.步骤104a、若备份服务器接收到的第一服务信息为正常,则主服务器和备份服务器不执行服务器切换处理。
63.在本技术的实施例中,主服务器和备份服务器根据第一服务信息,确定是否进行服务器切换,如果备份服务器确定此时主服务器的第一服务信息为正常,那么主服务器和备份服务器不执行服务器切换处理。
64.在本技术的实施例中,若备份服务器获取到的第一服务信息为正常,则表示备份服务器可能对主服务器当前服务状态存在误判,即主服务器并没有出现故障,可能是由于主服务器和备份服务器之间通讯不通,备份服务器没有接收到主服务器反馈回来的信息,而导致备份服务器误认为主服务器状态异常。由此,依据获得的第一服务信息,备份服务器可以确定主服务器是正常运行状态,从而主服务器和备份服务器不执行服务器切换处理,避免了在通讯不通的情况下引发脑裂问题造成系统混乱,数据丢失的问题,保障了moosefs系统的高可用。
65.在本技术的实施例中,当主服务器由于负载过高而导致暂时无响应,即出现主服务假死的情况时,也会导致备份服务器判断主服务器已经宕机,而造成误判,从而可能引发脑裂问题。具体的故障信息本技术不做限制。
66.步骤104b、若备份服务器接收到的第一服务信息为异常,则主服务器和备份服务器执行服务器切换处理。
67.在本技术实施例中,集群监控模块向备份服务器发送查询响应,其中,查询响应携带第一服务信息,若备份服务器接收到的查询响应中,显示第一服务信息为异常,则表明主服务器当前状态确实为异常,则主服务器和备份服务器执行服务器切换处理,由备份服务器接管主服务器工作,从而减少了moosefs系统的故障处理时间,保证了moosefs系统的高可用。
68.本技术实施例提供了一种服务器切换方法,moosefs系统及存储介质,moosefs系统包括主服务器、备份服务器以及集群监控模块,当备份服务器监控到主服务器运行异常时,向集群监控模块发送查询请求;其中,查询请求携带主服务器的标识信息;集群监控模块根据标识信息确定主服务器对应的第一服务信息;其中,第一服务信息表征主服务器的实际运行状态;集群监控模块向备份服务器发送查询响应;其中,查询响应携带第一服务信息;主服务器和备份服务器根据第一服务信息,确定是否进行服务器切换。也就是说,在本技术的实施例中,moosefs系统中的备份服务器在确定主服务器的当前状态为异常时,并没有直接执行服务器切换处理,而是先通过集群监控模块获取主服务器对应的第一服务信息,通过第一服务信息确定主服务器的实际运行状态,进而确定是否执行服务器切换处理。可见,如果在主节点正常管理整个moosefs系统的进程中,出现了主备节点之间的通讯中断等异常情况,moosefs系统通过集群监控模块对主备节点的监控,就可以防止此时备节点对主节点的状态产生误判而争抢资源、争抢服务,进而避免moosefs系统发生状态混乱,数据损坏的情况,保证了moosefs系统的高可用。
69.实施例二
70.基于上述实施例一,在本技术的再一实施例中,图4为moosefs系统的组成结构示意图二,如图4所示,moosefs系统10中的集群监控模块13可以包括服务监控子模块131、阈值监控子模块132、信息存储子模块133、全局监控子模块134。
71.图5为本技术实施例提出的服务器切换方法的实现流程示意图三,如图5所示,集群监控模块根据标识信息确定主服务器对应的第一服务信息的方法包括以下步骤:
72.步骤102a、服务监控子模块基于心跳监测机制对主服务器进行服务状态监测,获取至少一个服务对应的至少一个服务信息;其中,一个服务对应一个服务信息。
73.需要说明的是,在本技术的实施例中,主服务器的至少一个服务可以包括存储心跳信息服务、moosefs系统运行日志存储服务以及moosefs系统数据节点服务等多个服务中的至少一个,本技术不作具体限定。
74.步骤102b、若至少一个服务信息均为正常,则确定第一服务信息为正常。
75.步骤102c、若至少一个服务信息中的任一个服务信息为异常,则确定第一服务信息为异常。
76.示例性的,在本技术中,如果服务监控子模块监测获得的主服务器的存储心跳信息服务、moosefs系统运行日志存储服务以及moosefs系统数据节点服务均为正常,才认为
此时主服务器的第一服务信息为正常。
77.进一步地,在本技术的实施例中,集群监控模块中的信息存储子模块可以接收服务监控子模块发送的主服务器对应的心跳监测文件,并存储心跳监测文件。
78.需要说明的是,在本技术的实施例中,信息存储子模块在预先建立的共享目录中存放心跳监测文件,即服务心跳相关信息,信息存储子模块服务于服务监控子模块。
79.图6为本技术实施例提出的服务器切换方法的实现流程示意图四,如图6所示,集群监控模块根据标识信息确定主服务器对应的第一服务信息的方法还包括以下步骤:
80.步骤102d、集群监控模块获取信息存储子模块存储的主服务器对应的心跳监测文件。
81.在本技术的实施例中,信息存储子模块接收服务监控子模块发送的主服务器对应的心跳监测文件,并存储心跳监测文件。当集群监控模块需要获取心跳监测文件时,就可以从信息存储子模块中获取心跳监测文件。
82.步骤102e、集群监控模块根据心跳维护文件和心跳监测文件进行校验处理,获得校验结果。
83.在本技术的实施例中,在集群监控模块获取了心跳监测文件之后,就可以根据心跳维护文件和心跳监测文件进行校验处理,并获得校验结果。
84.需要说明的是,在本技术的实施例中,心跳维护文件是备份服务器基于心跳监测机制获得的主服务器的心跳信息。
85.需要说明的是,在本技术的实施例中,心跳监测文件是集群监控模块中的服务监控子模块获得的主服务器对应的心跳监控信息。
86.步骤102f、若校验结果为校验成功,则确定主服务器对应的第一服务信息为正常。
87.步骤102g、若校验结果为校验失败,则确定主服务器对应的第一服务信息为异常。
88.在本技术的实施例中,集群监控模块根据心跳维护文件和心跳监测文件进行校验处理,如果校验结果为校验成功,则确定主服务器的第一服务信息为正常;如果校验结果为校验失败,则确定主服务器对应的第一服务信息为异常。
89.在本技术的实施例中,校验成功是指通过心跳维护文件和心跳监测文件进行对比或校验后,发现心跳监测文件显示主服务器的第一服务信息为正常,即可以确定心跳维护文件所显示的主服务器状态异常可能出现误判,主服务器此时应当为正常的服务状态,则结果为校验成功;校验失败是指通过心跳维护文件和心跳监测文件进行对比或校验后,依然发现心跳监测文件显示主服务器的第一服务信息为异常,则可以确定主服务器此时确实存在异常,即结果为校验失败。
90.本技术实施例提供了一种服务器切换方法,moosefs系统及存储介质,moosefs系统包括主服务器、备份服务器以及集群监控模块,当备份服务器监控到主服务器运行异常时,向集群监控模块发送查询请求;其中,查询请求携带主服务器的标识信息;集群监控模块根据标识信息确定主服务器对应的第一服务信息;其中,第一服务信息表征主服务器的实际运行状态;集群监控模块向备份服务器发送查询响应;其中,查询响应携带第一服务信息;主服务器和备份服务器根据第一服务信息,确定是否进行服务器切换。也就是说,在本技术的实施例中,moosefs系统中的备份服务器在确定主服务器的当前状态为异常时,并没有直接执行服务器切换处理,而是先通过集群监控模块获取主服务器对应的第一服务信
息,通过第一服务信息确定主服务器的实际运行状态,进而确定是否执行服务器切换处理。可见,如果在主节点正常管理整个moosefs系统的进程中,出现了主备节点之间的通讯中断等异常情况,moosefs系统通过集群监控模块对主备节点的监控,就可以防止此时备节点对主节点的状态产生误判而争抢资源、争抢服务,进而避免moosefs系统发生状态混乱,数据损坏的情况,保证了moosefs系统的高可用。
91.实施例三
92.基于上述实施例一和二,在本技术的另一实施例中,图7为本技术实施例提出的moosefs系统方法的组成结构示意图三,如图7所示,moosefs系统10还包括数据节点14。
93.需要说明的是,在本技术的实施例中,moosefs系统中还可以包括多个数据节点14,用于提供真实文件数据的存储服务。
94.图8为本技术实施例提出的服务器切换方法的实现流程示意图五,如图8所示,在本技术的实施例中,服务器切换方法可以包括以下步骤:
95.步骤201、服务监控子模块基于心跳监测机制对数据节点进行监测,获得数据节点对应的第二服务信息。
96.在本技术的实施例中,moosefs系统中还包括多个数据节点,服务监控子模块还同时对系统中多个数据节点进行监控,并获得多个数据节点的第二服务信息,第二服务信息表征数据节点的服务状态。
97.需要说明的是,本技术实施例中,数据节点可以使用双网卡绑定技术,不仅可以提高网络传输速度,还可以确保当其中一块网卡出现故障,依然可以实现正常高效的工作。示例性的,当某个数据节点的一块网卡发生故障时,另一块立刻接管全部负载,使得服务不被中断,并等待维修人员进行后续维修,从而保证系统整体的正常使用。
98.步骤202、若第二服务信息为中止,则执行服务拉起处理,并重新对数据节点进行监测,获得更新后第二服务信息。
99.步骤203、若更新后第二服务信息为中止,则进行报警处理。
100.在本技术的实施例中,服务监控子模块基于心跳监测机制对数据节点进行监测,获得数据节点对应的第二服务信息以后,如果发现第二服务状态为中止,则对第二服务进行拉起;如果第二服务状态为无法再次启动,则进行报警处理。
101.在本技术的实施例中,如果第二服务信息为中止,则执行服务拉起处理,并重新对数据节点进行监测,获得更新后第二服务信息;若更新后第二服务信息为中止,则进行报警处理。
102.进一步地,在本技术的实施例中,集群监控模块中的信息存储子模块可以接收服务监控子模块发送的数据节点对应的第二服务信息,并存储第二服务信息。
103.在本技术的实施例中,在服务监控子模块基于心跳监测机制对数据节点进行监测,获得数据节点对应的第二服务信息并进行处理后,信息存储子模块还用于对数据节点的第二服务信息进行存储。
104.本技术实施例提供了一种服务器切换方法,moosefs系统及存储介质,moosefs系统包括主服务器、备份服务器以及集群监控模块,当备份服务器监控到主服务器运行异常时,向集群监控模块发送查询请求;其中,查询请求携带主服务器的标识信息;集群监控模块根据标识信息确定主服务器对应的第一服务信息;其中,第一服务信息表征主服务器的
实际运行状态;集群监控模块向备份服务器发送查询响应;其中,查询响应携带第一服务信息;主服务器和备份服务器根据第一服务信息,确定是否进行服务器切换。也就是说,在本技术的实施例中,moosefs系统中的备份服务器在确定主服务器的当前状态为异常时,并没有直接执行服务器切换处理,而是先通过集群监控模块获取主服务器对应的第一服务信息,通过第一服务信息确定主服务器的实际运行状态,进而确定是否执行服务器切换处理。可见,如果在主节点正常管理整个moosefs系统的进程中,出现了主备节点之间的通讯中断等异常情况,moosefs系统通过集群监控模块对主备节点的监控,就可以防止此时备节点对主节点的状态产生误判而争抢资源、争抢服务,进而避免moosefs系统发生状态混乱,数据损坏的情况,保证了moosefs系统的高可用。
105.实施例四
106.基于上述实施例一至三,在本技术的另一实施例中,图9为本技术实施例提出的服务器切换方法的实现流程示意图六,如图9所示,在本技术的实施例中,服务器切换方法还可以包括以下步骤:
107.步骤301、阈值监控子模块获取主服务器对应的第一状态参数。
108.在本技术的实施例中,阈值监控子模块可以获取主服务器对应的第一状态参数。
109.需要说明的是,在本技术的实施例中,第一状态参数是主服务器的运行状态参数,可以包括主服务器对应的中央处理器(central processing unit,cpu)使用率、内存使用率、输入/输出(input/output,i/o)访问率以及磁盘存储率等多种表征运行状态的参数,本技术不做具体限制。
110.步骤302、若第一状态参数大于第一预设状态阈值,则进行报警处理;其中,第一状态参数用于对主服务器的运行状态进行监测。
111.在本技术的实施例中,阈值监控子模块在获取主服务器对应的第一状态参数之后,可以对第一状态参数和第一预设状态阈值进行比较,从而可以根据比较结果执行进一步的处理。
112.具体地,在本技术中,阈值监控子模块在获取主服务器对应的第一状态参数以后,将第一状态参数和第一预设阈值进行对比,若第一状态参数大于第一预设状态阈值,则进行报警处理;其中,第一状态参数用于对主服务器的运行状态进行监测。
113.在本技术的实施例中,第一预设阈值是根据主服务器的运行参数进行预设的值,用于对主服务器的运行状态进行监控,当第一状态参数大于第一预设状态阈值时,就表明此时主服务器的运行状态可能存在超负荷的情况,进行报警,通知集群管理人员进行及时的维护,达到避免主服务器发生故障,而引发moosefs系统混乱,数据丢失的情况,达到了moosefs系统高可用的效果。
114.图10为本技术实施例提出的服务器切换方法的实现流程示意图七,如图10所示,在本技术的实施例中,服务器切换方法还可以包括以下步骤:
115.步骤303、阈值监控子模块获取数据节点对应的第二状态参数。
116.在本技术的实施例中,第二状态参数是各个数据节点的运行状态参数,可以包括数据节点对应的cpu使用率、内存使用率、i/o访问率以及磁盘存储率等多种表征运行状态的参数,本技术不做具体限制。
117.步骤304、若第二状态参数大于第二预设状态阈值,则进行报警处理;其中,第二状
态参数用于对数据节点的运行状态进行监测。
118.在本技术的实施例中,当阈值监控子模块获取数据节点对应的第二状态参数以后,若第二状态参数大于第二预设状态阈值,则进行报警处理;其中,第二状态参数用于对数据节点的运行状态进行监测。
119.在本技术的实施例中,第二预设状态阈值是根据数据节点的运行参数进行预设的值,用于对数据节点的运行状态进行监控,当第二状态参数大于第二预设状态阈值时,就表明此时数据节点的运行状态可能存在超负荷的情况,进行报警,通知集群管理人员进行及时的维护,以避免数据节点发生故障,造成剩余数据节点的负载加重,可能会导致数据节点的宕机,从而实现了数据节点的高可用。
120.需要说明的是,第一状态参数和第二状态参数分别是主服务器和数据节点的运行状态参数,分别表征主服务器和数据节点的运行状态;第一预设状态阈值和第二预设状态阈值分别是对主服务器和数据节点的运行状态进行预先设定的值,用于对主服务器和数据节点的运行状态进行预警。
121.图11为本技术实施例提出的服务器切换方法的实现流程示意图八,如图11所示,在本技术的实施例中,服务器切换方法还可以包括以下步骤:
122.步骤305、全局监控子模块对服务监控子模块、阈值监控子模块以及信息存储子模块进行监测,获得服务监控子模块对应的第一服务进程、阈值监控子模块对应的第二服务进程以及信息存储子模块对应的第三服务进程。
123.在本技术的实施例中,全局监控子模块是集群监控模块中的一个子模块,用于对集群监控模块中其余三个子模块:服务监控子模块、阈值监控子模块以及信息存储子模块进行服务进程上的监控,以保障服务监控子模块、阈值监控子模块以及信息存储子模块的服务进程可以保持正常状态,实现集群监控模块的高可用。
124.步骤306、若第一服务进程、第二服务进程以及第三服务进程中的任一个进程为异常,则进行报警处理,以保证集群监控模块的高可用。
125.在本技术的实施例中,在全局监控子模块对服务监控子模块、阈值监控子模块以及信息存储子模块进行监测,获得服务监控子模块对应的第一服务进程、阈值监控子模块对应的第二服务进程以及信息存储子模块对应的第三服务进程之后,若第一服务进程、第二服务进程以及第三服务进程中的任一个进程为异常,则进行报警处理。
126.在本技术的实施例中,通过全局监控模块对第一服务进程、第二服务进程以及第三服务进程的监控,在出现进程异常的情况时,针对异常情况进行报警,通知集群管理人员进行维护,保障集群监控模块的高可用。
127.图12为本技术实施例提出的moosefs系统的组成结构示意图四,如图12所示,在本技术的实施例中,moosefs系统可以包括主服务器、备份服务器、数据节点、交换机、集群监控模块以及客户端的应用。
128.在本技术的实施例中,由主服务器和备份服务器组成主备高可用模块,主备份服务器之间的高可用功能主要依靠ucarp和虚拟ip技术实现,虚拟ip技术给应用和数据节点之间提供一个浮动访问点,主备切换的时候不影响应用和数据节点之间的连接和交互。
129.在本技术的实施例中,备份服务器可以实时同步主服务器的元数据,采用rsync和sersync架构,sersync记录被监听目录下发生任何变化的某一个文件或者某一个目录名,
rsync负责实时传输文件,这样在rsync和sersync架构的搭配下,就可以同步发生变化的文件或目录,不仅传输速率高,还能达到元数据实时同步并备份的目的,有效防止主备份服务器同步元数据机制存在故障等导致备份服务器存在元数据丢失的问题。
130.在本技术的实施例中,交换机用于连接服务器,并辅助服务器完成数据接收和转发的工作。本技术中的交换机使用双网卡,使得任一交换机发生故障也不会影响系统的正常使用,提升交换机的可用性。
131.在本技术的实施例中,数据节点使用双网卡绑定技术,不仅可以提高网络传输速度,还可以确保当其中一块网卡出现故障,依然可以实现正常高效的工作。示例性的,当某个数据节点的一块网卡发生故障时,另一块立刻接管全部负载,使得服务不被中断,并等待维修人员进行后续维修,从而保证系统整体的正常使用。
132.在本技术的实施例中,集群监控模块中包含服务监控子模块、阈值监控子模块、信息存储子模块、全局监控子模块。集群监控模块用于监控主服务器、备份服务器以及数据节点,实现moosefs系统的整体高可用。
133.本技术实施例提供了一种服务器切换方法,moosefs系统及存储介质,moosefs系统包括主服务器、备份服务器以及集群监控模块,当备份服务器监控到主服务器运行异常时,向集群监控模块发送查询请求;其中,查询请求携带主服务器的标识信息;集群监控模块根据标识信息确定主服务器对应的第一服务信息;其中,第一服务信息表征主服务器的实际运行状态;集群监控模块向备份服务器发送查询响应;其中,查询响应携带第一服务信息;主服务器和备份服务器根据第一服务信息,确定是否进行服务器切换。也就是说,在本技术的实施例中,moosefs系统中的备份服务器在确定主服务器的当前状态为异常时,并没有直接执行服务器切换处理,而是先通过集群监控模块获取主服务器对应的第一服务信息,通过第一服务信息确定主服务器的实际运行状态,进而确定是否执行服务器切换处理。可见,如果在主节点正常管理整个moosefs系统的进程中,出现了主备节点之间的通讯中断等异常情况,moosefs系统通过集群监控模块对主备节点的监控,就可以防止此时备节点对主节点的状态产生误判而争抢资源、争抢服务,进而避免moosefs系统发生状态混乱,数据损坏的情况,保证了moosefs系统的高可用。
134.实施例五
135.基于上述实施例一至四提供的服务器切换方法,如前述图1所示,本技术实施例提供一种moosefs系统10,包括:主服务器11、备份服务器12、以及集群监控模块13,其中:
136.所述主服务器,用于管理所述moosefs系统,并与所述数据节点进行数据传输;
137.所述备份服务器,用于监控所述主服务器的运行状态,并保存所述主服务器中的元数据;
138.所述集群监控模块,用于监控所述主服务器和所述数据节点的实际运行状态。
139.图13为本技术实施例提出的moosefs系统的结构示意图五,如图13所示,本技术实施例提出的moosefs系统10包括:发送单元15、确定单元16以及执行单元17。
140.所述发送单元15,用于当所述备份服务器监控到所述主服务器运行异常时,向所述集群监控模块发送查询请求;其中,所述查询请求携带所述主服务器的标识信息。
141.确定单元16,用于所述集群监控模块根据所述标识信息确定所述主服务器对应的第一服务信息;其中,所述第一服务信息表征所述主服务器的实际运行状态。
142.进一步地,所述发送单元15,还用于所述集群监控模块向所述备份服务器发送查询响应;其中,所述查询响应携带所述第一服务信息。
143.所述确定单元16,还用于所述主服务器和所述备份服务器根据所述第一服务信息,确定是否进行服务器切换。
144.执行单元17,用于若第一服务信息为正常,则主服务器和备份服务器不执行服务器切换处理。
145.进一步地,执行单元17,还用于若第一服务信息为异常,则主服务器和备份服务器执行服务器切换处理。
146.在本技术的实施例中,进一步地,如图13所示,本技术实施例提出的moosefs系统还可以包括:获取单元18。
147.获取单元18,用于节点服务监控子模块基于心跳监测机制对主服务器进行服务状态监测,获取至少一个服务对应的至少一个服务状态。
148.进一步地,在本技术的实施例中,确定单元16,具体用于若至少一个服务状态均为正常,则确定当前服务状态为正常;若至少一个服务状态中的任一个服务状态为异常,则确定当前服务状态为异常。
149.在本技术的实施例中,进一步地,如图13所示,本技术实施例提出的moosefs系统还可以包括:报警单元19。
150.报警单元19,用于若第一状态参数大于第一预设状态阈值,则进行报警处理;其中,第一状态参数用于对主服务器的运动状态进行监测。
151.进一步地,在本技术的实施例中,获取单元18,还用于阈值监控子模块获取主服务器对应的第一状态参数。
152.在本技术的实施例中,进一步地,如图13所示,本技术实施例提出的moosefs系统还可以包括:接收单元110和存储单元111。
153.接收单元110,用于信息存储子模块接收服务监控子模块发送的主服务器对应的第一服务信息。
154.存储单元111,用于存储所述第一服务信息。
155.进一步地,在本技术的实施例中,获取单元18,还用于集群监控模块获取信息存储子模块存储的主服务器的第一服务信息;集群监控模块根据心跳维护文件和第一服务信息进行校验处理,获得校验结果。
156.进一步地,在本技术的实施例中,确定单元16,还用于若校验结果为校验成功,则确定主服务器的当前服务状态正常;若校验结果为校验失败,则确定主服务器对应的第一服务信息为异常。
157.在本技术的实施例中,进一步地,如图13所示,本技术实施例提出的moosefs系统还可以包括:监测单元112。
158.监测单元112,用于全局监控子模块对服务监控子模块、阈值监控子模块以及信息存储子模块进行监测,获得服务监控子模块对应的第一服务进程、阈值监控子模块对应的第二服务进程、以及信息存储子模块对应的第三服务进程。
159.进一步地,在本技术的实施例中,报警单元19,还用于若第一服务进程、第二服务进程以及第三服务进程中的任意一个进程为异常,则进行报警处理。
160.进一步地,在本技术的实施例中,获取单元18,还用于服务监控子模块基于心跳监测机制对数据节点进行监测,获取数据节点对应的第二服务信息。
161.进一步地,在本技术的实施例中,执行单元17,还用于若第二服务状态为中止,则对第二服务进行拉起;若第二服务状态为无法再次启动,则进行报警处理。
162.进一步地,在本技术的实施例中,获取单元18,还用于阈值监控子模块获取数据节点的第二状态参数。
163.进一步地,在本技术的实施例中,执行单元17,还用于若第二状态参数大于第二预设状态阈值,则进行报警处理。
164.进一步地,在本技术的实施例中,接收单元110,还用于信息存储子模块接收服务监控子模块发送的数据节点对应的第二服务信息。
165.进一步地,在本技术的实施例中,存储单元111,还用于存储第二服务信息。
166.图14为本技术实施例提出的moosefs系统的组成结构示意图六,如图14所示,本技术提出的moosefs系统还包括处理器113、存储有处理器113可执行指令的存储器114,通信接口115,和用于连接处理器113、存储器114以及通信接口115的总线116。
167.在本技术的实施例中,上述处理器113可以为特定用途集成电路(application specific integrated circuit,asic)、数字信号处理器(digital signal processor,dsp)、数字信号处理装置(digital signal processing device,dspd)、可编程逻辑装置(programmable logic device,pld)、现场可编程门阵列(field programmable gate array,fpga)、中央处理器(central processing unit,cpu)、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本技术实施例不作具体限定。还可以包括存储器114,该存储器114可以与处理器113连接,其中,存储器114用于存储可执行程序代码,该程序代码包括计算机操作指令,存储器114可能包含高速ram存储器,也可能还包括非易失性存储器,例如,至少两个磁盘存储器。
168.在本技术的实施例中,总线116用于连接通信接口115、处理器113以及存储器114以及这些器件之间的相互通信。
169.在本技术的实施例中,存储器114,用于存储指令和数据。
170.进一步地,在本技术的实施例中,上述处理器113,用于当备份服务器监控到主服务器运行异常时,向集群监控模块发送查询请求;其中,查询请求携带主服务器的标识信息;集群监控模块根据标识信息确定主服务器对应的第一服务信息;其中,第一服务信息表征主服务器的实际运行状态;集群监控模块向备份服务器发送查询响应;其中,查询响应携带第一服务信息;主服务器和备份服务器根据第一服务信息,确定是否进行服务器切换。
171.在实际应用中,上述存储器114可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);或者非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,rom),快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);或者上述种类的存储器的组合,并向处理器111提供指令和数据。
172.另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以
采用硬件的形式实现,也可以采用软件功能模块的形式实现。
173.集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
174.本技术实施例提供了一种服务器切换方法,moosefs系统及存储介质,moosefs系统包括主服务器、备份服务器以及集群监控模块,当备份服务器监控到主服务器运行异常时,向集群监控模块发送查询请求;其中,查询请求携带主服务器的标识信息;集群监控模块根据标识信息确定主服务器对应的第一服务信息;其中,第一服务信息表征主服务器的实际运行状态;集群监控模块向备份服务器发送查询响应;其中,查询响应携带第一服务信息;主服务器和备份服务器根据第一服务信息,确定是否进行服务器切换。也就是说,在本技术的实施例中,moosefs系统中的备份服务器在确定主服务器的当前状态为异常时,并没有直接执行服务器切换处理,而是先通过集群监控模块获取主服务器对应的第一服务信息,通过第一服务信息确定主服务器的实际运行状态,进而确定是否执行服务器切换处理。可见,如果在主节点正常管理整个moosefs系统的进程中,出现了主备节点之间的通讯中断等异常情况,moosefs系统通过集群监控模块对主备节点的监控,就可以防止此时备节点对主节点的状态产生误判而争抢资源、争抢服务,进而避免moosefs系统发生状态混乱,数据损坏的情况,保证了moosefs系统的高可用。
175.本技术实施例提供第一计算机可读存储介质,其上存储有程序,该程序被第一处理器执行时实现如实施例一至实施例四的方法。
176.具体来讲,本实施例中的一种服务器切换方法对应的程序指令可以被存储在光盘,硬盘,u盘等存储介质上,当存储介质中的与一种服务器切换方法对应的程序指令被一电子设备读取或被执行时,包括如下步骤:
177.当所述备份服务器监控到所述主服务器运行异常时,向所述集群监控模块发送查询请求;其中,所述查询请求携带所述主服务器的标识信息;
178.所述集群监控模块根据所述标识信息确定所述主服务器对应的第一服务信息;其中,所述第一服务信息表征所述主服务器的实际运行状态;
179.所述集群监控模块向所述备份服务器发送查询响应;其中,所述查询响应携带所述第一服务信息;
180.所述主服务器和所述备份服务器根据所述第一服务信息,确定是否进行服务器切换。
181.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
182.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的实现流程示意图和/或方框图来描述的。应理解可由计算机程序指令实现流程示意图和/或方框图中的每一流程和/或方框、以及实现流程示意图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
183.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
184.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在实现流程示意图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
185.以上所述,仅为本技术的较佳实施例而已,并非用于限定本技术的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1