一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种存储多路径中路径失效管理方法、装置、设备及介质与流程

2022-11-30 14:02:05 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,尤其涉及一种存储多路径中路径失效管理方法、装置、设备及介质。


背景技术:

2.存储多路径技术是指在一台主机和存储阵列端使用多条路径连接,使主机到阵列的可见路径大于一条,其间可以跨过多个交换机,避免单点故障,提供更高的可用性和性能优势。高可用性体现在:san网络环境的任意一个节点出现故障,io请求可以通过其它路径发送,避免中断。高吞吐率性能优势体现在:io请求可以同时通过多条路径负载均衡的发送,提高io吞吐率。
3.传统多路径设置路径失效方法,以单个多路径卷为单位,当单个卷故障进行错误处理时,检测到链路故障,会置该卷的该路径失效。各个卷之间相互独立,一方面不能在确认故障为链路故障的第一时间将所有受影响的多路径卷的该路径设置失效,从而影响故障切换的时效性以及i/o中断时间;另一方面在单个多路径卷未对故障路径设置失效时,故障路径仍然会接收i/o,从而增大后续故障分析及处理的资源占用。


技术实现要素:

4.有鉴于此,有必要针对映射大量卷的场景,在主机和存储的链路出现故障的情况下,传统多路径设置路径失效的方法存在设置路径失效的失效性差,故障切换效率低的问题,本发明提供一种存储多路径中路径失效管理方法、装置、设备及介质。
5.根据本发明的第一方面,提供了一种存储多路径中路径失效管理方法,所述方法包括:
6.设置多个路径组,并在多路径发现时为每个路径组指定备用路径组、所属控制器和所属双活站点,其中,每个路径组用于保存属于同一条物理路径的所有路径;
7.若存在失效路径则遍历每个路径组以确定从所述多个路径组中找到所述失效路径所属的目标路径组;
8.从除所述目标路径组以外的剩余路径组中为所述失效路径寻找可切换路径,并基于所述目标路径组对应的备用路径组、所属控制器和所属双活站点维护失效链表;
9.若找到可切换路径则遍历每条路径以将属于所述失效链表的路径标记为失效。
10.在一些实施例中,所述遍历每个路径组以确定从所述多个路径组中找到所述失效路径所属的目标路径组,包括:
11.将路径组下标i设置为0;
12.判断路径组下标i是否小于路径组总数目;
13.若路径组下标i小于路径组总数目,则判断路径组下标i的id与失效路径的id是否一致;
14.若一致则确认失效路径对应的目标路径组找到;
15.若不一致则将路径组下标i加1并返回执行判断路径组下标i是否小于路径组总数目。
16.在一些实施例中,所述从除所述目标路径组以外的剩余路径组中为所述失效路径寻找可切换路径,并基于所述目标路径组对应的备用路径组、所属控制器和所属双活站点维护失效链表,包括:
17.判断目标路径组对应的备用路径组是否可用;
18.若目标路径组对应的备用路径组可用,则从所述目标路径组对应的备用路径组中寻找可切换路径;
19.若目标路径组对应的备用路径组不可用,则将目标路径组对应的备用路径组id加入失效链表,并判断目标路径组所属控制器下所有路径组是否均不可用、判断目标路径组属双活站点下所有路径组是否均不可用;
20.若目标路径组所属控制器下所有路径组均不可用,则将目标路径所属控制器下所有路径组id加入失效链表;
21.若目标路径组属双活站点下所有路径组是否均不可用,则将目标路径组所属双活站点的所有路径组id加入失效链表;
22.再次遍历每个路径组以从除目标路径组及其备用路径组以外的路径组中寻找可切换路径。
23.在一些实施例中,所述若找到可切换路径则遍历每条路径以将属于所述失效链表的路径标记为失效,包括:
24.将多路径设备下标k设置0,将多路径设备路径下标j设置0;
25.判断多路径设备下标k是否小于多路径总数目,如果为真则继续执行,否则结束;
26.判断多路径设备路径下标j是否小于多路径设备下标k的路径总数目,如果为真则继续执行,否则多路径设备下标k加1并返回执行判断多路径设备下标k是否小于多路径总数目;
27.判断多路径设备k路径j的id是否等于失效路径的id;如果为真则将多路径设备k路径j设置为失效,否则继续执行;
28.判断多路径设备k路径j的id是否等于失效链表中的id;如果为真则将多路径设备k路径j设置为失效,否则将多路径设备路径下标j加1并返回执行判断多路径设备路径下标j是否小于多路径设备的路径总数目。
29.根据本发明的第二方面,提供了一种存储多路径中路径失效管理装置,所述装置包括:
30.设置模块,配置用于设置多个路径组,并在多路径发现时为每个路径组指定备用路径组、所属控制器和所属双活站点,其中,每个路径组用于保存属于同一条物理路径的所有路径;
31.确定模块,配置用于若存在失效路径则遍历每个路径组以确定从所述多个路径组中找到所述失效路径所属的目标路径组;
32.查找模块,配置用于从除所述目标路径组以外的剩余路径组中为所述失效路径寻找可切换路径,并基于所述目标路径组对应的备用路径组、所属控制器和所属双活站点维护失效链表;
33.标记模块,配置用于若找到可切换路径则遍历每条路径以将属于所述失效链表的路径标记为失效。
34.在一些实施例中,所述确定模块进一步配置用于:
35.将路径组下标i设置为0;
36.判断路径组下标i是否小于路径组总数目;
37.若路径组下标i小于路径组总数目,则判断路径组下标i的id与失效路径的id是否一致;
38.若一致则确认失效路径对应的目标路径组找到;
39.若不一致则将路径组下标i加1并返回执行判断路径组下标i是否小于路径组总数目。
40.在一些实施例中,所述查找模块进一步配置用于:
41.判断目标路径组对应的备用路径组是否可用;
42.若目标路径组对应的备用路径组可用,则从所述目标路径组对应的备用路径组中寻找可切换路径;
43.若目标路径组对应的备用路径组不可用,则将目标路径组对应的备用路径组id加入失效链表,并判断目标路径组所属控制器下所有路径组是否均不可用、判断目标路径组属双活站点下所有路径组是否均不可用;
44.若目标路径组所属控制器下所有路径组均不可用,则将目标路径所属控制器下所有路径组id加入失效链表;
45.若目标路径组属双活站点下所有路径组是否均不可用,则将目标路径组所属双活站点的所有路径组id加入失效链表;
46.再次遍历每个路径组以从除目标路径组及其备用路径组以外的路径组中寻找可切换路径。
47.在一些实施例中,所述标记模块进一步配置用于:
48.将多路径设备下标k设置0,将多路径设备路径下标j设置0;
49.判断多路径设备下标k是否小于多路径总数目,如果为真则继续执行,否则结束;
50.判断多路径设备路径下标j是否小于多路径设备下标k的路径总数目,如果为真则继续执行,否则多路径设备下标k加1并返回执行判断多路径设备下标k是否小于多路径总数目;
51.判断多路径设备k路径j的id是否等于失效路径的id;如果为真则将多路径设备k路径j设置为失效,否则继续执行;
52.判断多路径设备k路径j的id是否等于失效链表中的id;如果为真则将多路径设备k路径j设置为失效,否则将多路径设备路径下标j加1并返回执行判断多路径设备路径下标j是否小于多路径设备的路径总数目。
53.根据本发明的第三方面,还提供了一种计算机设备,该计算机设备包括:
54.至少一个处理器;以及
55.存储器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时执行前述的存储多路径中路径失效管理方法。
56.根据本发明的第四方面,还提供了一种计算机可读存储介质,计算机可读存储介
质存储有计算机程序,计算机程序被处理器执行时执行前述的存储多路径中路径失效管理方法。
57.上述一种存储多路径中路径失效管理方法,采用既简单又高效的方式实现设置多路径的路径失效,大大提高多路径故障切换效率,大大减少故障分析及处理时的资源占用。
58.此外,本发明还提供了一种存储多路径中路径失效管理装置、一种计算机设备和一种计算机可读存储介质,同样能实现上述技术效果,这里不再赘述。
附图说明
59.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
60.图1为本发明一个实施例提供的一种存储多路径中路径失效管理方法的流程图;
61.图2为本发明另一个实施例提供的另一种存储多路径中路径失效管理方法的流程图;
62.图3为本发明另一个实施例提供的一种存储多路径中路径失效管理装置的结构示意图;
63.图4为本发明另一个实施例中计算机设备的内部结构图。
具体实施方式
64.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
65.需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
66.在一个实施例中,请参照图1所示,本发明提供了一种存储多路径中路径失效管理方法100,具体来说,所述方法包括以下步骤:
67.步骤101,设置多个路径组,并在多路径发现时为每个路径组指定备用路径组、所属控制器和所属双活站点,其中,每个路径组用于保存属于同一条物理路径的所有路径;
68.步骤102,若存在失效路径则遍历每个路径组以确定从所述多个路径组中找到所述失效路径所属的目标路径组;
69.步骤103,从除所述目标路径组以外的剩余路径组中为所述失效路径寻找可切换路径,并基于所述目标路径组对应的备用路径组、所属控制器和所属双活站点维护失效链表;
70.步骤104,若找到可切换路径则遍历每条路径以将属于所述失效链表的路径标记为失效。
71.上述一种存储多路径中路径失效管理方法,采用既简单又高效的方式实现设置多路径的路径失效,大大提高多路径故障切换效率,大大减少故障分析及处理时的资源占用。
72.在一些实施例中,前述步骤102,遍历每个路径组以确定从所述多个路径组中找到
所述失效路径所属的目标路径组,包括:
73.将路径组下标i设置为0;
74.判断路径组下标i是否小于路径组总数目;
75.若路径组下标i小于路径组总数目,则判断路径组下标i的id与失效路径的id是否一致;
76.若一致则确认失效路径对应的目标路径组找到;
77.若不一致则将路径组下标i加1并返回执行判断路径组下标i是否小于路径组总数目。
78.在一些实施例中,步骤103,所述从除所述目标路径组以外的剩余路径组中为所述失效路径寻找可切换路径,并基于所述目标路径组对应的备用路径组、所属控制器和所属双活站点维护失效链表,包括:
79.判断目标路径组对应的备用路径组是否可用;
80.若目标路径组对应的备用路径组可用,则从所述目标路径组对应的备用路径组中寻找可切换路径;
81.若目标路径组对应的备用路径组不可用,则将目标路径组对应的备用路径组id加入失效链表,并判断目标路径组所属控制器下所有路径组是否均不可用、判断目标路径组属双活站点下所有路径组是否均不可用;
82.若目标路径组所属控制器下所有路径组均不可用,则将目标路径所属控制器下所有路径组id加入失效链表;
83.若目标路径组属双活站点下所有路径组是否均不可用,则将目标路径组所属双活站点的所有路径组id加入失效链表;
84.再次遍历每个路径组以从除目标路径组及其备用路径组以外的路径组中寻找可切换路径。
85.在一些实施例中,前述步骤104,所述若找到可切换路径则遍历每条路径以将属于所述失效链表的路径标记为失效,包括:
86.将多路径设备下标k设置0,将多路径设备路径下标j设置0;
87.判断多路径设备下标k是否小于多路径总数目,如果为真则继续执行,否则结束;
88.判断多路径设备路径下标j是否小于多路径设备的路径总数目,如果为真则继续执行,否则多路径设备下标k加1并返回执行判断多路径设备下标k是否小于多路径总数目;
89.判断多路径设备k路径j的id是否等于失效路径的id;如果为真则将多路径设备k路径j设置为失效,否则继续执行;
90.判断多路径设备k路径j的id是否等于失效链表中的id;如果为真则将多路径设备k路径j设置为失效,否则将多路径设备路径下标j加1并返回执行判断多路径设备路径下标j是否小于多路径设备的路径总数目。
91.在又一个实施例中,为了便于理解本发明的方案,下面以映射大量卷的场景下,在主机和存储的链路出现故障情形为例,本实施例提供了另一种存储多路径中路径失效管理方法200,具体方式过程参考如下:
92.首先通过下列步骤为设置路径失效提供基础准备工作:
93.步骤一,路径组(pathgroup)保存了同一条物理路径所上报的所有物理盘信息。同
一条路径指,通过host:channel:target信息唯一确定的路径,scsi类型设备由h:c:t确定,nvme类似。
94.步骤二,在多路径的路径刚上来时,为每个路径组指定备用路径组。例如,路径组1,路径组2,路径组3,路径组4;其备用路径设置举例为:例如路径组1的备用路径组为路径组2,路径组2的备用路径组为路径组3,路径组3的备用路径组为路径组4,路径组4的备用路径组为路径组1;
95.步骤三,在多路径的路径刚上来时,为每个路径组指定所属控制器路径组链表。例如,路径组1,路径组2,路径组3,路径组4;路径组1,路径组2同属控制器a,路径组3,路径组4同属控制器b;路径组1指向控制器a链表;路径组2指向控制器a链表;路径组3指向控制器b链表;路径组4指向控制器b链表;
96.步骤四,在多路径的路径刚上来时,为每个路径组指定所属双活站点路径组链表。例如,路径组1,路径组2,路径组3,路径组4;路径组1,路径组2同属站点a,路径组3,路径组4同属站点b;路径组1指向站点a链表;路径组2指向站点a链表;路径组3指向站点b链表;路径组4指向站点b链表
97.请结合图2所示,下面将详细说明路径失效标记具体方式:
98.步骤s201:路径组下标i设置0;
99.步骤s202:获取路径组i的备用路径组;
100.步骤s203:判断i是否小于路径组总数目;如果为真,跳转步骤s204,否则跳转步骤s213;
101.步骤s204:判断路径组i的id与失效路径x的id是否一致;如果为真,说明失效路径对应的路径组找到,则跳转步骤s205,否则跳转步骤s206;
102.步骤s205:判断路径组i的备用路径组是否为可用状态;如果为真,说明可能仅仅为单条链路故障,则跳转步骤s207,否则跳转步骤s208;
103.步骤s206:路径组下标加1,然后跳转步骤s203;
104.步骤s207:设置新切换的路径n为路径组i的备用路径组id,同时设置新切换路径n找到标志;
105.步骤s208:将路径组i的备用路径组id加入失效链表;
106.步骤s209:判断路径组i的所属控制器的路径组是否均不可用;如果为真,说明发生了存储控制器故障,跳转步骤s210;否则跳转步骤s213;
107.步骤s210:将路径组i的所属控制器的所有路径组id加入失效链表;
108.步骤s211:判断路径组i的所属双活站点的路径组是否均不可用;如果为真,说明发生了双活站点故障,跳转步骤s212;否则跳转步骤s213;
109.步骤s212:将路径组i的所属双活站点的所有路径组id加入失效链表;
110.步骤s213:判断新切换路径n找到标志是否为真;如果为真,说明重新选择的新路径找到,跳转步骤s220;否则跳转步骤s214;
111.步骤s214:路径组下标i设置0;
112.步骤s215:判断i是否小于路径组总数目;如果为真,跳转步骤s216,否则跳转步骤s220;
113.步骤s216:判断路径组i的id是否为空或路径组i的id是否等于失效路径x的id;如
果为真,跳转步骤s219,否则跳转步骤s217;
114.步骤s217:路径组i的状态是否为可用状态,如果为真,说明找到一个可以的路径组,跳转步骤s218,否则跳转步骤s219;
115.步骤s218:设置新切换的路径n为路径组i的id,设置新切换路径n找到标志为真;
116.步骤s219:路径组下标加1,然后跳转步骤s215;
117.步骤s220:判断新切换路径n找到标志是否为真;如果为真,说明重新选择的新路径找到,跳转步骤s221;否则结束;
118.步骤s221:多路径设备下标k设置0,多路径设备路径下标j设置0;
119.步骤s222:判断k是否小于多路径总数目;如果为真,跳转步骤s223,否则结束;
120.步骤s223:判断j是否小于多路径设备k的路径总数目;,如果为真,跳转步骤s224,否则跳转步骤s228;
121.步骤s224:判断多路径设备k路径j的id是否等于失效路径x的id;如果为真,跳转步骤s226,否则跳转步骤s225;
122.步骤s225:判断多路径设备k路径j的id是否等于失效链表中的id;如果为真,跳转步骤s226,否则,跳转步骤s227
123.步骤s226:设置多路径k设备路径j为失效状态;
124.步骤s227:路径下标j加1;
125.步骤s228:设备下标k加1;
126.本实施例的一种存储多路径中路径失效管理方法,提供了既简单又高效的方式实现设置多路径的路径失效方式,大大提高多路径故障切换效率;大大减少故障分析及处理时的资源占用。
127.在又一个实施例中,请参照图3所示,本发明还提供了一种存储多路径中路径失效管理装置300,所述装置包括:
128.设置模块301,配置用于设置多个路径组,并在多路径发现时为每个路径组指定备用路径组、所属控制器和所属双活站点,其中,每个路径组用于保存属于同一条物理路径的所有路径;
129.确定模块302,配置用于若存在失效路径则遍历每个路径组以确定从所述多个路径组中找到所述失效路径所属的目标路径组;
130.查找模块303,配置用于从除所述目标路径组以外的剩余路径组中为所述失效路径寻找可切换路径,并基于所述目标路径组对应的备用路径组、所属控制器和所属双活站点维护失效链表;
131.标记模块304,配置用于若找到可切换路径则遍历每条路径以将属于所述失效链表的路径标记为失效。
132.上述一种存储多路径中路径失效管理装置,采用既简单又高效的方式实现设置多路径的路径失效,大大提高多路径故障切换效率,大大减少故障分析及处理时的资源占用。
133.在一些实施例中,所述确定模块302进一步配置用于:
134.将路径组下标i设置为0;
135.判断路径组下标i是否小于路径组总数目;
136.若路径组下标i小于路径组总数目,则判断路径组下标i的id与失效路径的id是否
一致;
137.若一致则确认失效路径对应的目标路径组找到;
138.若不一致则将路径组下标i加1并返回执行判断路径组下标i是否小于路径组总数目。
139.在一些实施例中,所述查找模块303进一步配置用于:
140.判断目标路径组对应的备用路径组是否可用;
141.若目标路径组对应的备用路径组可用,则从所述目标路径组对应的备用路径组中寻找可切换路径;
142.若目标路径组对应的备用路径组不可用,则将目标路径组对应的备用路径组id加入失效链表,并判断目标路径组所属控制器下所有路径组是否均不可用、判断目标路径组属双活站点下所有路径组是否均不可用;
143.若目标路径组所属控制器下所有路径组均不可用,则将目标路径所属控制器下所有路径组id加入失效链表;
144.若目标路径组属双活站点下所有路径组是否均不可用,则将目标路径组所属双活站点的所有路径组id加入失效链表;
145.再次遍历每个路径组以从除目标路径组及其备用路径组以外的路径组中寻找可切换路径。
146.在一些实施例中,所述标记模块304进一步配置用于:
147.将多路径设备下标k设置0,将多路径设备路径下标j设置0;
148.判断多路径设备下标k是否小于多路径总数目,如果为真则继续执行,否则结束;
149.判断多路径设备路径下标j是否小于多路径设备的路径总数目,如果为真则继续执行,否则多路径设备下标k加1并返回执行判断多路径设备下标k是否小于多路径总数目;
150.判断多路径设备k路径j的id是否等于失效路径的id;如果为真则将多路径设备k路径j设置为失效,否则继续执行;
151.判断多路径设备k路径j的id是否等于失效链表中的id;如果为真则将多路径设备k路径j设置为失效,否则将多路径设备路径下标j加1并返回执行判断多路径设备路径下标j是否小于多路径设备的路径总数目。
152.需要说明的是,关于存储多路径中路径失效管理装置的具体限定可以参见上文中对存储多路径中路径失效管理方法的限定,在此不再赘述。上述存储多路径中路径失效管理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
153.根据本发明的另一方面,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图请参照图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时实现以上所述的存储多路径中路径失效管理方
法,具体来说,所述方法包括以下步骤:
154.设置多个路径组,并在多路径发现时为每个路径组指定备用路径组、所属控制器和所属双活站点,其中,每个路径组用于保存属于同一条物理路径的所有路径;
155.若存在失效路径则遍历每个路径组以确定从所述多个路径组中找到所述失效路径所属的目标路径组;
156.从除所述目标路径组以外的剩余路径组中为所述失效路径寻找可切换路径,并基于所述目标路径组对应的备用路径组、所属控制器和所属双活站点维护失效链表;
157.若找到可切换路径则遍历每条路径以将属于所述失效链表的路径标记为失效。
158.根据本发明的又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上所述的存储多路径中路径失效管理方法,具体来说,包括执行以下步骤:
159.设置多个路径组,并在多路径发现时为每个路径组指定备用路径组、所属控制器和所属双活站点,其中,每个路径组用于保存属于同一条物理路径的所有路径;
160.若存在失效路径则遍历每个路径组以确定从所述多个路径组中找到所述失效路径所属的目标路径组;
161.从除所述目标路径组以外的剩余路径组中为所述失效路径寻找可切换路径,并基于所述目标路径组对应的备用路径组、所属控制器和所属双活站点维护失效链表;
162.若找到可切换路径则遍历每条路径以将属于所述失效链表的路径标记为失效。
163.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
164.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
165.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献