选举控制方法及装置制造方法及图纸

技术编号:18839872 阅读:15 留言:0更新日期:2018-09-05 08:21
本申请涉及数据通信技术领域,尤其涉及一种选举控制方法及装置、选举方法及装置,该方法应用于集群服务系统中部署有目标监控进程monitor的节点,该方法包括:监测部署有第一monitor的第一节点的运行环境;当监测到运行环境中存在异常情况后,将第一monitor关闭,以阻止第一monitor在多个monitor中参与领导者leader选举及向集群外客户端提供服务。这样,当monitor的运行状态和运行环境出现异常时,就不会不断地重复进入选举状态,也不会因此导致整个集群服务的中断,另外,也不会在有问题的状态下为客户端提供服务,从而节省了系统资源,提高了分布式存储集群中数据的可靠性。

Election control method and device

This application relates to the field of data communication technology, in particular to an election control method and device, an election method and device, which are applied to nodes deployed with a target monitoring process monitor in a cluster service system. The method includes: monitoring the running environment of the first node deployed with the first monitor; and monitoring the running ring when it is deployed When there are exceptions in the environment, the first monitor is closed to prevent the first monitor from participating in leader lead elections in multiple monitors and providing services to clients outside the cluster. In this way, when the monitor's running state and running environment are abnormal, it will not repeatedly enter the election state, and will not cause the interruption of the whole cluster services. In addition, it will not provide services to the client in the problematic state, thus saving system resources and increasing the number of distributed storage clusters. Reliability.

【技术实现步骤摘要】
选举控制方法及装置
本申请涉及数据通信
,尤其涉及一种选举控制方法及装置。
技术介绍
Ceph是一种为优秀的性能、可靠性和可扩展性而设计的统一的、分布式文件系统。在Ceph中,为了避免单端故障,通常由若干个监控进程(monitor)共同负责管理、维护和发布集群的状态信息;在若干个monitor中会选出一个领导者(leader),这些monitor中的其它普通参与选举成员(peon)在该leader的领导下,生成集群图(clustermap)的最新版本,然后将该最新版本发送至Ceph中的全体对象存储设备(Object-basedStorageDevice,OSD)以及客户端(Client)。OSD使用clustermap进行数据的维护,而Client使用clustermap进行数据的寻址。在进行leader选举时,先由有选举资格的monitor共同形成一个委员会(quorum),然后委员会的成员在内部选出leader。每个monitor在初始化的时候都会被赋予一个排位(rank)值,当选举leader时,rank值最小的monitor胜出当选leader。每个monitor在启动并完成初始化后会向其它monitor发送探测报文,若根据回应报文中的quorum信息,确定已形成有quorum,则作为quorum的一员发起选举。这里,形成quorum的条件是可参与选举的monitor数量超过全部monitor数量的一半。某monitor当选为leader的条件为同意其成为leader的monitor数量超过全部monitor数量的一半。在leader选举期间,Ceph是无法对外提供服务的,直到选举出leader,并在leader的带领下形成clustermap的master版本。在选举过程中,若monitor集群中任一monitor的网络存在震荡、延时等不稳定因素,会造成monitor反复退出和加入quorum,反复发起选举。如此,整个monitor集群会一直处于选举状态,浪费资源,并且无法对外提供服务。
技术实现思路
本申请实施例提供一种选举控制方法及装置,用以解决集群服务系统中出现异常情况时存在的反复选举的问题。第一方面,提供一种选举控制方法,该方法应用于集群服务系统中部署有第一监控进程monitor的第一节点,该方法包括:监测所述部署有第一monitor的第一节点的运行环境;当监测到所述运行环境中存在异常情况后,将所述第一monitor关闭,以阻止所述第一monitor在多个monitor中参与领导者leader选举及向集群外客户端提供服务。第二方面,还提供一种选举控制装置,该装置应用于集群服务系统中部署有第一监控进程monitor的第一节点,该装置包括:异常监测模块,用于监测所述部署有第一monitor的第一节点的运行环境;异常处理模块,用于当监测到所述运行环境中存在异常情况后,将所述第一monitor关闭,以阻止所述第一monitor在多个monitor中参与领导者leader选举及向集群外客户端提供服务。本申请实施例上述方案中,通过监测集群服务系统中部署的monitor的节点的运行环境来检测异常情况,当存在异常情况时,通过将节点中的monitor关闭,来阻止目标monitor参与leader选举及向集群外客户端提供服务。这样,当monitor所在节点的运行环境出现异常时,该monitor就不会不断地重复进入选举状态,从而节省了系统资源。另外,由于避免了不必要的选举过程,从而防止了因选举过程所导致的整个集群服务的中断;进一步地,还阻止了出现异常的monitor向集群外客户端提供服务;因此,本申请实施例提高了分布式存储集群中数据的可靠性,保证了集群服务的可持续性和服务质量。附图说明为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要的附图做简单的介绍。显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1为本申请实施例涉及的集群服务系统示意图;图2为本申请实施例提供的选举控制方法流程图;图3为本申请实施例提供的选举控制方法原理示意图;图4为本申请另一实施例提供的选举控制方法流程图;图5为本申请另外一种实施例提供的选举方法流程图;图6为本申请又一实施例提供的选举方法流程图;图7为本申请实施例提供的选举控制装置700结构示意图;图8为本申请另一实施例提供的选举控制装置800结构示意图。具体实施方式如图1所示,为本申请实施例涉及的集群服务系统示意图,该集群服务系统是指为集群外客户端提供数据访问服务的、由多个部署有monitor的节点和多个提供数据存储服务的OSD组成的服务集群,比如可以是分布式文件系统Ceph。服务集群中的每个节点中分别部署有一个监控进程monitor;多个monitor会选举出一个leader,该leader根据各个monitor分别管理的数据存储信息(未被当选为leader的monitor称为peon),生成clustermap的最新版本。OSD使用clustermap进行数据的维护,而Client使用clustermap进行数据的寻址。这里,clustermap中包括用于指示OSD中各个数据文件的存储位置的信息。在实施本申请方案之前,一旦发生监控节点的网络反复中断等不稳定因素,都会造成monitor反复发起选举,一方面浪费了资源,另一方面,由于只有选举出leader,才能进一步进行clustermap版本的更新,因此在选举期间无法进行clustermap版本的更新,如此就会影响集群正常对外提供服务。基于此,本申请一种实施例中提出了一种基于异常检测机制来解决反复选举的问题,详见下述实施例。如图2所示,为本申请实施例提供的选举控制方法流程图,应用于集群服务系统中部署有第一monitor的第一节点,具体地,执行下述步骤的可以是第一节点中独立于第一monitor外的软件模块,该方法包括以下步骤:S201:监测部署有第一monitor的第一节点的运行环境。这里,第一节点的运行环境包括第一监控节点的网络状态。比如,部署有第一monitor的第一节点与集群内部署有其它monitor的节点之间的链路状态,以及第一节点的网卡状态等。S202:当监测到运行环境中存在异常情况后,将第一monitor关闭,以阻止第一monitor在多个monitor中参与领导者leader选举及向集群外客户端提供服务。这里,监测到第一节点的运行环境中存在异常情况,可以是指出现以下情况中的一种或多种:Ⅰ、部署有第一monitor的第一节点与集群内部署有其它monitor的节点之间的链路状态出现异常;Ⅱ、第一节点的网卡状态出现异常。为便于后续描述,这里引入两个功能模块,异常监测模块和异常处理模块,如图3所示,异常监测模块负责监测并记录上述异常情况,比如监测并记录异常发生时间、异常来源等,并将记录的异常结果上报给异常处理模块;异常处理模块负责针对异常情况将第一monitor关闭,下面称这种在监测到环境中存在异常情况后将第一monitor关闭的机制为隔离机制。下面以工作在Linux系统环境下的集群服本文档来自技高网
...

