一种分布式锁故障隔离方法、装置、计算机存储器及设备制造方法及图纸

技术编号:19778166 阅读:19 留言:0更新日期:2018-12-15 11:15
本申请提供一种分布式锁故障隔离方法、装置、计算机存储器及设备,所述方法包括当sanlock的delta leases下发IO累计超时时间大于或等于预设的时间阈值时,检查存储池是否由于压力过大导致sanlock的delta leases无法下发IO;若存储池由于压力过大导致sanlock的delta leases无法下发IO,则杀死主机上IO压力最大的进程。在本申请实施例中,当存储池压力较大时候启用IO检查装置,通过检查存储池IO的性能,除去IO压力较大的进程,从而保证sanlock的delta leases能够正常的下发IO,减少sanlock因为存储池压力较大,误杀全部进程的问题。

【技术实现步骤摘要】
一种分布式锁故障隔离方法、装置、计算机存储器及设备
本申请涉及计算机
,特别涉及一种分布式锁故障隔离方法、装置、计算机存储器及设备。
技术介绍
随着计算机技术和网络技术的快速发展,大型集群在实际生产环境中使用,通过虚拟化,组成云计算,在虚拟化系统中,常常需要协调动作,不同系统或者是在同一个系统不同主机之间共享同一个或一组资源,往往需要互斥来防止彼此的干扰,保证一致性,因此需要分布式锁来保证上述情况。分布式锁实现方案大致分两种,一种是依赖于网络,通过网络通信来保证获取资源的一致性,但是对于网络的稳定性依赖,比如DLM(DistributedLockManager,一种分布式锁管理器);第二种实现方案是依赖共享存储,通过对共享存储的读写保证多方的协商,实现方案如sanlock(一种分布式锁软件)。sanlock的实现方案是依赖于diskpaxos算法。两种方案各有优劣,对于DLM来说,如果网络环境比较复杂时候或者网络环境不稳定时候容易造成dlm速度下降,严重影响dlm的速度,同时,如果节点比较多时候,dlm消息传递容易造成网络阻塞,一般来说dlm用于小型的集群中进行锁的管理;分布式锁sanlock依赖于存储,定时下发deltaleases来证明自己节点存活,diskpaxos算法来保证分布式锁的获取,此处只依赖于磁盘,但是磁盘压力比较大的时候因为deltalease每次下发的IO仅有一个块的大小,存储高压力时候容易造成deltaleases无法下发,导致sanlockfence。为了支持大批量的集群锁,因此需要解决sanlock因为deltaleases无法下发时候的fence(故障隔离)问题。
技术实现思路
有鉴于此,本申请的目的在于提供一种。其具体方案如下:第一方面,本申请实施例提供了一种分布式锁故障隔离方法,所述方法包括:当sanlock的deltaleases下发IO累计超时时间大于或等于预设的时间阈值时,检查存储池是否由于压力过大导致sanlock的deltaleases无法下发IO;若存储池由于压力过大导致sanlock的deltaleases无法下发IO,则杀死主机上IO压力最大的进程。优选地,所述当sanlock的deltaleases下发IO累计超时时间大于或等于预设的时间阈值时,检查存储池是否由于压力过大导致sanlock的deltaleases无法下发IO,包括:sanlock在连接存储时制定IO超时时间,并在k倍IO超时时间下发一次IO;若第m次IO无法下发,则检查存储池是否由于压力过大导致sanlock的deltaleases无法下发IO。优选地,所述若存储池由于压力过大导致sanlock的deltaleases无法下发IO,则杀死主机上IO压力最大的进程,包括:若存储池由于压力过大导致sanlock的deltaleases无法下发IO,且第n次IO无法下发,则杀死主机上IO压力最大的进程,其中,m≤n。优选地,所述k=2,m=3,n=4。第二方面,本申请实施例提供了一种分布式锁故障隔离装置,所述装置包括:检查模块,用于当sanlock的deltaleases下发IO累计超时时间大于或等于预设的时间阈值时,检查存储池是否由于压力过大导致sanlock的deltaleases无法下发IO;杀死模块,用于若存储池由于压力过大导致sanlock的deltaleases无法下发IO,则杀死主机上IO压力最大的进程。优选地,所述检查模块具体用于:sanlock在连接存储时制定IO超时时间,并在k倍IO超时时间下发一次IO;若第m次IO无法下发,则检查存储池是否由于压力过大导致sanlock的deltaleases无法下发IO。优选地,杀死模块具体用于:若存储池由于压力过大导致sanlock的deltaleases无法下发IO,且第n次IO无法下发,则杀死主机上IO压力最大的进程,其中,m≤n。优选地,所述k=2,m=3,n=4。第三方面,本申请实施例提供了一种计算机存储器,所述计算机存储器上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一项所述的步骤。第四方面,本申请实施例提供了一种计算机设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述第一方面任一项所述的步骤。采用本申请实施例提供的一种分布式锁故障隔离方法,当存储池压力较大时候启用IO检查装置,通过检查存储池IO的性能,除去IO压力较大的进程,从而保证sanlock的deltaleases能够正常的下发IO,减少sanlock因为存储池压力较大,误杀全部进程的问题。本申请提供一种方法应用于上述装置,计算机存储器及设备能运行上述方法,也具有上述的有益效果,在此不再赘述。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请具体实施方式提供的一种分布式锁故障隔离方法流程示意图;图2为本申请具体实施方式提供的一种分布式锁故障隔离装置示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。基于上述问题本专利技术提出了一种优化的一种分布式锁故障隔离方法、装置、计算机存储器及设备,通过检查存储池是不是因为IO压力过大,导致sanlock的deltaleases无法下发IO,如果是的话检查该存储池上IO压力最大的进程,杀死该进程来释放存储池的压力,保证IO的正常下发。以下结合附图进行详细说明。请参考图1,图1为本申请具体实施方式提供的一种分布式锁故障隔离方法流程示意图,如图1所示,该方法主要包括以下步骤。步骤S101:当sanlock的deltaleases下发IO累计超时时间大于或等于预设的时间阈值时,检查存储池是否由于压力过大导致sanlock的deltaleases无法下发IO。步骤S102:若存储池由于压力过大导致sanlock的deltaleases无法下发IO,则杀死主机上IO压力最大的进程。具体来讲,存储池上多个进程进行下发大IO时候,进程下发大IO块的优先级高的时候会造成sanlock的deltaleases下发的小IO块无法正常的下发到存储上,因此,超时一定时间时候需要启动IO检查装置检查存储池上IO压力较大的进程,通过kill操作,杀掉压力较大的进程,保证sanlock的deltaleases能够正常的下发IO。而传统方案中,sanlock的deltaleases无法下发,则认为sanlock的deltaleases失效,sanlock下所有获取的锁信息都已经失效,因此sanlock需要kill掉所有获取锁的进程,从而保证锁失效时候在其他节点上进程被拉起。因此,本申请实施例可以保证sanlock的deltaleases下发,减少sanl本文档来自技高网
...

