块存储设备的访问控制方法、装置及存储介质与流程
未命名
08-06
阅读:78
评论:0

1.本技术涉及数据存储技术领域,尤其涉及一种块存储设备的访问控制方法、装置及存储介质。
背景技术:
2.互联网小型计算机系统接口(internet small computer system interface,iscsi),是一种在传输控制协议(transmission controlprotocol,tcp)/网际协议(internet protocol,ip)上进行数据块传输的标准,iscsi可以实现在ip网络上运行小型计算机系统接口(small computer system interface,scsi)协议,使其能够在诸如高速千兆以太网上进行快速的数据存取备份操作,基于iscsi协议,可为块存储设备提供基于互联网的远程服务方式。
3.tgt,全称iscsi target framework,相关技术中,采用基于iscsi协议的tgt网关,籍以实现提供分布式块服务,从而在tgt创建块设备后,客户端通过ip登录对应的块设备后,进行对应的数据读写;同时,相关技术中,当分布式块服务系统中的tgt程序故障时,客户端的读写会被中断,客户端无法进行数据读写;同时,设定有故障自主切换而接近读写中断问题的方案,在故障切换后会带来读写数据错误的风险。
4.针对相关技术中采用故障自动切换对块存储设备进行访问,易造成读写数据出错的问题,尚未存在有效的解决方案。
技术实现要素:
5.本技术提供了一种存储设备的访问控制方法、装置及存储介质,以至少解决相关技术中采用故障自动切换对块存储设备进行访问,易造成读写数据出错的问题。
6.第一方面,本技术提供了一种块存储设备的访问控制方法,包括:
7.在预设的访问路径组中查找客户端在当前对块存储设备进行访问、且配置为可用路径的第一访问路径,并检测所述第一访问路径的连接状态,其中,每个所述客户端均连接由tgt网关创建和由多路径管理模块进行管理的多个逻辑单元号,每个所述逻辑单元号对应所述访问路径组中的一条访问路径,每个所述逻辑单元号还连接预设的块存储系统中的一个所述块存储设备;
8.在所述连接状态表示所述第一访问路径故障时,判断所述第一访问路径所对应的第一tgt网关是否与预设的分布式协调服务模块连接;
9.在判断到所述第一tgt网关与预设的分布式协调服务模块断开的情况下,从所述访问路径组中选取配置为可用路径的第二访问路径,并将所述第二访问路径切换为客户端在当前对块存储设备进行访问的所述第一访问路径,其中,所述第二访问路径所对应的第二tgt网关连接所述分布式协调服务器模块。
10.第二方面,本技术提供了一种块存储设备的访问控制装置,包括:
11.查询模块,用于在预设的访问路径组中查找客户端在当前对块存储设备进行访
问、且配置为可用路径的第一访问路径,并检测所述第一访问路径的连接状态,其中,每个所述客户端均连接由tgt网关创建和由多路径管理模块进行管理的多个逻辑单元号,每个所述逻辑单元号对应所述访问路径组中的一条访问路径,每个所述逻辑单元号还连接预设的块存储系统中的一个所述块存储设备;
12.判断模块,用于在所述连接状态表示所述第一访问路径故障时,判断所述第一访问路径所对应的第一tgt网关是否与预设的分布式协调服务模块连接;
13.处理模块,用于在判断到所述第一tgt网关与预设的分布式协调服务模块断开的情况下,从所述访问路径组中选取配置为可用路径的第二访问路径,并将所述第二访问路径切换为客户端在当前对块存储设备进行访问的所述第一访问路径,其中,所述第二访问路径所对应的第二tgt网关连接所述分布式协调服务器模块。
14.第三方面,提供了一种分布式协调服务器,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
15.存储器,用于存放计算机程序;
16.处理器,用于执行存储器上所存放的程序时,实现第一方面任一项实施例所述的块存储设备访问控制方法的步骤。
17.第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项实施例所述的块存储设备访问控制方法的步骤。
18.与相关技术相比,在本实施例中提供的块存储设备访问控制方法、装置、电子设备及存储介质,通过采用多路径管理模块对多个tgt程序创建的逻辑单元号,从而对逻辑单元号对应的访问路径进行管理,提高客户端读取块存储设备的可靠性;通过设置在任意时刻仅一条可用访问路径,使的在进行访问路径切换后,客户端对块存储设备进行访问时,不会读取数据出错,通过设置tgt网关与分布式协调服务模块建立连接,则对应的访问路径可用,确保访问路径的准确率,解决了采用故障自动切换对块存储设备进行访问,易造成读写数据出错的问题,实现了客户端从多条访问路径读写同一块存储设备,并在访问路径故障时进行切换,从而达到存储服务高可用的特性。
19.本技术的一个或多个实施例的细节在以下附图和描述中提出,以使本技术的其他特征、目的和优点更加简明易懂。
附图说明
20.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
21.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
22.图1为本技术实施例提供的一种块存储设备的访问控制方法的流程示意图;
23.图2为本技术优选实施例提供的一种块存储设备访问控制方法的流程示意图;
24.图3是本技术实施例的块存储设备的访问控制装置的结构框图;
25.图4是本技术实施例的电子设备结构示意图。
具体实施方式
26.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
27.首先,对本技术实施例中涉及到的相关术语及现有技术进行解释说明如下:
28.multipath,linux环境下一种提供多路径管理功能的开源软件,具有故障切换和负载均衡等功能。
29.弹性块存储(elastic block storage,ebs),用于提供真正的块存储服务。
30.逻辑单元号(logical unit number,lun),用于存储,可以使用lun作为系统物理驱动器来安装操作系统,lun可以用在集群、虚拟服务器、存储区域网络(storage area network and san protocols,san)中,在虚拟服务器中使用lun的主要用途是作为操作系统的存储,lun的性能和可靠性根据在创建目标存储服务器时所使用的驱动器决定。
31.tgt全称是iscsi target framework,它是一个支持各种scsi target驱动协议(iscsi、网状通道(fibre channel,fc)、安全远程秘密(secure remote password,srp)等)的创建和维护的scsi target框架,tgt可以提供访问多种存储设备的方法,也是导出块存储设备的驱动程序;完整的tgt框架包括两大部分:用户空间(user space)和内核空间(kernel space)两部分,协议的创建和修改只需要在user space下完成,tgt出现的主要动机就是把传统的scsi target协议驱动的创建和维护从内核态转至用户态,避免每一次修改代码都需要重新编译内核,在用户态下,开发者可以使用多种第三方库以及调试工具等,减轻了开发人员的负担。
32.tgt程序作为网关,用于创建lun并向客户端导出,每个lun对应ebs中创建的真正块设备(volume),多个lun可对应ebs中同一个块存储设备,例如:如客户端a连接tgt1和tgt2分别创建的lun1和lun2,lun1和lun2对应ebs中的相同块存储设备,每个lun对于客户端来说都是一条路径。
33.zookeeper,一种提供分布式协调服务的开源软件,也定义为分布式协调服务模块,用于tgt节点注册、查询和控制路径切换。
34.现有相关技术中,通过引入linux环境下的多路径管理模块multipath,来管理多个不同tgt程序或tgt网关创建的块存储设备,当某个块存储设备故障时,多路径管理模块multipath进程通过检查故障,然后对故障进行切换,从而使得客户端读写服务不受影响;现有中,多路径管理模块multipath进行路径管理和切换策略是:在初始化时,多路径管理模块multipath发现所有可用访问路径,将通往同一块存储设备的访问路径聚集为访问路径组;选择一条访问路径作为当前使用的访问路径,其他为备用;当客户端当前使用的访问路径报错时,多路径管理模块multipath会将当前可用访问路径置为fail状态,从剩余可用访问路径中选一条访问路径进行故障切换,multipath也会周期性检测所有访问路径,当发现访问路径故障即将该访问路径设为fail,fail状态路径不会被选中;通过引入多路径管理模块multipath管理多个不同tgt程序或tgt网关创建的块存储设备所带来的一个问题是:若不加干预的让其自主进行访问路径切换,会导致客户端读到旧数据,并引发数据错误,例如:客户端在tgt a中写数据a
‑‑
》tgt a故障
‑‑
》切换到tgt b、更新数据a为数据b
‑‑
》
tgt b故障,tgt a恢复
‑‑
》切换到tgt a,读数据会读到a中旧数据a,但此时应该读取的正确数据为数据b,因而,相关技术中存在采用故障自动切换对块存储设备进行访问,易造成读写数据出错的问题。
35.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
36.图1为本技术实施例提供的一种块存储设备访问控制方法的流程示意图。如图1所示,本技术实施例提供了一种块存储设备访问控制方法,该方法包括如下步骤:
37.步骤s101,在预设的访问路径组中查找客户端在当前对块存储设备进行访问、且配置为可用路径的第一访问路径,并检测第一访问路径的连接状态,其中,每个客户端均连接由tgt网关创建和由多路径管理模块进行管理的多个逻辑单元号,每个逻辑单元号对应访问路径组中的一条访问路径,每个逻辑单元号还连接预设的块存储系统中的一个块存储设备。
38.在本实施例中,多路径管理模块包括但不限于multipath,通过多路径管理模块来管理多个不同tgt程序创建的逻辑单元号lun,每个逻辑单元号lun对应块存储系统中的同一个块存储设备,客户端读写块存储设备时,具有多条可选访问路径,多条可选访问路径聚集成访问路径组。
39.在本实施例中,不同的tgt网关创建的逻辑单元号的数目可以不同,也可以相同,同时,每个客户端连接的多个逻辑单元号是由不同的tgt网关创建的,例如:客户端c与客户端d分别连接两个逻辑单元号,其中,客户端c连接的两个逻辑单元号为lun-c1和lun-c2,客户端d连接的两个逻辑单元号为lun-d1和lun-d2,lun-c1和lun-d1可以是由tgt网关a创建的,lun-c2和lun-d2可以是由tgt网关b创建的;同时,每个客户端连接的多个逻辑单元号会对应块存储系统中的同一块存储设备,例如:lun-c1和lun-c2对应块存储系统中的同一块存储设备c。
40.在本实施例中,初始化时,在访问路径组内所有的访问路径中选择一条访问路径,设置为可用路径,也就是第一访问路径,其余访问路径无论可用与否均设置为失效或不可用状态,从而使得客户端访问块存储设备的任意时刻,均仅有一条可用的访问路径,避免读写数据出错。
41.在本实施例中,通过在tgt网关所对应的tgt程序中添加对应的分布式协调服务模块,在tgt网关启动后,在分布式协调服务模块上进行注册,从而使的对应的tgt网关加入对应的分布协调服务模块对应的系统生态。
42.在本实施例中,在查找到客户端当前进行块存储设备访问的第一访问路径之后,实时检测第一访问路径的连接状态,通过检测第一访问路径的连接状态,从而确定客户端访问块存储设备是否异常以及第一访问路径是否故障。
43.步骤s102,在连接状态表示第一访问路径故障时,判断第一访问路径所对应的第一tgt网关是否与预设的分布式协调服务模块连接。
44.在本实施例中,在第一访问路径故障时,此时,此前加入分布式协调服务模块的第一tgt网关可能处于分布式协调服务模块中,并未退出分布式协调服务模块,此时,通过检测第一tgt网关是否与分布式协调服务模块连接,来确定第一tgt网关退出,当检测到第一tgt网关与分布式协调服务模块连接时,则表示可能时其他故障或第一tgt网关短暂与分布式协调服务模块断开,然后又建立连接。
45.步骤s103,在判断到第一tgt网关与预设的分布式协调服务模块断开的情况下,从访问路径组中选取配置为可用路径的第二访问路径,并将第二访问路径切换为客户端在当前对块存储设备进行访问的第一访问路径,其中,第二访问路径所对应的第二tgt网关连接分布式协调服务器模块。
46.在本实施例中,在确定第一tgt网关与分布式协调服务模块断开时,则第一tgt网关从分布式协调服务模块中退出,此时,为保证客户端读取块存储设备,需要进行访问路径切换,也就是从访问路径中选取且仅选取一条可用的访问路径作为当前客户端访问块存储设备的访问路径。
47.在本实施例中,选取的第二访问路径时,需要改第二访问路径是可用的,例如:不能选取之前已故障的第一访问路径,同时,第二访问路径在启动时,第二访问路径所对应的第二tgt网关完成了在分布式协调服务模块上的注册,并加入分布式协调服务模块中,通过检查第二tgt网关是否与分布式协调服务模块连接,能检测到第二访问路径是否正常;在本实施例中,当选取到对应的第二访问路径之后,将该第二访问路径配置为当前使用的可用路径,客户端通过该第二访问路径进行访问对应的块存储设备,此后,第一访问路径及其余的访问路径对应配置为失效或不可用状态。
48.通过上述步骤s101至步骤s103,采用在预设的访问路径组中查找客户端在当前对块存储设备进行访问、且配置为可用路径的第一访问路径,并检测第一访问路径的连接状态;在连接状态表示第一访问路径故障时,判断第一访问路径所对应的第一tgt网关是否与预设的分布式协调服务模块连接;在判断到第一tgt网关与预设的分布式协调服务模块断开的情况下,从访问路径组中选取配置为可用路径的第二访问路径,并将第二访问路径切换为客户端在当前对块存储设备进行访问的第一访问路径,解决了采用故障自动切换对块存储设备进行访问,易造成读写数据出错的问题;同时,通过采用多路径管理模块对多个tgt程序创建的逻辑单元号,从而对逻辑单元号对应的访问路径进行管理,提高客户端读取块存储设备的可靠性;通过设置在任意时刻仅一条可用访问路径,使的在进行访问路径切换后,客户端对块存储设备进行访问时,不会读取数据出错,通过设置tgt网关与分布式协调服务模块建立连接,则对应的访问路径可用,确保访问路径的准确率,实现了客户端从多条访问路径读写同一块存储设备,并在访问路径故障时进行切换,确保存储服务高可用。
49.图2为本技术优选实施例提供的一种块存储设备访问控制方法的流程示意图。如图2所示,该控制方法包括如下步骤:
50.步骤s201,在预设的访问路径组中查找客户端在当前对块存储设备进行访问、且配置为可用路径的第一访问路径,并检测第一访问路径的连接状态,其中,每个客户端均连接由tgt网关创建和由多路径管理模块进行管理的多个逻辑单元号,每个逻辑单元号对应访问路径组中的一条访问路径,每个逻辑单元号还连接预设的块存储系统中的一个块存储设备。
51.步骤s202,在连接状态表示第一访问路径故障时,判断第一访问路径所对应的第一tgt网关是否与预设的分布式协调服务模块连接。
52.步骤s203,在判断到第一tgt网关与分布式协调服务模块连接的情况下,维持将第一访问路径作为客户端在当前对块存储设备进行访问的访问路径。
53.在本实施例中,在第一访问路径故障时,此时,此前加入分布式协调服务模块的第
一tgt网关可能处于与分布式协调服务模块中,并未退出分布式协调服务模块,此时,通过检测第一tgt网关是否与分布式协调服务模块连接,来确定第一tgt网关退出,当检测到第一tgt网关与分布式协调服务模块连接时,则表示可能时其他故障或第一tgt网关短暂与分布式协调服务模块断开,然后又建立连接。
54.通过上述步骤s201至步骤s203,采用在预设的访问路径组中查找客户端在当前对块存储设备进行访问、且配置为可用路径的第一访问路径,并检测第一访问路径的连接状态;在连接状态表示第一访问路径故障时,判断第一访问路径所对应的第一tgt网关是否与预设的分布式协调服务模块连接;在判断到第一tgt网关与分布式协调服务模块连接的情况下,维持将第一访问路径作为客户端在当前对块存储设备进行访问的访问路径,实现了非逻辑单元号故障造成的第一访问路径故障或第一访问路径短暂故障后恢复工作的检查,确保块存储设备访问的可靠性。
55.在其中一些实施例中,判断第一访问路径所对应的第一tgt网关是否与预设的分布式协调服务模块连接,还进一步包括如下步骤:
56.步骤12、在分布式协调服务模块中,检测是否存在第一tgt网关,确定第一检测结果,其中,第一tgt网关在启动后,加入分布式协调服务模块。
57.在本实施例中,通过在tgt网关对应的程序中添加分布式协调服务模块,因而,当tgt网关启动后,对应的tgt网关会在分布式协调服务模块zookeeper上进行注册,用以表征该tgt网关加入该分布式协调服务模块所对应的系统生态;在对应的tgt网关与分布式协调服务模块zookeeper连接断开后,通过检测是否存在对应的tgt网关,可以确定tgt网关与分布式协调服务模块zookeeper的连接状态。
58.步骤14、根据第一检测结果,判断第一tgt网关与分布式协调服务模块的第一连接状态,其中,第一连接状态包括临时断开状态。
59.步骤16、在判断到第一连接状态为临时断开状态、且间隔预设时间之后,在分布式协调服务模块中复检是否存在第一tgt网关。
60.在本实施例中,当判断到第一tgt网关与分布式协调服务模块临时断开时,第一tgt网关会在临时断开状态之后的一定时间内,与分布式协调服务模块进行重连,在重连成功的情况下,则无需进行访问路径切换,因此,在间隔预设时间后,在分布式协调服务模块中复检到第一tgt网关,可确定第一tgt网关重连成功,若未复检到第一tgt网关,则可确定第一tgt网关重连失败。
61.步骤18、在复检到分布式协调服务模块中不存在第一tgt网关的情况下,确定第一tgt网关与分布式协调服务模块断开。
62.在本实施例中,当在分布式协调服务模块未复检到第一tgt网关时,则表示第一tgt网关重连失败,第一tgt网关与分布式协调服务模块完全断开,客户端访问块存储设备的第一访问路径故障,需要切换访问路径。通过上述步骤12至步骤18中的在分布式协调服务模块中,检测是否存在第一tgt网关,确定第一检测结果,其中,第一tgt网关在启动后,加入分布式协调服务模块;根据第一检测结果,判断第一tgt网关与分布式协调服务模块的第一连接状态,其中,第一连接状态包括临时断开状态;在判断到第一连接状态为临时断开状态、且间隔预设时间之后,在分布式协调服务模块中复检是否存在第一tgt网关;在复检到分布式协调服务模块中不存在第一tgt网关的情况下,确定第一tgt网关与分布式协调服务
模块断开,实现了第一tgt网关临时断开后的复检,籍以对第一访问路径进行确认,确保客户端访问块存储模块的有效性。
63.在其中一些实施例中,为了对第一访问路径的故障进行确认,在步骤12的在分布式协调服务模块中,检测是否存在第一tgt网关,确定第一检测结果之后,还实施如下步骤:
64.步骤15,在第一检测结果表示在分布式协调服务模块中存在第一tgt网关时,确定第一tgt网关与分布式协调服务模块连接,其中,第一连接状态包括第一tgt网关与分布式协调服务模块连接;或
65.步骤19、在复检到分布式协调服务模块中存在第一tgt网关的情况下,确定第一tgt网关与分布式协调服务模块连接。
66.在其中一些实施例中,为了对第一访问路径的故障进行确认,还实施如下步骤:若未在分布式协调服务模块中复检第一tgt网关或复检到分布式协调服务模块中不存在第一tgt网关时,将第一tgt网关从分布式协调服务模块中退出。
67.在本实施例中,当对应的tgt网关与分布式协调服务模块连接断开后,会在等待一个zk预设的间隔时间(定义的超时时间),间隔时间内尝试重连分布式协调服务模块,重新建立连接,则表示无需对第一访问路径进行切换;重连失败则使对应的tgt网关及对应的逻辑单元号退出分布式协调服务模块,同时,当确定重连会话过期时,也将将对应的tgt网关及对应的逻辑单元号退出分布式协调服务模块。
68.在其中一些实施例中,步骤s103中的从访问路径组中选取配置为可用路径的第二访问路径,还进一步包括如下步骤:
69.步骤31、从访问路径组中,选取一条备选访问路径,其中,访问路径组包括多条配置为不可用路径的备选访问路径。
70.步骤32、启动备选访问路径及备选访问路径所对应的第三tgt网关,并判断第三tgt网关是否加入分布式协调服务模块,其中,第三tgt网关启动后,加入分布式协调服务模块。
71.步骤33、在判断到第三tgt网关加入分布式协调服务模块的情况下,确定备选访问路径启动成功,其中,第二访问路径包括启动成功的备选访问路径,第二tgt网关包括第三tgt网关。
72.通过上述步骤中的从访问路径组中,选取一条备选访问路径,其中,访问路径组包括多条配置为不可用路径的备选访问路径;启动备选访问路径及备选访问路径所对应的第三tgt网关,并判断第三tgt网关是否加入分布式协调服务模块,其中,第三tgt网关启动后,加入分布式协调服务模块;在判断到第三tgt网关加入分布式协调服务模块的情况下,确定备选访问路径启动成功,其中,第二访问路径包括启动成功的备选访问路径,第二tgt网关包括第三tgt网关,通过确定备选的访问路径在启动后是否在分布式协调服务模块上进行注册以及添加到分布式协调服务模块上,从而确定第二访问路径是否可用以及确保在任何时间均仅存在一条访问路径用于客户端访问块存储设备,确保客户端访问块存储设备不会出现数据读写出错。
73.在其中一些实施例中,步骤s103中将第二访问路径切换为客户端在当前对块存储设备进行访问的第一访问路径,还进一步包括如下步骤:将第二访问路径配置为当前可用访问路径,并将第一tgt网关从分布式协调服务模块中退出。
74.在本实施例中还提供了一种块存储设备的访问控制装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。以下所使用的术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管在以下实施例中所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
75.图3是本技术实施例的块存储设备的访问控制装置的结构框图,如图3所示,该装置包括:
76.查询模块31,用于在预设的访问路径组中查找客户端在当前对块存储设备进行访问、且配置为可用路径的第一访问路径,并检测第一访问路径的连接状态,其中,每个客户端均连接由tgt网关创建和由多路径管理模块进行管理的多个逻辑单元号,每个逻辑单元号对应访问路径组中的一条访问路径,每个逻辑单元号还连接预设的块存储系统中的一个块存储设备;
77.判断模块32,与查询模块31耦合连接,用于在连接状态表示第一访问路径故障时,判断第一访问路径所对应的第一tgt网关是否与预设的分布式协调服务模块连接;
78.处理模块33,与判断模块32耦合连接,用于在判断到第一tgt网关与预设的分布式协调服务模块断开的情况下,从访问路径组中选取配置为可用路径的第二访问路径,并将第二访问路径切换为客户端在当前对块存储设备进行访问的第一访问路径,其中,第二访问路径所对应的第二tgt网关连接分布式协调服务器模块。
79.通过本技术实施例的访问控制装置,采用通过采用多路径管理模块对多个tgt程序创建的逻辑单元号,从而对逻辑单元号对应的访问路径进行管理,提高客户端读取块存储设备的可靠性;通过设置在任意时刻仅一条可用访问路径,使的在进行访问路径切换后,客户端对块存储设备进行访问时,不会读取数据出错,通过设置tgt网关与分布式协调服务模块建立连接,则对应的访问路径可用,确保访问路径的准确率,解决了采用故障自动切换对块存储设备进行访问,易造成读写数据出错的问题,实现了客户端从多条访问路径读写同一块存储设备,并在访问路径故障时进行切换,从而达到存储服务高可用的特性。
80.在其中一些实施例中,访问控制装置还用于在判断到第一tgt网关与分布式协调服务模块连接的情况下,维持将第一访问路径作为客户端在当前对块存储设备进行访问的访问路径。
81.在其中一些实施例中,该判断模块32进一步可以包括:
82.第一检测单元,用于在分布式协调服务模块中,检测是否存在第一tgt网关,确定第一检测结果,其中,第一tgt网关在启动后,加入分布式协调服务模块;
83.第一判断单元,与第一检测单元耦合连接,用于根据第一检测结果,判断第一tgt网关与分布式协调服务模块的第一连接状态,其中,第一连接状态包括临时断开状态;
84.第一复检单元,与第一判断单元耦合连接,用于在判断到第一连接状态为临时断开状态、且间隔预设时间之后,在分布式协调服务模块中复检是否存在第一tgt网关;
85.第一确定单元,与第一复检单元耦合连接,用于在复检到分布式协调服务模块中不存在第一tgt网关的情况下,确定第一tgt网关与分布式协调服务模块断开。
86.在其中一些实施例中,判断模块32还用于在第一检测结果表示在分布式协调服务模块中存在第一tgt网关时,确定第一tgt网关与分布式协调服务模块连接,其中,第一连接状态包括第一tgt网关与分布式协调服务模块连接;或用于在复检到分布式协调服务模块
中存在第一tgt网关的情况下,确定第一tgt网关与分布式协调服务模块连接。
87.在其中一些实施例中,若未在分布式协调服务模块中复检第一tgt网关或复检到分布式协调服务模块中不存在第一tgt网关时,块存储设备的访问控制装置还用于将第一tgt网关从分布式协调服务模块中退出。
88.在其中一些实施例中,处理模块33还进一步包括:
89.第一选取单元,用于从访问路径组中,选取一条备选访问路径,其中,访问路径组包括多条配置为不可用路径的备选访问路径;
90.第二判断单元,与第一选取单元耦合连接,用于启动备选访问路径及备选访问路径所对应的第三tgt网关,并判断第三tgt网关是否加入分布式协调服务模块,其中,第三tgt网关启动后,加入分布式协调服务模块;
91.第二处理单元,与第二判断单元耦合连接,用于在判断到第三tgt网关加入分布式协调服务模块的情况下,确定备选访问路径启动成功,其中,第二访问路径包括启动成功的备选访问路径,第二tgt网关包括第三tgt网关。
92.在其中一些实施例中,处理模块还用于将第二访问路径配置为当前可用访问路径,并将第一tgt网关从分布式协调服务模块中退出。
93.图4是本技术实施例的电子设备结构示意图,如图4所示,本技术实施例提供了一种电子设备,包括处理器41、通信接口42、存储器43和通信总线44,其中,处理器41,通信接口42,存储器43通过通信总线44完成相互间的通信,
94.存储器43,用于存放计算机程序;
95.处理器41,用于执行存储器43上所存放的程序时,实现图1中的方法步骤。
96.该服务器中的处理实现图1中的方法步骤,所带来的技术效果与上述实施例执行图1中块存储设备的访问控制方法的技术效果一致,在此不再赘述。
97.上述终端提到的通信总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
98.通信接口用于上述终端与其他设备之间的通信。
99.存储器可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
100.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
101.本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述任意一个方法实施例提供的块存储设备的访问控制方法的步骤。
102.在本技术提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其
在计算机上运行时,使得计算机执行上述实施例中任一所述的块存储设备的访问控制方法。
103.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
104.以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
技术特征:
1.一种块存储设备的访问控制方法,其特征在于,包括:在预设的访问路径组中查找客户端在当前对块存储设备进行访问、且配置为可用路径的第一访问路径,并检测所述第一访问路径的连接状态,其中,每个所述客户端均连接由tgt网关创建和由多路径管理模块进行管理的多个逻辑单元号,每个所述逻辑单元号对应所述访问路径组中的一条访问路径,每个所述逻辑单元号还连接预设的块存储系统中的一个所述块存储设备;在所述连接状态表示所述第一访问路径故障时,判断所述第一访问路径所对应的第一tgt网关是否与预设的分布式协调服务模块连接;在判断到所述第一tgt网关与预设的分布式协调服务模块断开的情况下,从所述访问路径组中选取配置为可用路径的第二访问路径,并将所述第二访问路径切换为客户端在当前对块存储设备进行访问的所述第一访问路径,其中,所述第二访问路径所对应的第二tgt网关连接所述分布式协调服务器模块。2.根据权利要求1所述的方法,其特征在于,在判断到所述第一tgt网关与所述分布式协调服务模块连接的情况下,维持将所述第一访问路径作为客户端在当前对所述块存储设备进行访问的访问路径。3.根据权利要求2所述的方法,其特征在于,判断所述第一访问路径所对应的第一tgt网关是否与预设的分布式协调服务模块连接,包括:在所述分布式协调服务模块中,检测是否存在所述第一tgt网关,确定第一检测结果,其中,所述第一tgt网关在启动后,加入所述分布式协调服务模块;根据所述第一检测结果,判断所述第一tgt网关与所述分布式协调服务模块的第一连接状态,其中,所述第一连接状态包括临时断开状态;在判断到第一连接状态为临时断开状态、且间隔预设时间之后,在所述分布式协调服务模块中复检是否存在所述第一tgt网关;在复检到所述分布式协调服务模块中不存在所述第一tgt网关的情况下,确定所述第一tgt网关与所述分布式协调服务模块断开。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:在所述第一检测结果表示在所述分布式协调服务模块中存在所述第一tgt网关时,确定所述第一tgt网关与所述分布式协调服务模块连接,其中,所述第一连接状态包括所述第一tgt网关与所述分布式协调服务模块连接;或在复检到所述分布式协调服务模块中存在所述第一tgt网关的情况下,确定所述第一tgt网关与所述分布式协调服务模块连接。5.根据权利要求3所述的方法,其特征在于,所述方法还包括:若未在所述分布式协调服务模块中复检所述第一tgt网关或复检到所述分布式协调服务模块中不存在所述第一tgt网关时,将所述第一tgt网关从所述分布式协调服务模块中退出。6.根据权利要求1所述的方法,其特征在于,从所述访问路径组中选取配置为可用路径的第二访问路径,包括:从所述访问路径组中,选取一条备选访问路径,其中,所述访问路径组包括多条配置为不可用路径的备选访问路径;启动所述备选访问路径及所述备选访问路径所对应的第三tgt网关,并判断所述第三
tgt网关是否加入所述分布式协调服务模块,其中,所述第三tgt网关启动后,加入所述分布式协调服务模块;在判断到所述第三tgt网关加入所述分布式协调服务模块的情况下,确定所述备选访问路径启动成功,其中,所述第二访问路径包括启动成功的所述备选访问路径,所述第二tgt网关包括所述第三tgt网关。7.根据权利要求1所述的方法,其特征在于,将所述第二访问路径切换为客户端在当前对块存储设备进行访问的所述第一访问路径,包括:将所述第二访问路径配置为当前可用访问路径,并将所述第一tgt网关从所述分布式协调服务模块中退出。8.一种块存储设备的访问控制装置,其特征在于,包括:查询模块,用于在预设的访问路径组中查找客户端在当前对块存储设备进行访问、且配置为可用路径的第一访问路径,并检测所述第一访问路径的连接状态,其中,每个所述客户端均连接由tgt网关创建和由多路径管理模块进行管理的多个逻辑单元号,每个所述逻辑单元号对应所述访问路径组中的一条访问路径,每个所述逻辑单元号还连接预设的块存储系统中的一个所述块存储设备;判断模块,用于在所述连接状态表示所述第一访问路径故障时,判断所述第一访问路径所对应的第一tgt网关是否与预设的分布式协调服务模块连接;处理模块,用于在判断到所述第一tgt网关与预设的分布式协调服务模块断开的情况下,从所述访问路径组中选取配置为可用路径的第二访问路径,并将所述第二访问路径切换为客户端在当前对块存储设备进行访问的所述第一访问路径,其中,所述第二访问路径所对应的第二tgt网关连接所述分布式协调服务器模块。9.一种分布式协调服务器,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一项所述的块存储设备的访问控制方法的步骤。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的块存储设备的访问控制方法的步骤。
技术总结
本申请涉及一种块存储设备的访问控制方法、装置及存储介质,其中,该块存储设备的访问控制方法,包括:在预设的访问路径组中查找客户端在当前对块存储设备进行访问、且配置为可用路径的第一访问路径,并检测第一访问路径的连接状态;在连接状态表示第一访问路径故障时,判断第一访问路径所对应的第一TGT网关是否与预设的分布式协调服务模块连接;在判断到第一TGT网关与预设的分布式协调服务模块断开的情况下,从访问路径组中选取配置为可用路径的第二访问路径,并将第二访问路径切换为客户端在当前对块存储设备进行访问的第一访问路径,通过本申请,解决了采用故障自动切换对块存储设备进行访问,易造成读写数据出错的问题。题。题。
技术研发人员:陈墨
受保护的技术使用者:北京金山云网络技术有限公司
技术研发日:2022.01.26
技术公布日:2023/8/5
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种飞机刹车毂拆装装置的制作方法 下一篇:一种立柱漂浮式海上风力发电系统的制作方法