【技术保护点】
1.一种选举控制方法,其特征在于,该方法应用于集群服务系统中部署有第一监控进程monitor的第一节点,该方法包括:监测所述部署有第一monitor的第一节点的运行环境;当监测到所述运行环境中存在异常情况后,将所述第一monitor关闭,以阻止所述第一monitor在多个monitor中参与领导者leader选举及向集群外客户端提供服务。

【技术特征摘要】
1.一种选举控制方法,其特征在于,该方法应用于集群服务系统中部署有第一监控进程monitor的第一节点,该方法包括:监测所述部署有第一monitor的第一节点的运行环境;当监测到所述运行环境中存在异常情况后,将所述第一monitor关闭,以阻止所述第一monitor在多个monitor中参与领导者leader选举及向集群外客户端提供服务。2.根据权利要求1所述的方法,其特征在于,所述集群服务系统中包含多个monitor和多个对象存储设备OSD;其中,所述多个monitor中的leader根据各个monitor分别管理的数据存储信息,生成集群图clustermap,所述clustermap中包含有OSD中数据的存储位置信息,所述集群外客户端使用clustermap进行数据的寻址。3.根据权利要求1所述的方法,其特征在于,所述监测所述部署有第一monitor的第一节点的运行环境,具体包括:监测所述部署有第一monitor的第一节点与集群内部署有其它monitor的节点之间的链路状态,以及监测所述第一节点的网卡状态。4.根据权利要求3所述的方法,其特征在于,监测所述部署有第一monitor的第一节点与集群内部署有其它monitor的节点之间的链路状态,包括:监测所述第一节点与集群内部署有其它monitor的节点之间的心跳连接是否超时;其中,心跳连接超时是指当发起心跳包后,在预设时长内未收到反馈的心跳包;若根据监测结果,确定与所述第一节点之间的心跳连接超时的节点的数量达到预设数量、且与任一节点之间心跳连接连续超时的次数达到预设次数,则认为所述链路状态存在异常。5.根据权利要求3所述的方法,其特征在于,所述监测所述部署有第一monitor的第一节点的网卡状态,包括:周期性统计所述部署有第一monitor的第一节点中网卡的丢包率;若所述部署有第一monitor的第一节点的网卡的丢包率超出预设的丢包率阈值,则确定所述网卡状态存在异常。6.根据权利要求5所述的方法,其特征在于,所述第一节点中设置有主网卡和备用网卡;若所述部署有第一monitor的第一节点的网卡的丢包率超出预设的丢包率阈值,则确定所述网卡状态存在异常,包括:周期性统计所述主网卡的丢包率;若所述主网卡的丢包率超出预设的丢包率阈值,则确定所述主网卡存在异常,在所述主网卡停用,启用备用网卡后,周期性统计所述备用网卡的丢包...

【专利技术属性】
技术研发人员:赵明月
申请(专利权)人:新华三技术有限公司
类型:发明
国别省市:浙江,33

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

1