一种解决集群逻辑卷并发激活和反激活的新方法技术

技术编号:36337068 阅读:13 留言:0更新日期:2023-01-14 17:49
本发明专利技术公开了一种解决集群逻辑卷并发激活和反激活的新方法,包括:获取LV对应的文件或内存Lock;读取Tag中的引用计数usedref;判断LV是否激活,根据判断结果更新Tag中的usedref;释放LV对应的文件或内存Lock,执行当前的操作任务;获取LV对应的文件或内存Lock;读取Tag中的引用计数usedref;对于Tag中的usedref进行减1,判断是否进行LV的反激活动作;释放LV对应的文件或内存Lock。本发明专利技术可实现多任务之间安全的访问共享的逻辑卷,使并发任务之间使用逻辑卷信息的时候不再报错和异常,从而确保上层多任务的并发操作任务顺利进行。行。行。

【技术实现步骤摘要】
一种解决集群逻辑卷并发激活和反激活的新方法


[0001]本专利技术属于云计算存储
,具体涉及一种解决集群逻辑卷并发激活和反激活的新方法。

技术介绍

[0002]对于集群逻辑卷操作的时候,上层应用为了获取逻辑卷的相关信息,比如元数据容量等,或频繁的激活和反激活卷信息,以获取卷上的数据信息,这些数据信息比如容量,格式,Base文件信息等。并发多个任务同时操作一个单独的逻辑卷的时候,会同时并发的激活和反激活动作。这样就存在一个并发的问题,参见图1,一个任务A激活后,执行操作;另外一个任务B发现已经激活,就直接使用了,任务A结束,进行了反激活动作,此时任务B正在使用激活的逻辑卷进行操作,发现逻辑卷已不可用。
[0003]具体来说,对于集群逻辑卷的激活和反激活,其中,激活主要是为了获取LV的相关属性信息,比如LV上的元数据,容量和base等信息;反激活是使用之后进行,标识任务已经执行结束,没有任务在使用了,可以进行LV的反激活操作。同一主机上的多个应用层程序,可能存在并发的激活或反激活操作,从而导致部分应用在使用LV的时候报错。而现有处理模型在激活和反激活的过程中,无法确保LV使用的并发性,确保数据的安全性。

技术实现思路

