存储系统的故障处理方法、存储系统以及存储设备与流程
- 国知局
- 2024-07-31 22:36:29
本技术涉及存储,特别涉及一种存储系统的故障处理方法、存储系统以及存储设备。
背景技术:
1、随着企业业务的不断发展,越来越多的企业通过配备包含两个存储设备的存储系统,来降低入门级存储成本。通常,这种存储系统在存储设备故障、进程故障或网络故障等场景下,为了确保两个存储设备之间的数据一致性,会访问仲裁设备,由仲裁设备来决策由哪个存储设备具有对外提供存储服务的权限。
2、相关技术中,上述仲裁设备通常部署于存储系统外部的第三方仲裁设备。例如,存储系统正常对外提供存储服务时,仲裁设备存储的仲裁信息指示存储系统的ab两个存储设备均具有对外提供存储服务的权限,若a存储设备发生故障,那么b存储设备会访问仲裁设备来请求对外提供存储服务,若仲裁设备反馈的仲裁信息指示b存储设备具有对外提供存储服务的权限,则由b存储设备对外提供存储服务,实现故障恢复。
3、然而,在上述方法中,b存储设备访问第三方仲裁设备部署的仲裁设备会耗费较长时间,导致故障恢复时延较大,系统可靠性较低。
技术实现思路
1、本技术提供了一种存储系统的故障处理方法、存储系统以及存储设备,能够有效降低存储系统的故障恢复时延,提高存储系统的可靠性。该技术方案如下:
2、第一方面,提供了一种存储系统的故障处理方法,所述存储系统包括第一存储设备和第二存储设备,所述第一存储设备上配置有第一仲裁设备,所述第二存储设备上配置有第二仲裁设备,所述方法包括:
3、若所述第一存储设备发生故障,所述第二存储设备从所述第一仲裁设备、所述第二仲裁设备以及第三仲裁设备中读取第一仲裁信息,所述第三仲裁设备独立于所述第一存储设备和所述第二存储设备;
4、若所述第一仲裁信息指示所述第一存储设备和所述第二存储设备均具有对外提供存储服务的权限,所述第二存储设备向所述第一仲裁设备、所述第二仲裁设备以及所述第三仲裁设备写入第二仲裁信息,所述第二仲裁信息指示所述第二存储设备具有对外提供存储服务的权限。
5、在上述方法中,若第一存储设备发生故障,第二存储设备能够同步访问三个仲裁设备来写入新的仲裁信息,以获取对外提供存储服务的权限。在这一过程中,访问均发生在存储设备之间或者存储设备内部,而由于存储设备之间、存储设备内部的访问速度都很快,因此能够大幅降低故障恢复时延,提高存储系统的可靠性。
6、在一些实施例中,所述第一存储设备的缓存和磁盘中均配置有所述第一仲裁设备,所述第二存储设备的缓存和磁盘中均配置有所述第二仲裁设备。
7、在一些实施例中,所述第二存储设备从所述第一仲裁设备、所述第二仲裁设备以及所述第三仲裁设备中读取第一仲裁信息,包括:
8、所述第二存储设备从所述第一存储设备的缓存中配置的所述第一仲裁设备、所述第二存储设备的缓存中配置的所述第二仲裁设备以及所述第三仲裁设备中读取第一仲裁信息。
9、通过上述方式,由于第一存储设备与第二存储设备之间的网络为数据专有网络,因此存储设备之间互相访问所耗费的时间很小,而且,磁盘中存储的仲裁信息与缓存中存储的仲裁信息是一致的,而访问缓存所耗费的时间相比访问磁盘更小,因此,通过上述方式,有效降低了第二存储设备访问第一仲裁设备和第二仲裁设备所耗费的时间。
10、在一些实施例中,所述第二存储设备向所述第一仲裁设备、所述第二仲裁设备以及所述第三仲裁设备写入第二仲裁信息,包括:
11、所述第二存储设备向所述第一仲裁设备的缓存和磁盘中配置的所述第一仲裁设备均写入所述第二仲裁信息,向所述第二仲裁设备的缓存和磁盘中配置的所述第二仲裁设备均写入所述第二仲裁信息。
12、应理解,若向存储设备的磁盘中成功写入某一数据,那么向该存储设备的缓存中也能够成功写入该数据,反之,若向存储设备的缓存中成功写入某一数据,并不能确保向该存储设备的磁盘中也成功写入该数据,因此,通过上述方式,向缓存和磁盘中均写入第二仲裁信息,能够确保写入仲裁信息的成功率,也即确保仲裁设备的可靠性,进而提升存储系统的可靠性。
13、在一些实施例中,所述方法还包括:
14、若所述第二存储设备从所述第一仲裁设备、所述第二仲裁设备以及所述第三仲裁设备中任意两个仲裁设备中读取到所述第一仲裁信息,确定读取成功。
15、在一些实施例中,所述方法还包括:
16、若所述第二存储设备向所述第一仲裁设备、所述第二仲裁设备以及所述第三仲裁设备中任意两个仲裁设备成功写入所述第二仲裁信息,确定写入成功,由所述第二存储设备对外提供存储服务。
17、通过上述方式,每次读写仲裁达到大多数原则即认为读取成功或写入成功,从而大幅降低了故障恢复时延,提高了存储系统的可靠性。
18、在一些实施例中,所述方法还包括:
19、若所述第一存储设备和所述第二存储设备发生进程重启,
20、所述第一存储设备从所述第一仲裁设备、所述第二仲裁设备以及所述第三仲裁设备中读取仲裁信息,若读取到第三仲裁信息,且所述第三仲裁信息指示所述第一存储设备和所述第二存储设备均具有对外提供存储服务的权限,所述第一存储设备对外提供存储服务;
21、所述第二存储设备从所述第一仲裁设备、所述第二仲裁设备以及所述第三仲裁设备中读取仲裁信息,若读取到所述第三仲裁信息,所述第二存储设备对外提供存储服务。
22、通过上述方法,由于存储设备之间、存储设备内部的访问速度都很快,因此能够大幅降低故障恢复时延,提高存储系统的可靠性,而且,若第三仲裁设备发生故障,采用上述方式能够确保存储系统恢复运行,反观相关技术,若第三仲裁设备发生故障,各个存储设备无法成功访问第三仲裁设备,从而各个存储设备无法确定自身能否对外提供存储服务,也即导致了存储系统的业务中断,存储系统的可靠性较差。
23、在一些实施例中,所述方法还包括:
24、若所述第一存储设备从所述第一仲裁设备、所述第二仲裁设备以及所述第三仲裁设备中读取到的仲裁信息不是所述第三仲裁信息,所述第一存储设备向所述第一仲裁设备、所述第二仲裁设备以及所述第三仲裁设备写入第四仲裁信息,所述第四仲裁信息指示所述第一存储设备和所述第二存储设备均具有对外提供存储服务的权限。
25、在一些实施例中,所述第一存储设备为主存储设备,所述第二存储设备为备存储设备;
26、所述第一存储设备向所述第一仲裁设备、所述第二仲裁设备以及所述第三仲裁设备写入第四仲裁信息,包括:
27、所述第一存储设备通知所述第二存储设备向所述第二仲裁设备写入所述第四仲裁信息;所述第一存储设备向所述第一仲裁设备和所述第三仲裁设备写入所述第四仲裁信息。
28、在一些实施例中,所述第三仲裁设备配置于所述存储系统中控制器的背板硬件;或者,所述第三仲裁设备为第三方仲裁设备。
29、第二方面,本技术实施例提供了一种存储系统,所述存储系统包括第一存储设备和第二存储设备,所述第一存储设备上配置有第一仲裁设备,所述第二存储设备上配置有第二仲裁设备;
30、所述第二存储设备,用于:
31、若所述第一存储设备发生故障,所述第二存储设备从所述第一仲裁设备、所述第二仲裁设备以及第三仲裁设备中读取第一仲裁信息,所述第三仲裁设备独立于所述第一存储设备和所述第二存储设备;
32、若所述第一仲裁信息指示所述第一存储设备和所述第二存储设备均具有对外提供存储服务的权限,所述第二存储设备向所述第一仲裁设备、所述第二仲裁设备以及所述第三仲裁设备写入第二仲裁信息,所述第二仲裁信息指示所述第二存储设备具有对外提供存储服务的权限。
33、在一些实施例中,所述第一存储设备的缓存和磁盘中均配置有所述第一仲裁设备,所述第二存储设备的缓存和磁盘中均配置有所述第二仲裁设备。
34、在一些实施例中,所述第二存储设备,用于:
35、从所述第一存储设备的缓存中配置的所述第一仲裁设备、所述第二存储设备的缓存中配置的所述第二仲裁设备以及所述第三仲裁设备中读取第一仲裁信息。
36、在一些实施例中,所述第二存储设备,用于:
37、向所述第一仲裁设备的缓存和磁盘中配置的所述第一仲裁设备均写入所述第二仲裁信息,向所述第二仲裁设备的缓存和磁盘中配置的所述第二仲裁设备均写入所述第二仲裁信息。
38、在一些实施例中,所述第二存储设备,还用于:
39、若从所述第一仲裁设备、所述第二仲裁设备以及所述第三仲裁设备中任意两个仲裁设备中读取到所述第一仲裁信息,确定读取成功。
40、在一些实施例中,所述第二存储设备,还用于:
41、若向所述第一仲裁设备、所述第二仲裁设备以及所述第三仲裁设备中任意两个仲裁设备成功写入所述第二仲裁信息,确定写入成功,由所述第二存储设备对外提供存储服务。
42、在一些实施例中,若所述第一存储设备和所述第二存储设备发生进程重启;
43、所述第一存储设备,用于:从所述第一仲裁设备、所述第二仲裁设备以及所述第三仲裁设备中读取仲裁信息,若读取到第三仲裁信息,且所述第三仲裁信息指示所述第一存储设备和所述第二存储设备均具有对外提供存储服务的权限,所述第一存储设备对外提供存储服务;
44、所述第二存储设备,用于:从所述第一仲裁设备、所述第二仲裁设备以及所述第三仲裁设备中读取仲裁信息,若读取到所述第三仲裁信息,所述第二存储设备对外提供存储服务。
45、在一些实施例中,所述第一存储设备,还用于:若从所述第一仲裁设备、所述第二仲裁设备以及所述第三仲裁设备中读取到的仲裁信息不是所述第三仲裁信息,所述第一存储设备向所述第一仲裁设备、所述第二仲裁设备以及所述第三仲裁设备写入第四仲裁信息,所述第四仲裁信息指示所述第一存储设备和所述第二存储设备均具有对外提供存储服务的权限。
46、在一些实施例中,所述第一存储设备为主存储设备,所述第二存储设备为备存储设备;
47、所述第一存储设备,用于:
48、通知所述第二存储设备向所述第二仲裁设备写入所述第四仲裁信息;所述第一存储设备向所述第一仲裁设备和所述第三仲裁设备写入所述第四仲裁信息。
49、在一些实施例中,所述第三仲裁设备配置于所述存储系统中控制器的背板硬件;或者,所述第三仲裁设备为第三方仲裁设备。
50、第三方面,本技术实施例提供了一种存储系统的故障处理装置,该装置包括至少一个功能单元,该至少一个功能单元用于执行如前述第一方面或第一方面中任一种可能的实现方式所提供的存储系统的故障处理方法。
51、第四方面,本技术实施例提供了一种存储设备,该存储设备包括处理器和存储器,该存储器用于存储至少一段程序代码,该至少一段程序代码由该处理器加载并实现如上述第一方面或第一方面的任意一种可能的实现方式所提供的存储系统的故障处理方法。
52、第五方面,本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质用于存储至少一段程序代码,该至少一段程序代码用于实现前述第一方面或第一方面的任意一种可能的实现方式所提供的存储系统的故障处理方法。该存储介质包括但不限于易失性存储器,例如随机访问存储器,非易失性存储器,例如快闪存储器、硬盘(hard diskdrive,hdd)、固态硬盘(solid state drive,ssd)。
53、第六方面,本技术实施例提供了一种计算机程序产品,当该计算机程序产品在存储设备上运行时,使得该存储设备实现前述第一方面或第一方面的任意一种可能的实现方式所提供的存储系统的故障处理方法。该计算机程序产品可以为一个软件安装包,在需要实现前述方法的情况下,可以下载该计算机程序产品并在存储设备上执行该计算机程序产品。
本文地址:https://www.jishuxx.com/zhuanli/20240731/193834.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表