一种云存储集群节点服务状态实时监控方法和系统的制作方法
【技术领域】
[0001]本发明涉及云存储技术领域,尤其涉及一种云存储集群节点服务状态实时监控方法和系统。
【背景技术】
[0002]现有的云存储产品大多采用C印h技术,Ceph是一个PB级分布式文件系统,通过相应接口支持对象存储(Object Storage),块存储(Block Storage)和文件存储(FileStorage)三种存储服务。既是统一存储系统也是分布式存储系统,具有高扩展,高可靠,高性能的特点。由于其开源性,目前Gph已作为统一存储的解决方案,被广泛应用于私有云、公有云和生产环境中。
[0003]在实际应用当中,Ceph存储集群内除了安装Gph提供的相应存储服务外,常常还会部署安装许多其他服务,如HTTP (Hypertext transfer protocol,超文本传送协议)和数据库服务,所有的服务组成一个完整的云存储产品。因而,集群节点内服务的可用性直接决定了整个云存储产品的可用性,故实现对集群节点内所有相关服务的运行状态及可用性的实时监控是云存储产品必不可少的一项重要功能。
[0004]现有的监控方法一般为针对特定服务制定相应的监控策略,通过服务器端轮询查看所有服务运行状态(即服务进程是否运行),然而,现有的监控方法并未对相关服务的可用性进行监控。大量的实践证明,即使服务进程正在运行不一定就能保证该服务可用,以存储服务为例,存储服务的进程还在运行,却可能会出现无法写入数据的情况。同时,在采用单一监视器情况下,单一监视器的损坏将导致整个系统监控功能的失效,为了防止上述单点故障的发生,现有的监控方法采用多监视器并行运行的策略,一般预先选出三个以上的监视器,其中一个作为主监视器,其他监视器作为从监视器。当主监视器发生故障时,使用从监视器替代主监视器;然而该方案在正常工作时,从监视器处于闲置状态,造成系统资源的浪费。
【发明内容】
[0005]本发明的目的在于提供一种云存储集群节点服务状态实时监控方法和系统,在对服务运行状态进行监控的同时,对集群节点的服务可用性进行监控,提高云存储产品的整体监控性能。
[0006]一方面,本发明实施例提供了一种云存储集群节点服务状态实时监控方法,每个集群节点均部署有服务状态采集器;所述方法包括:
[0007]所述服务状态采集器采集所在集群节点内的服务状态信息,并将所述服务状态信息处理成统一格式后,上报给服务监控处理器;所述服务状态信息包括服务运行状态信息和服务可用性状态信息;
[0008]所述服务监控处理器收集所有服务状态采集器上报的服务状态信息,对所述服务状态信息进行数据封装,形成监控信息,并通过相应的API接口将所述监控信息对外发布。
[0009]优选地,所述方法还包括:
[0010]若所述服务监控处理器成功接收所述服务状态信息,则所述服务监控处理器向所述服务状态采集器返回确认信息;
[0011]若所述服务状态采集器未收到所述服务监控处理器返回的确认信息,则向集群内其他服务状态采集器发出上报失败的广播信息;并且,当发出所述广播信息的服务状态采集器的数量超过指定值时,则判定当前服务监控处理器出现故障。
[0012]优选地,所述方法还包括:
[0013]若当前服务监控处理器发生故障时,利用Paxos算法,在所有集群节点中决策产生新的服务监控处理器,以替换发生故障的当前服务监控处理器。
[0014]优选地,所述替换发生故障的当前服务监控处理器具体包括:
[0015]将所述新的服务监控处理器的地址信息发送给所述服务状态采集器;
[0016]所述服务状态采集器根据所述地址信息,将采集到的所述服务状态信息上报给所述新的服务监控处理器。
[0017]优选地,所述方法还包括:
[0018]通过故障处理单元对发生故障的服务监控处理器进行修复或故障告警。
[0019]优选地,所述方法还包括:
[0020]所述服务监控处理器通过所述API接口,将所述监控信息发送至上层云存储管理子系统,以对所述监控信息进行实时动态展示。
[0021]另一方面,本发明实施例提供了一种云存储集群节点服务状态实时监控系统,包括底层云存储服务子系统;
[0022]所述底层云存储服务子系统包括服务监控处理器、集群节点;
[0023]每个集群节点均部署有服务状态采集器;
[0024]所述服务状态采集器,用于采集所在集群节点内的服务状态信息,并将所述服务状态信息处理成统一格式后,上报给服务监控处理器;所述服务状态信息包括服务运行信息和服务可用性信息;
[0025]所述服务监控处理器,用于收集所有服务状态采集器上报的服务状态信息,对所述服务状态信息进行数据封装,形成监控信息,并通过相应的API接口将所述监控信息对外发布。
[0026]优选地,所述底层云存储服务子系统还包括选举单元;
[0027]所述选举单元,用于在当前服务监控处理器发生故障时,利用Paxos算法,在所有集群节点中决策产生新的服务监控处理器,以替换发生故障的当前服务监控处理器。
[0028]优选地,所述底层云存储服务子系统还包括故障处理单元;
[0029]所述故障处理单元,用于对发生故障的服务监控处理器进行修复或故障告警。
[0030]优选地,还包括上层云存储管理子系统;
[0031]所述上层云存储管理子系统,用于通过调用所述API接口,获取所述监控信息,并对所述监控信息进行实时动态展示。
[0032]与现有技术相比,本发明实施例具有如下有益效果:
[0033]本发明实施例提供的云存储集群节点服务状态实时监控方法和系统,通过在集群节点中设置服务状态采集器,同时对服务运行状态和服务可用性进行监控,提高云存储产品的整体监控性能,保证云存储服务的高可用性。并将监控信息通过相应的API接口实时对外发布,增强了系统监控功能的可扩展性。
[0034]进一步地,本发明实施例提供的云存储集群节点服务状态实时监控方法和系统,当服务监控处理器发生故障时,还通过Paxos算法动态决策生成新的服务监控处理器,有效防止了单点故障的发生,同时无需预先设置多个监视器,系统资源得到充分利用,避免了从监视器闲置造成的资源浪费。
【附图说明】
[0035]图1是本发明提供的云存储集群节点服务状态实时监控方法一个实施例的流程图;
[0036]图2是本发明提供的云存储集群节点服务状态实时监控方法另一个实施例的流程图;
[0037]图3是本发明提供的云存储集群节点服务状态实时监控系统一个实施例的系统结构图。
【具体实施方式】
[0038]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0039]参见图1,是本发明提供的云存储集群节点服务状态实时监控方法一个实施例的流程图。
[0040]本发明实施例提供的云存储集群节点服务状态实时监控方法,每个集群节点均部署有服务状态采集器。所述方法包括:
[0041]步骤SI,所述服务状态采集器采集所在集群节点内的服务状态信息,并将所述服务状态信息处理成统一格式后,上报给服务监控处理器。所述服务状态信息包括服务运行状态信息和服务可用性状态信息。
[0042]所述集群节点中设置有服务状态采集器和存储器,云存储系统的服务部署安装于集群的存储器中,所述服务状态采集器不断采集所在集群节点内(即存储器)的所有服务的运行状态信息及可用性状态信息,将采集到的信息处理成统一格式后主动上报给服务监控处理器。
[0043]步骤S2,所述服务监控处理器收集所有服务状态采集器上报的服务状态信息,对所述服务状态信息进行数据封装,形成监控信息,并通过相应的API接口将所述监控信息对外发布。其中所述API接口为应用程序编程接口,英文全称为Applicat1n ProgrammingInterface。
[0044]优选地,所述API接口为RESTful架构样式的API接口,云存储产品的上层云存储管理子系统和第三方应用可通过调用所述API接口,获取所述服务监控处理器发布的监控信息,以对监控信息进行进一步的处理和展示。
[0045]本实施例提供的云存储集群节点服务状态实时监控方法,通过在集群节点中部署服务状态采集器,同时对服务运行状态和服务可用性进行监控,提高云存储产品的整体监控性能,保证云存储服务的高可用性。并将监控信息通过相应的API接口实时对外发布,增强了系统监控功能的可扩展性。
[0046]参见图2,是本发明提供的云存储集群节点服务状态实时监控方法另一个实施例的流程图。
[0047]如图2所示,本实施例中的步骤SI和步骤S2与图1所示实施例相同,可参见图1所示实施例中的描述,在此不再详述。
[0048]在具体实施当中所述方法还包括:
[0049]步骤S3,若所述服务监控处理器成功接收所述服务状态信息,则所述服务监控处理器向所述服务状态采集器返回确认信息。
[0050]步骤S4,若所述服务状态采集器未收到所述服务监控处理器返回的确认信息,则向集群内其他服务状态采集器发出上报失败的广播信息。并且,当发出所述广播信息的服务状态采集器的数量超过指定值时,则判定当前服务监控处理器出现故障。
[0051]步骤S5,若当前服务监控处理器发生故障时,利用Paxos算法,在所有集群节点中决策产生新的服务监控处理器,以替换发生故障的当前服务监控处理器。
[0052]当前服务监控处理器发生故障时,底层云存储服务子系统中的选举单元将被触发,通过Paxos算法,从所有集群节点中选举决策出新的服务监控处理器,避免了服务监控处理器故障造成整个监控功能失效,有效防止了单点故障的发生。同时,所述Paxos算法被认为是目前最有效的分布式共识算法,通过Paxos算法可快速一致地选举产生新的服务监控处理器,大大降低了服务监控处理器故障所带来的影响,有助于保障监控功能,提高用户体验。
[0053]其中,所述替换发生故障的当前服务监控处理器具体包括:
[0054]将所述新的服