存储设备挂载方法、装置、计算机设备和存储介质与流程

文档序号:24412254发布日期:2021-03-26 19:49阅读:118来源:国知局
存储设备挂载方法、装置、计算机设备和存储介质与流程

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.图1为一个实施例中存储设备挂载方法的应用环境图;
46.图2为一个实施例中存储设备挂载方法的流程示意图;
47.图3为一个实施例中存储设备检测的流程示意图;
48.图4为另一个实施例中存储设备挂载方法的流程示意图;
49.图5为一个实施例中存储设备挂载装置的结构框图;
50.图6为一个实施例中计算机设备的内部结构图。
具体实施方式
51.为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
52.本申请提供的存储设备挂载方法,可以应用于如图1所示的应用环境中。其中,存储设备102在挂载成功后可以与服务器104进行通信。在存储设备102接入服务器104时,服务器104需要对接入的存储设备102进行挂载,服务器104对待挂载的存储设备102进行第一修复,在第一修复结果为修复失败时对存储设备102进行修复范围更大的第二修复,在第二修复结果为修复成功时,将存储设备102进行挂载。其中,存储设备102可以但不限于是各种储存信息的设备,如硬盘、磁带、磁芯存储器、磁光盘等,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
53.在一个实施例中,如图2所示,提供了一种存储设备挂载方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
54.步骤202,当检测到待挂载的存储设备时,对存储设备进行第一修复,得到第一修复结果。
55.其中,挂载是指由计算机操作系统使一个存储设备,诸如硬盘或共享资源上的计算机文件和目录可供用户通过计算机的文件系统访问的一个过程。当计算机关机时,每个已挂载存储都将经历一次卸载,以确保所有排队的数据被写入,并保证存储设备上文件系统结构的完整性。具体地,在linux操作系统中,将所有的设备都看作文件,将整个计算机的资源都整合成一个大的文件目录,在需要访问存储设备中的文件时,必须将文件所在的分区挂载到一个已存在的目录上,然后通过访问这个目录来访问存储设备。所以,对存储设备进行成功挂载,是正常访问存储设备的必要前提。存储设备是用于储存信息的设备,通常是将信息数字化后再以利用电、磁或光学等方式的媒体加以存储,如硬盘、磁带、磁光盘等。存储设备如硬盘出现错误,产生坏道时,导致硬盘对应部分无法进行正常的数据读写,硬盘坏道分为逻辑坏道和物理坏道两种,前者为软坏道,通常为软件操作或使用不当造成的,可用软件修复;后者为物理性坏道,表明硬盘磁道上产生了物理损伤,只能通过更改硬盘分区或扇区的使用情况来解决。修复即为对存储设备存在的坏道进行修补,以使存储设备中发生
错误的部分可以继续进行正常工作。第一修复为第一模式类型的修复,如可以为快速修复,即针对存储设备中的关键位置,或容易发生错误的部分进行修复,快速修复的速度快,用时少。第一修复结果为对存储设备进行第一修复的结果,可以包括修复成功和修复失败。
56.具体地,服务器检测到待挂载的存储设备时,如服务器枚举或发现外设的存储设备接入时,服务器对存储设备进行第一修复,以对存储设备的关键部分进行快速修复,得到第一修复结果。
57.步骤204,在第一修复结果为修复失败时,对存储设备进行第二修复,获得第二修复结果;其中,第二修复的修复范围大于第一修复的修复范围。
58.其中,第二修复为第二模式类型的修复,如可以为全面扫描修复,即对存储设备进行完整的修复,全面扫描修复可以遍历存储设备的所有位置,可以对存储设备进行准确全面的修复。第二修复的修复范围大于第一修复的修复范围,即相比于第一修复,第二修复可以对存储设备进行更准确和更全面的修复。
59.具体地,服务器获得对存储设备进行第一修复后的第一修复结果后,若第一修复结果为修复失败,即表明通过第一修复未能完全解决存储设备中存在的问题,则服务器进一步对存储设备进行修复范围更大的第二修复,从而通过修复范围增大的两次修复实现对存储设备的梯度修复,能够提高存储设备修复的全面性,得到第二修复结果。
60.步骤206,当第二修复结果为修复成功时,将存储设备进行挂载。
61.得到第二修复结果后,若第二修复结果为修复成功,即表明存储设备已经修补解决相应存在的问题,可以进行正常工作,服务器将存储设备进行挂载,从而在存储设备挂载成功后可以通过存储设备进行正常的数据读写操作。
62.上述存储设备挂载方法中,对检测到的待挂载的存储设备进行第一修复,在第一修复结果为修复失败时对存储设备进行修复范围更大的第二修复,在第二修复结果为修复成功时,将存储设备进行挂载。在存储设备挂载前,对于第一修复失败的存储设备,依次通过两次修复进行修复,且第二修复的修复范围大于第一修复的修复范围,在修复成功后将存储设备进行挂载,能够确保存储设备挂载成功后可以正常工作,确保数据的正常存储,提高了数据的安全性。
63.在一个实施例中,当检测到待挂载的存储设备时,对存储设备进行第一修复,得到第一修复结果包括:当检测到接入外置的存储设备时,对存储设备进行局部修复,到包括局部修复结果的第一修复结果。
64.本实施例中,第一修复为局部修复,第一修复结果包括局部修复结果。局部修复是一种快速模式修复,即只对存储设备的局部位置进行修复,如对存储设备中容易发生错误的位置进行修复。具体地,服务器检测到接入外置的存储设备时,服务器对存储设备进行局部修复,从而可以快速得到局部修复结果。
65.进一步地,若第一修复结果为修复成功,即表明存储设备经过第一修复已经解决存在的错误,可以正常工作,则服务器可以直接对第一修复后的存储设备进行挂载,在挂载成功后通过存储设备进行数据的读写操作。
66.进一步地,在第一修复结果为修复失败时,对存储设备进行第二修复,获得第二修复结果包括:当局部修复结果为修复失败时,对存储设备进行全面修复,获得包括全面修复结果的第二修复结果。
67.本实施例中,第二修复为全面修复,第二修复结果包括全面修复结果。全面修复是指对存储设备进行全面扫面,遍历存储设备的所有位置,并对各位置进行修复,全面修复的修复范围大于快速修复的修复范围,可以对存储设备进行完整全面的修复处理。具体地,在对存储设备进行局部修复,得到的局部修复结果为修复失败时,服务器对存储设备进行全面修复,遍历存储设备的所有部分,如遍历硬盘的所有扇区进行修复,获得全面修复结果。
68.本实施例中,先对待挂载的存储设备进行局部修复,可以确保修复的处理速度,在局部修复成功时,可以直接对局部修复后的存储设备进行挂载。在局部修复失败时,对存储设备进行全面修复,以提高修复的全面性。通过两次梯度修复处理,可以在确保存储设备挂载前修复效果的前提下,提高存储设备挂载前修复的处理效率。
69.在一个实施例中,在将存储设备进行挂载之后,还包括:当存储设备挂载成功、且满足预设的存储设备检测条件时,对存储设备进行存储设备检测,得到存储设备检测结果;当存储设备检测结果为存储设备异常时,发出存储设备异常提示消息。
70.其中,存储设备检测条件用于确定需要触发对存储设备进行检测,存储设备检测条件根据实际需要预先进行设置,如可以为定时检测、指令触发检测等。存储设备检测为对存储设备的属性和功能进行检测,以确定存储设备是否可以进行正常工作。
71.具体地,在对存储设备进行挂载后,服务器获得挂载结果,若挂载结果表明存储设备挂载成功,则服务器监测是否满足预设的存储设备检测条件,如监测是否达到预设的存储设备检测周期,若是,则服务器对存储设备进行存储设备检测,如对存储设备的挂载信息和读写功能分别进行检测,得到存储设备检测结果。若存储设备检测结果为存储设备异常,即存储设备存在异常,无法进行正常工作时,服务器发出存储设备异常提示消息。在具体应用时,若存储设备检测结果为存储设备异常,服务器可以进一步确定存储设备异常类型,基于存储设备异常类型生成对应的异常提示消息,并通过发出该异常提示消息进行提示,从而及时对存储设备的异常类型进行提示。另一方面,若存储设备检测结果为存储设备正常,表明存储设备可以进行正常作业,则服务器可以通过该存储设备进行数据读写操作,进一步地,也可以由服务器发出存储设备正常的提示消息,以提示该存储设备的状态。
72.本实施例中,在存储设备挂载成功、且满足预设的存储设备检测条件时,服务器对存储设备进行存储设备检测,并在存储设备异常无法进行正常作业时发出存储设备异常提示消息,可以有效地对存储设备的状态进行监测,同时及时对存储设备的异常进行提示,确保存储设备的正常作业,从而保障数据安全。
73.在一个实施例中,如图3所示,存储设备检测的处理,即当存储设备挂载成功、且满足预设的存储设备检测条件时,对存储设备进行存储设备检测,得到存储设备检测结果包括:
74.步骤302,当存储设备的挂载结果表征挂载成功、且达到存储设备检测周期时,检测存储设备的挂载信息,得到挂载信息检测结果。
75.本实施例中,存储设备检测条件包括存储设备检测周期。其中,存储设备检测周期为定时对存储设备进行检测的周期,可以根据实际需要进行灵活设置,如可以设置为12小时,即每隔12个小时对存储设备进行检测。存储设备检测周期具体可以根据存储设备的应用环境进行设置,如存储设备数据读写频繁时,则存储设备检测周期的数值可以设置较小;而在存储设备数据读写间隔时间较长时,则存储设备检测周期的数值可以设置较长,从而
在确保存储设备的检测效果的前提下更有效地利用检测资源。挂载信息为存储设备的属性信息,具体可以包括存储设备的文件系统信息,如是否可读写、是否有记录错误、初始若干扇区是否有“特定字符串”等。
76.具体地,在确定存储设备的挂载结果表征挂载成功、且达到存储设备检测周期时,触发对存储设备进行检测,服务器检测存储设备的挂载信息,如可以由服务器获取存储设备的文件系统信息进行异常检测,得到挂载信息检测结果。
77.步骤304,对存储设备进行读写检测,得到读写检测结果。
78.其中,读写检测为检测存储设备是否能够进行正常读写,若存储设备能够进行正常读写,即读取的数据与实际写入的数据对应,则存储设备是可靠的,可以基于该存储设备进行数据读写操作。反之,若存储设备的读写异常,即读取的数据与实际写入的数据不对应,则存储设备不可靠,若通过该存储设备进行数据读写操作,会导致数据丢失或错误,影响数据安全。
79.具体地,服务器对存储设备进行读写检测,具体可以将特定的测试数据写入存储设备中,并从存储设备中重新读取数据,将重新读取的数据与写入数据进行比较,得到读写检测结果。
80.步骤306,根据挂载信息检测结果和读写检测结果得到存储设备检测结果。
81.得到挂载信息检测结果和读写检测结果后,服务器结合挂载信息检测结果和读写检测结果得到存储设备检测结果。具体地,若挂载信息检测结果和读写检测结果中有任一一项异常,则存储设备检测结果为检测异常;当挂载信息检测结果和读写检测结果均为检测正常时,存储设备检测结果为检测正常。在具体实现时,若存储设备检测结果为检测异常,表明存储设备存在异常,无法进行正常作业,服务器可以发出提示消息,以提示对存储设备进行异常处理;若存储设备检测结果为检测正常,则可以基于该存储设备进行设备读写操作,并等待下一个存储设备检测周期再重复对存储设备进行检测。
82.本实施例中,通过定期对存储设备的挂载信息和读写功能进行检测,可以及时发现存储设备存在的异常,避免通过异常的存储设备进行数据读写时影响数据的安全性。
83.在一个实施例中,检测存储设备的挂载信息,得到挂载信息检测结果包括:获取存储设备的文件系统信息;对文件系统信息中的各类型系统信息分别进行异常检测,得到文件系统信息检测结果;基于文件系统信息检测结果得到挂载信息检测结果。
84.本实施例中,存储设备的挂载信息包括文件系统信息,具体可以包括但不限于包括是否可读写、是否有记录错误、初始若干扇区是否有“特定字符串”等各种类型的系统信息。其中,是否可读写用于确定存储设备是否支持读写操作,是否变为只读属性;是否有记录错误用于确定存储设备中是否存在错误异常;初始若干扇区是否有“特定字符串”用于确定存储设备中最开始的几个扇区是否存在特定错误的字符串。一般地,存储设备中最开始的几个扇区若存在特定字符串,则存储设备的其他部分也可能已经发生错误,从而可以判定存储设备是否异常。
85.具体地,在检测存储设备的挂载信息时,服务器获取存储设备的文件系统信息,具体可以对存储设备的属性信息进行探测,得到存储设备的文件系统信息。获得存储设备的文件系统信息后,服务器对文件系统信息中的各类型系统信息分别进行异常检测,得到文件系统信息检测结果。例如,文件系统信息可以包括是否可读写、是否有记录错误、初始若
干扇区是否有“特定字符串”等各类型系统信息,服务器可以分别对各类型系统信息进行异常检测,如根据文件系统信息中是否可读写的标识信息判断该存储设备是否支持读写,又如根据文件系统信息中是否有记录错误的标识信息判断该存储设备是否存在错误,还可以对存储设备初始的若干个扇区的字符串信息进行字符串匹配,以确定初始若干扇区是否有特定字符串,从而确定存储设备是否异常。文件系统信息检测结果包括各类型系统信息分别对应的异常检测结果。
86.得到文件系统信息检测结果后,服务器基于该文件系统信息检测得到挂载信息检测结果,例如可以直接将文件系统信息检测结果作为挂载信息检测结果;也可以对文件系统信息检测结果中各类型系统信息分别对应的异常检测结果进行分析后按照异常严重程度进行排序后得到挂载信息检测结果。
87.本实施例中,分别对存储设备的文件系统信息中的各类型系统信息进行异常检测,基于获得的文件系统信息检测结果得到挂载信息检测结果,可以基于存储设备的文件系统信息对存储设备进行异常分析,可以确定对存储设备的正常或异常状态进行监测,从而确保存储设备的正常工作。
88.在一个实施例中,对存储设备进行读写检测,得到读写检测结果包括:获取与存储设备中各扇区分别对应的读写测试数据;将读写测试数据写入存储设备对应的扇区中,并从存储设备对应的扇区中分别读取得到扇区测试数据;基于扇区测试数据和读写测试数据之间的比对结果,得到读写检测结果。
89.其中,扇区是指存储设备如磁盘上划分的区域,磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区,硬盘的读写以扇区为基本单位。对存储设备进行读写检测,需要通过在存储设备的各扇区写入特定的数据后重新读取进行判定,从而实现对存储设备的各区域的读写检测。
90.具体地,在对存储设备进行读写检测时,服务器获取与存储设备中各扇区分别对应的读写测试数据,读写测试数据根据实际需求预先生成,可以通过特定数据生成算法,如通过随机数生成算法生成随机数数据。为了区分存储设备中各个区域的读写,读写测试数据可以与存储设备的各区域对应,即不同的区域可以对应于不同的读写测试数据,从而确保读写检测的准确性。得到读写测试数据后,服务器将读写测试数据写入存储设备对应的扇区中,不同的扇区可以写入对应不同的读写测试数据。服务器再从存储设备对应的扇区中分别读取得到扇区测试数据,扇区测试数据指读写测试数据写入存储设备后重新读取得到的数据。服务器将扇区测试数据和读写测试数据进行比对,根据比对结果,得到读写检测结果。具体地,可以将存储设备中各扇区分别对应的扇区测试数据和读写测试数据一一进行比对,若比对一致,则表明从扇区读取的扇区测试数据和写入该扇区的读写测试数据一致,即读写一致,该扇区的读写功能正常,可以确保数据安全;若比对不一致,则表明该扇区的读写不一致,该扇区的读写功能异常,无法确保数据安全。读写检测结果反映了存储设备的读写功能状态,在具体实现时,读写检测结果可以包括存储设备中各个扇区对应的扇区读写检测结果,从而对存储设备的各扇区的读写进行直观反馈。此外,读写检测结果也可以包括对存储设备读写功能整体的判断,例如,在存储设备中读写异常的扇区数目超过预设的异常数目阈值时,认为该存储设备异常的扇区数量过多,存储设备不可信,则读写检测结果可以为读写异常。
91.本实施例中,通过直接将读写测试数据分别写入到存储设备的各个扇区进行数据读取,根据重新读取的扇区测试数据和读写测试数据之间的比对结果得到存储设备读写检测结果,从而通过直接读写的方式对存储设备中各个扇区的读写功能进行检测,可以准确确定存储设备的读写功能状态,从而确保存储设备的正常工作。
92.在一个实施例中,存储设备挂载方法还包括:当第一修复结果为修复成功时,将存储设备进行挂载;当存储设备挂载成功、且满足预设的存储设备检测条件时,对存储设备进行存储设备检测;当存储设备检测结果为存储设备正常时,基于存储设备进行数据读写。
93.本实施例中,若存储设备经过第一修复后修复成功,则直接对存储设备进行挂载,在存储设备挂载成功,且满足存储设备检测条件时对存储设备进行检测,若检测结果为存储设备正常,表明存储设备状态正常,可以正常执行数据读写作业,则基于该存储设备进行数据的读写操作。
94.具体地,在服务器对存储设备进行第一修复后,若第一修复结果为修复成功,表明存储设备经过第一修复已经解决存在的错误,可以正常工作,则服务器直接对第一修复后的存储设备进行挂载。服务器获取挂载结果,若挂载结果表明存储设备挂载成功,则服务器监测是否满足预设的存储设备检测条件,如监测是否达到预设的存储设备检测周期,若是,则服务器对存储设备进行存储设备检测,如对存储设备的挂载信息和读写功能分别进行检测,得到存储设备检测结果。若存储设备检测结果为存储设备正常,表明存储设备状态正常,可以正常执行相应的数据读写作业,则服务器基于该存储设备进行数据读写,实现对数据的读写处理。
95.本实施例中,在第一修复成功后对存储设备进行挂载,挂载成功且满足存储设备检测条件时对存储设备进行存储设备检测,若存储设备正常则基于该存储设备进行数据读写,实现对数据的读写处理,可以对状态正常的存储设备进行高效的检测和有效地监测,能够保障存储设备的正常数据读写,提高数据安全。
96.在一个实施例中,如图4所示,提供了一种存储设备挂载方法,包括以下步骤:
97.步骤402,后台初始化;
98.步骤404,是否接入外置存储设备;若是,则执行步骤406;若否,则执行步骤404;
99.步骤406,快速模式修复是否成功;若是,则执行步骤410;若否,则执行步骤408;
100.步骤408,全盘扫描修复是否成功;若是,则执行步骤410;若否,则执行步骤422;
101.本实施例中,存储设备为磁盘,具体在磁盘挂载时对磁盘进行多梯度检测修复,具体地,在作为磁盘管理器的后台服务器初始化成功后,检测是否接入外置存储设备,在枚举或发现外设存储设备后,第一次先进行快速模式下的修复,如果修复过程没有异常,则尝试挂载;如果快速模式下的修复过程出现异常或是返回错误,则进行二层修复,即进行全盘扫描修复,然后进行挂载。
102.步骤410,进行挂载;
103.步骤412,挂载是否成功;若是,则执行步骤414;若否,则执行步骤422;
104.步骤414,定期检测挂载信息并进行读写检测;
105.步骤416,挂载信息是否正常;若是,则执行步骤418;若否,则执行步骤422;
106.步骤418,读写是否正常;若是,则执行步骤420;若否,则执行步骤422;
107.步骤420,存储设备正常。
108.进一步地,在存储设备快速模式修复成功或全盘扫描修复成功时,对存储设备进行挂载,挂载完成后判断是否挂载正常。若存储设备挂载成功,后台服务器定期,如可以半天一次,对已经挂载成功的存储设备进行文件系统(file system,fs)信息检测和direct io(直接读写)方式的数据读写检测。其中,文件系统信息为存储设备挂载的属性信息,具体包括是否可读写,是否有记录错误,最开始几个扇区是否有“特定字符串”等;后者首先用特定算法生成一段数据,比如4mb(兆比特),然后用direct io的方式写入到存储设备中,然后回读并进行校验,校验失败则代表该磁盘当前是异常的,避免挂载时正常但是用一段时间后才异常的设备继续被使用。
109.步骤422,存储设备异常;
110.步骤424,发出异常提示消息。
111.进一步地,若存储设备异常,则表明存储设备无法进行正常读写,则发出异常提示消息,以提示对存储设备进行修复或更换,避免通过该存储设备进行数据存储时导致数据的丢失或错误,从而确保数据安全。
112.本实施例中,在挂载存储设备时,引入梯度检测修复,先对待挂载的存储设备进行第一梯度的快速模式修复,在快速模式修复失败时通过第二梯度的全面扫描修复对存储设备进行修复,从而确保存储设备的修复效果。此外,基于定期检测机制,定期探测存储设备的fs挂载信息,并利用direct io方式读写特定数据进行校验,从而能够避免fs缓存导致检测不准确的问题,对存储设备进行有效监控,覆盖更多的磁盘异常场景,提升了磁盘修复成功率和磁盘利用率,也更及时发现有异常的磁盘从而能提示用户及早更新磁盘避免数据丢失或异常,确保了数据安全。
113.应该理解的是,虽然图2