【技术保护点】
1.一种分布式锁故障隔离方法,所述方法包括:当sanlock的delta leases下发IO累计超时时间大于或等于预设的时间阈值时,检查存储池是否由于压力过大导致sanlock的delta leases无法下发IO;若存储池由于压力过大导致sanlock的delta leases无法下发IO,则杀死主机上IO压力最大的进程。

【技术特征摘要】
1.一种分布式锁故障隔离方法,所述方法包括:当sanlock的deltaleases下发IO累计超时时间大于或等于预设的时间阈值时,检查存储池是否由于压力过大导致sanlock的deltaleases无法下发IO;若存储池由于压力过大导致sanlock的deltaleases无法下发IO,则杀死主机上IO压力最大的进程。2.根据权利要求1所述的方法,其特征在于,所述当sanlock的deltaleases下发IO累计超时时间大于或等于预设的时间阈值时,检查存储池是否由于压力过大导致sanlock的deltaleases无法下发IO,包括:sanlock在连接存储时制定IO超时时间,并在k倍IO超时时间下发一次IO;若第m次IO无法下发,则检查存储池是否由于压力过大导致sanlock的deltaleases无法下发IO。3.根据权利要求2所述的方法,其特征在于,所述若存储池由于压力过大导致sanlock的deltaleases无法下发IO,则杀死主机上IO压力最大的进程,包括:若存储池由于压力过大导致sanlock的deltaleases无法下发IO,且第n次IO无法下发,则杀死主机上IO压力最大的进程,其中,m≤n。4.根据权利要求3所述的方法,其特征在于,所述k=2,m=3,n=4。5.一种分布式锁故障隔...

【专利技术属性】
技术研发人员:马怀旭
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1