[0004]本专利技术所要解决的技术问题是针对上述现有技术的不足,提供一种解决集群逻辑卷并发激活和反激活的新方法,解决主机上应用层并发多任务场景下,对于同一个逻辑卷的激活和反激活操作问题,实现多任务之间安全的访问共享的逻辑卷,使并发任务之间使用逻辑卷信息的时候不再报错和异常,从而确保上层多任务的并发操作任务顺利进行。
[0005]为实现上述技术目的,本专利技术采取的技术方案为:
[0006]一种解决集群逻辑卷并发激活和反激活的新方法,包括:
[0007]步骤1:获取LV对应的文件或内存Lock;
[0008]步骤2:获取Lock后,读取Tag中的引用计数usedref;
[0009]步骤3:判断LV是否激活,根据判断结果更新Tag中的usedref;
[0010]步骤4:释放LV对应的文件或内存Lock,执行当前的操作任务;
[0011]步骤5:获取LV对应的文件或内存Lock;
[0012]步骤6:获取Lock后,读取Tag中的引用计数usedref;
[0013]步骤7:对于Tag中的usedref进行减1,判断是否进行LV的反激活动作;
[0014]步骤8:释放LV对应的文件或内存Lock。
[0015]为优化上述技术方案,采取的具体措施还包括:
[0016]上述的步骤1通过逻辑卷同步查询接口获取LV对应的文件锁或内存锁,即文件或内存Lock,所述文件或内存lock用于同步对于Tag的引用计数的访问。
[0017]上述的步骤2根据VG和LV的名称,读取Tag中的引用计数usedref;
[0018]所述Tag为LV的元数据,用于存储相关的标识信息,用户的个性化信息,且存储的信息容量推荐不超过1024个字节。
[0019]上述的步骤3中,如果LV没有激活,则激活LV,并令写入Tag中的usedref=1;
[0020]如果LV已经激活,对于Tag中的引用计数usedref加1后写入LV的Tag中,实现tag修改;
[0021]上述的步骤4所述操作任务包括LV的访问和信息读取任务。
[0022]上述的步骤7中,如果减1后,usedref为0,则进行LV的反激活动作,如果减1后,usedref仍大于0,则写入Tag中实现tag修改,不进行LV的反激活操作。
[0023]上述的步骤8通过逻辑卷同步释放接口,根据LV的名称,释放LV对应的文件或内存Lock。
[0024]在中间任何流程报错都需要记录日志,并跳出任务执行。
[0025]本专利技术具有以下有益效果:
[0026]1、本专利技术适用于电信云场景下,虚拟化平台的LVM逻辑卷的并发管理,能够实现上层的应用层,进行并发多任务的操作和处理,极大提升上层应用任务的并发,提高任务处理的效率,同时解决了任务执行过程中的报错场景,克服了多任务并发导致的LV访问错误信息的问题,提高了虚拟化等上层应用的存储逻辑卷管理效率和业务的持续稳定性;
[0027]本专利技术基于逻辑卷的Tag引用计数的配置和使用,以及对逻辑卷Tag的修改进行加锁或互斥进行同步,根据Tag中的引用计数,进行逻辑卷判断是否需要激活或反激活,实现的原理和判断方法:激活前判断如果已经激活,则对于Tag中的引用计数属性进行加1,如果没有激活则激活LV,并将LV Tag中的引用计数属性设置为1。反激活时对于使用的引用计数减1,判断使用计数是否减为0,如果减为0,则进行实际的反激活操作,否则不进行反激活的操作;本专利在虚拟化平台下,进行逻辑卷管理,能大规模提高上层应用的并发任务,避免上层应用因为并发操作而导致的LV访问的错误问题,提升虚拟化管理和配置的效率。
附图说明
[0028]图1为现有并发任务的异常流程分析流程图;
[0029]图2为本专利技术一种解决集群逻辑卷并发激活和反激活的新方法流程图。
具体实施方式
[0030]以下结合附图对本专利技术的实施例作进一步详细描述。
[0031]如图2所示,本专利技术一种解决集群逻辑卷并发激活和反激活的新方法,包括:
[0032]步骤1:通过逻辑卷同步查询接口获取LV对应的文件锁或内存锁,即文件或内存Lock;
[0033]步骤2:获取文件或内存Lock后,根据VG和LV的名称,读取Tag中的引用计数usedref;
[0034]在当前主机上,文件或内存lock用于同步对于Tag的引用计数的访问。
[0035]Tag相关:
[0036]Tag是LV的元数据的一种类型,存储在LV的元数据中,可以存储相关的标识信息,用户的个性化信息,存储的信息容量推荐不超过1024个字节。LV需要激活后才能使用,如果
没有任务使用,则需要处于反激活状态。
[0037]使用如下命令查询tag信息,比如clvmtest是VG名称,test是lv名称,获取test的tag信息命令如下:
[0038]lvs

o tags_name clvmtest/test
[0039]LV LV Tags
[0040]lv2 usedref=1
[0041]步骤3:判断LV是否激活,如果没有激活,则激活LV,并令写入Tag中的usedref=1;
[0042]如果LV已经激活,对于Tag中的引用计数usedref加1后写入LV的Tag中,实现tag修改;
[0043]采用如下进行修改LV的tag信息:
[0044]lvchange
‑‑
deltag tagvalue clvmtest/test
[0045]lvchange
‑‑
addtag ta本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种解决集群逻辑卷并发激活和反激活的新方法,其特征在于,包括:步骤1:获取LV对应的文件或内存Lock;步骤2:获取Lock后,读取Tag中的引用计数usedref;步骤3:判断LV是否激活,根据判断结果更新Tag中的usedref;步骤4:释放LV对应的文件或内存Lock,执行当前的操作任务;步骤5:获取LV对应的文件或内存Lock;步骤6:获取Lock后,读取Tag中的引用计数usedref;步骤7:对于Tag中的usedref进行减1,判断是否进行LV的反激活动作;步骤8:释放LV对应的文件或内存Lock。2.根据权利要求1所述的一种解决集群逻辑卷并发激活和反激活的新方法,其特征在于,所述步骤1通过逻辑卷同步查询接口获取LV对应的文件锁或内存锁,即文件或内存Lock,所述文件或内存lock用于同步对于Tag的引用计数的访问。3.根据权利要求1所述的一种解决集群逻辑卷并发激活和反激活的新方法,其特征在于,所述步骤2根据VG和LV的名称,读取Tag中的引用计数usedref;所述Tag为LV的元数据,用于存储相关的标识信息,用户的个性化信息,且存储...

【专利技术属性】
技术研发人员:郭中华张磊杨经纬陈相如
申请(专利权)人:中电信数智科技有限公司
类型:发明
国别省市:

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

1