一种磁盘阵列故障快速恢复方法及装置与流程

文档序号:37260185发布日期:2024-03-12 20:38阅读:11来源:国知局
一种磁盘阵列故障快速恢复方法及装置与流程

本技术涉及数据存储以及计算机应用,特别的涉及一种磁盘阵列故障快速恢复方法及装置。


背景技术:

1、存储设备通常采用raid(即磁盘阵列)技术组成大容量存储池,即利用单个磁盘提供的数据加成效应,以提高整个存储系统的效率。随着存储业务的增加,存储设备上用来存储数据的磁盘也增多,进而导致磁盘掉盘、磁盘闪断、磁盘接口老化松动、磁盘柜与存储设备连接线松动、磁盘柜电源异常以及错误插拔盘等风险增大,这些都将致使磁盘掉线,因而导致raid出现故障。当故障超过raid的容错能力时,例如,当由3块磁盘构建的raid5(5表示raid的级别为5)掉了2块及以上的磁盘时,raid将处于不健康的状态,因而raid的读写i/o将会挂住,即由于输入/输出操作(i/o操作)的延迟或阻塞导致系统无法继续执行其他任务或响应用户请求的现象,进而导致业务中断。

2、目前,存储厂商针对磁盘掉线导致raid故障的解决方式主要有重启恢复与自动恢复两种。其中,重启恢复方式为:当raid中出现多块盘掉线时,将磁盘插回恢复链路状态后,还需重启存储设备才能恢复业务i/o。自动恢复方式为:当raid中出现多块盘掉线时,将磁盘插回后可以自动恢复,无需重启操作。

3、然而,前者在存储设备重启的过程中,该存储设备上的其它raid上的业务也将受到影响无法工作,并且,如果该raid上有缓存的脏数据,重启后这部分数据将会丢失,其中,脏数据通常指的是数据库中包含有错误、不一致或无效的数据;后者虽然能在磁盘插回后自动恢复磁盘链路状态,但为了保证数据的一致性,需要先将缓存中的脏数据写到磁盘中之后,才能恢复raid及相关业务,进而导致存储业务中断时间过长。


技术实现思路

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、在磁盘阵列故障快速恢复过程中,接收与所有磁盘对应的通断信号,并根据通断信号确定出第一磁盘集合;基于磁盘阵列的磁盘属性得到第二磁盘集合,并根据第一磁盘集合以及第二磁盘集合,确定出第一目标磁盘集合;当检测到第一目标磁盘集合中的第一磁盘数量大于预设的阈值时,发出插盘通知,并将与第一目标磁盘集合所对应的缓存数据写入第一事务组;当接收到与插盘通知所对应的恢复信号时,将第一事务组中的数据写入第一目标磁盘集合。根据与所有磁盘对应的通断信号以及磁盘阵列的磁盘属性,对磁盘阵列进行插盘恢复,并通过将存储空间分为具有特定数据处理方式的事务组,完成了磁盘阵列故障时的缓存数据的写入,以实现掉盘导致的磁盘阵列故障的快速恢复,保证了缓存数据的可靠性以及完整性,并极大地缩短了磁盘阵列的自动恢复时间。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1