预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共15页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN113672422A(43)申请公布日2021.11.19(21)申请号202110948411.3(22)申请日2021.08.18(71)申请人济南浪潮数据技术有限公司地址250101山东省济南市自由贸易试验区济南片区浪潮路1036号浪潮科技园S05楼S311室(72)发明人贺计文(74)专利代理机构北京集佳知识产权代理有限公司11227代理人侯珊(51)Int.Cl.G06F11/07(2006.01)G06F11/14(2006.01)G06F3/06(2006.01)权利要求书2页说明书9页附图3页(54)发明名称一种磁盘故障探测方法、装置、设备及可读存储介质(57)摘要本发明公开了一种磁盘故障探测方法,包括:对检测到的磁盘读对象EIO异常进行解析,得到执行本次IO操作的目标sd驱动;查找目标sd驱动对应的目标sg驱动;调用目标sg驱动的ioctl接口对磁盘的off\len区域进行读取操作;判断是否对磁盘的off\len区域读取成功;若是,则调用目标sd驱动对出现磁盘读对象EIO异常的目标磁盘读对象进行重读操作;若否,则利用目标sg驱动获取磁盘读对象EIO异常对应的错误原因信息,并将错误原因信息透传至用户态。本发明避免了不必要的换盘,降低了对上层业务的影响,提升了存储系统的可用性。本发明还公开了一种磁盘故障探测装置、设备及存储介质,具有相应技术效果。CN113672422ACN113672422A权利要求书1/2页1.一种磁盘故障探测方法,其特征在于,包括:对检测到的磁盘读对象EIO异常进行解析,得到执行本次IO操作的目标sd驱动;查找所述目标sd驱动对应的目标sg驱动;其中,预先维护有磁盘中各sg驱动与各sd驱动之间的对应关系;调用所述目标sg驱动的ioctl接口对所述磁盘的off\len区域进行读取操作;判断是否对所述磁盘的off\len区域读取成功;若是,则调用所述目标sd驱动对出现所述磁盘读对象EIO异常的目标磁盘读对象进行重读操作;若否,则利用所述目标sg驱动获取所述磁盘读对象EIO异常对应的错误原因信息,并将所述错误原因信息透传至用户态。2.根据权利要求1所述的磁盘故障探测方法,其特征在于,将所述错误原因信息透传至用户态,包括:判断所述错误原因信息的数据格式是否为senseinfo格式;若否,则对所述错误原因信息进行格式转化,得到senseinfo格式的错误原因信息;将senseinfo格式的错误原因信息透传至用户态。3.根据权利要求1或2所述的磁盘故障探测方法,其特征在于,在利用所述目标sg驱动获取所述磁盘读对象EIO异常对应的错误原因信息之后,还包括:判断所述错误原因信息是否为MediumError;若是,则对所述目标磁盘读对象进行数据恢复操作;若否,则对所述磁盘进行剔除操作。4.根据权利要求3所述的磁盘故障探测方法,其特征在于,在对所述磁盘进行剔除操作之后,还包括:生成故障告警信息,并对所述故障告警信息进行上报操作。5.根据权利要求1所述的磁盘故障探测方法,其特征在于,调用所述目标sg驱动的ioctl接口对所述磁盘的off\len区域进行读取操作,包括:确定所述目标sg驱动对应的目标读缓存区;计算所述目标读缓存区相对于裸盘的目标偏移量;调用所述目标sg驱动的ioctl接口根据所述目标偏移量对所述磁盘的off\len区域进行读取操作。6.根据权利要求1所述的磁盘故障探测方法,其特征在于,在调用所述目标sd驱动对出现所述磁盘读对象EIO异常的目标磁盘读对象进行重读操作之后,还包括:判断对所述目标磁盘读对象是否重读成功;若是,则确定所述磁盘读对象EIO异常为暂态故障;若否,则重复执行所述调用所述目标sd驱动对出现所述磁盘读对象EIO异常的目标磁盘读对象进行重读操作的步骤,当重读次数达到预设值且均为重读失败时,则执行所述利用所述目标sg驱动获取所述磁盘读对象EIO异常对应的错误原因信息的步骤。7.根据权利要求1所述的磁盘故障探测方法,其特征在于,在查找所述目标sd驱动对应的目标sg驱动之前,还包括:判断所述磁盘是否为scsi协议的磁盘;2CN113672422A权利要求书2/2页若是,则执行所述查找所述目标sd驱动对应的目标sg驱动的步骤。8.一种磁盘故障探测装置,其特征在于,包括:异常解析模块,用于对检测到的磁盘读对象EIO异常进行解析,得到执行本次IO操作的目标sd驱动;驱动查找模块,用于查找所述目标sd驱动对应的目标sg驱动;其中,预先维护有磁盘中各sg驱动与各sd驱动之间的对应关系;区域读取模块,用于调用所述目标sg驱动的ioctl接口对所述磁盘的off\len区域进行读取操作;判断模块,用于判断是否对所述磁盘的off\l