4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2

4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
114.在一个实施例中,如图5所示,提供了一种存储设备挂载装置500,包括:第一修复模块502、第二修复模块504和存储设备挂载模块506,其中:
115.第一修复模块502,用于当检测到待挂载的存储设备时,对存储设备进行第一修复,得到第一修复结果;
116.第二修复模块504,用于在第一修复结果为修复失败时,对存储设备进行第二修复,获得第二修复结果;其中,第二修复的修复范围大于第一修复的修复范围;
117.存储设备挂载模块506,用于当第二修复结果为修复成功时,将存储设备进行挂载。
118.在一个实施例中,第一修复模块502包括局部修复模块,用于当检测到接入外置的存储设备时,对存储设备进行局部修复,得到包括局部修复结果的第一修复结果;第二修复模块504包括全面修复模块,用于当局部修复结果为修复失败时,对存储设备进行全面修复,获得包括全面修复结果的第二修复结果。
119.在一个实施例中,还包括设备检测模块和异常提示模块;其中:设备检测模块,用
于当存储设备挂载成功、且满足预设的存储设备检测条件时,对存储设备进行存储设备检测,得到存储设备检测结果;异常提示模块,用于当存储设备检测结果为存储设备异常时,发出存储设备异常提示消息。
120.在一个实施例中,设备检测模块包括挂载信息检测模块、读写检测模块和检测结果获得模块;其中:挂载信息检测模块,用于当存储设备的挂载结果表征挂载成功、且达到存储设备检测周期时,检测存储设备的挂载信息,得到挂载信息检测结果;读写检测模块,用于对存储设备进行读写检测,得到读写检测结果;检测结果获得模块,用于根据挂载信息检测结果和读写检测结果得到存储设备检测结果。
121.在一个实施例中,挂载信息检测模块包括文件系统信息获取模块、文件系统信息检测模块和挂载信息检测结果模块;其中:文件系统信息获取模块,用于获取存储设备的文件系统信息;文件系统信息检测模块,用于对文件系统信息中的各类型系统信息分别进行异常检测,得到文件系统信息检测结果;挂载信息检测结果模块,用于基于文件系统信息检测结果得到挂载信息检测结果。
122.在一个实施例中,读写检测模块包括测试数据获取模块、写入读取模块和读写比对模块;其中:测试数据获取模块,用于获取与存储设备中各扇区分别对应的读写测试数据;写入读取模块,用于将读写测试数据写入存储设备对应的扇区中,并从存储设备对应的扇区中分别读取得到扇区测试数据;读写比对模块,用于基于扇区测试数据和读写测试数据之间的比对结果,得到读写检测结果。
123.在一个实施例中,还包括修复成功挂载模块、设备检测模块和设备正常处理模块;其中:修复成功挂载模块,用于当第一修复结果为修复成功时,将存储设备进行挂载;设备检测模块,用于当存储设备挂载成功、且满足预设的存储设备检测条件时,对存储设备进行存储设备检测;设备正常处理模块,用于当存储设备检测结果为存储设备正常时,基于存储设备进行数据读写。
124.关于存储设备挂载装置的具体限定可以参见上文中对于存储设备挂载方法的限定,在此不再赘述。上述存储设备挂载装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
125.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种存储设备挂载方法。
126.本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
127.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有
计算机程序,该处理器执行计算机程序时实现以下步骤:
128.当检测到待挂载的存储设备时,对存储设备进行第一修复,得到第一修复结果;
129.在第一修复结果为修复失败时,对存储设备进行第二修复,获得第二修复结果;其中,第二修复的修复范围大于第一修复的修复范围;
130.当第二修复结果为修复成功时,将存储设备进行挂载。
131.在一个实施例中,处理器执行计算机程序时还实现以下步骤:当检测到接入外置的存储设备时,对存储设备进行局部修复,得到包括局部修复结果的第一修复结果;当局部修复结果为修复失败时,对存储设备进行全面修复,获得包括全面修复结果的第二修复结果。
132.在一个实施例中,处理器执行计算机程序时还实现以下步骤:当存储设备挂载成功、且满足预设的存储设备检测条件时,对存储设备进行存储设备检测,得到存储设备检测结果;当存储设备检测结果为存储设备异常时,发出存储设备异常提示消息。
133.在一个实施例中,处理器执行计算机程序时还实现以下步骤:当存储设备的挂载结果表征挂载成功、且达到存储设备检测周期时,检测存储设备的挂载信息,得到挂载信息检测结果;对存储设备进行读写检测,得到读写检测结果;根据挂载信息检测结果和读写检测结果得到存储设备检测结果。
134.在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取存储设备的文件系统信息;对文件系统信息中的各类型系统信息分别进行异常检测,得到文件系统信息检测结果;基于文件系统信息检测结果得到挂载信息检测结果。
135.在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取与存储设备中各扇区分别对应的读写测试数据;将读写测试数据写入存储设备对应的扇区中,并从存储设备对应的扇区中分别读取得到扇区测试数据;基于扇区测试数据和读写测试数据之间的比对结果,得到读写检测结果。
136.在一个实施例中,处理器执行计算机程序时还实现以下步骤:当第一修复结果为修复成功时,将存储设备进行挂载;当存储设备挂载成功、且满足预设的存储设备检测条件时,对存储设备进行存储设备检测;当存储设备检测结果为存储设备正常时,基于存储设备进行数据读写。
137.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
138.当检测到待挂载的存储设备时,对存储设备进行第一修复,得到第一修复结果;
139.在第一修复结果为修复失败时,对存储设备进行第二修复,获得第二修复结果;其中,第二修复的修复范围大于第一修复的修复范围;
140.当第二修复结果为修复成功时,将存储设备进行挂载。
141.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当检测到接入外置的存储设备时,对存储设备进行局部修复,得到包括局部修复结果的第一修复结果;当局部修复结果为修复失败时,对存储设备进行全面修复,获得包括全面修复结果的第二修复结果。
142.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当存储设备挂载成功、且满足预设的存储设备检测条件时,对存储设备进行存储设备检测,得到存储设备检
测结果;当存储设备检测结果为存储设备异常时,发出存储设备异常提示消息。
143.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当存储设备的挂载结果表征挂载成功、且达到存储设备检测周期时,检测存储设备的挂载信息,得到挂载信息检测结果;对存储设备进行读写检测,得到读写检测结果;根据挂载信息检测结果和读写检测结果得到存储设备检测结果。
144.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取存储设备的文件系统信息;对文件系统信息中的各类型系统信息分别进行异常检测,得到文件系统信息检测结果;基于文件系统信息检测结果得到挂载信息检测结果。
145.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取与存储设备中各扇区分别对应的读写测试数据;将读写测试数据写入存储设备对应的扇区中,并从存储设备对应的扇区中分别读取得到扇区测试数据;基于扇区测试数据和读写测试数据之间的比对结果,得到读写检测结果。
146.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当第一修复结果为修复成功时,将存储设备进行挂载;当存储设备挂载成功、且满足预设的存储设备检测条件时,对存储设备进行存储设备检测;当存储设备检测结果为存储设备正常时,基于存储设备进行数据读写。
147.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read

only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
148.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
149.以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1