一种磁盘故障处理方法、装置、设备及存储介质制造方法及图纸

技术编号:30891653 阅读:15 留言:0更新日期:2021-11-22 23:32
本申请公开了一种磁盘故障处理方法,该方法包括以下步骤:在监测到在目标磁盘中读取对象出现输入/输出I/O错误时,获取目标磁盘的当前故障扇区的故障原因;如果故障原因为介质错误,则对当前故障扇区进行隔离处理;将当前故障扇区中存储的对象恢复至目标磁盘的其他非隔离扇区。应用本申请所提供的技术方案,减少了不必要的换盘操作,节省了人力物力成本,提升了分布式存储系统的稳定性。本申请还公开了一种磁盘故障处理装置、设备及存储介质,具有相应技术效果。相应技术效果。相应技术效果。

【技术实现步骤摘要】
一种磁盘故障处理方法、装置、设备及存储介质


[0001]本申请涉及存储
,特别是涉及一种磁盘故障处理方法、装置、设备及存储介质。

技术介绍

[0002]随着计算机技术的快速发展,大数据、云计算、高性能应用逐渐兴起,其后端存储多为分布式存储系统。在分布式存储系统运行过程中,一旦有磁盘发生故障,就会触发踢盘操作,将故障磁盘剔除出分布式存储系统。
[0003]实际上,磁盘发生故障的原因很多,在很多情况下,磁盘发生故障并非是整个磁盘都无法正常使用,如果只要有磁盘发生故障就将其剔除出分布式存储系统,将会增加较多不必要的换盘操作,人力物力成本较高,容易影响分布式存储系统的稳定性。

技术实现思路

[0004]本申请的目的是提供一种磁盘故障处理方法、装置、设备及存储介质,以减少不必要的换盘操作,节省人力物力成本,提升分布式存储系统的稳定性。
[0005]为解决上述技术问题,本申请提供如下技术方案:
[0006]一种磁盘故障处理方法,包括:
[0007]在监测到在目标磁盘中读取对象出现输入/输出I/O错误时,获取所述目标磁盘的当前故障扇区的故障原因;
[0008]如果所述故障原因为介质错误,则对所述当前故障扇区进行隔离处理;
[0009]将所述当前故障扇区中存储的对象恢复至所述目标磁盘的其他非隔离扇区。
[0010]在本申请的一种具体实施方式中,在所述获取所述目标磁盘的当前故障扇区的故障原因之后,还包括:
[0011]如果所述故障原因不是介质错误,则在分布式存储系统中剔除所述目标磁盘。
[0012]在本申请的一种具体实施方式中,在所述在分布式存储系统中剔除所述目标磁盘之后,还包括:
[0013]输出针对所述目标磁盘的故障告警信息。
[0014]在本申请的一种具体实施方式中,在所述故障原因为介质错误的情况下,在所述对所述当前故障扇区进行隔离处理之前,还包括:
[0015]确定所述目标磁盘的扇区在设定时间段内发生介质错误的故障次数是否达到设定次数阈值;
[0016]如果未达到所述次数阈值,则执行所述对所述当前故障扇区进行隔离处理的步骤。
[0017]在本申请的一种具体实施方式中,还包括:
[0018]如果所述目标磁盘的扇区在所述设定时间段内发生介质错误的故障次数达到所述次数阈值,则在分布式存储系统中剔除所述目标磁盘。
[0019]在本申请的一种具体实施方式中,所述获取所述目标磁盘的当前故障扇区的故障原因,包括:
[0020]通过小型计算机系统接口SCSI通用设备文件名sg获取所述目标磁盘的当前故障扇区的故障原因。
[0021]在本申请的一种具体实施方式中,还包括:
[0022]在接收到扇区隔离信息查询指令时,输出分布式存储系统中当前隔离扇区的相关信息,所述相关信息包括介质错误发生时间及逻辑区块地址号。
[0023]一种磁盘故障处理装置,包括:
[0024]故障原因获取模块,用于在监测到在目标磁盘中读取对象出现输入/输出I/O错误时,获取所述目标磁盘的当前故障扇区的故障原因;
[0025]隔离处理模块,用于如果所述故障原因为介质错误,则对所述当前故障扇区进行隔离处理;
[0026]对象恢复模块,用于将所述当前故障扇区中存储的对象恢复至所述目标磁盘的其他非隔离扇区。
[0027]一种磁盘故障处理设备,包括:
[0028]存储器,用于存储计算机程序;
[0029]处理器,用于执行所述计算机程序时实现上述任一项所述的磁盘故障处理方法的步骤。
[0030]一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的磁盘故障处理方法的步骤。
[0031]应用本申请实施例所提供的技术方案,在监测到目标磁盘中读取对象出现I/O错误时,获取目标磁盘的当前故障扇区的故障原因,如果故障原因为介质错误,则对当前故障扇区进行隔离处理,并将当前故障扇区中存储的对象恢复至目标磁盘的其他非隔离扇区。在发生介质错误的情况下,只是隔离当前故障扇区,并将当前故障扇区中存储的对象恢复至其他非隔离扇区,使得其他非隔离扇区仍能够正常响应对象读取请求,减少了不必要的换盘操作,节省了人力物力成本,提升了分布式存储系统的稳定性。
附图说明
[0032]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0033]图1为本申请实施例中一种磁盘故障处理方法的实施流程图;
[0034]图2为本申请实施例中一种磁盘故障处理装置的结构示意图;
[0035]图3为本申请实施例中一种磁盘故障处理设备的结构示意图。
具体实施方式
[0036]本申请的核心是提供一种磁盘故障处理方法,可以应用于存储引擎,如Bluestore。Bluestore为构建在裸磁盘设备上的存储引擎,不再使用系统的文件系统,如
XFS(一种高性能的日志文件系统),而是直接管理裸盘。通过存储引擎可以直接对分布式存储系统的磁盘中存储的对象进行访问。
[0037]存储引擎在监测到在目标磁盘中读取对象出现输入/输出(Input/Output,I/O)错误时,可以获取目标磁盘的当前故障扇区的故障原因,当故障原因为介质错误时,可以对当前故障扇区进行隔离处理,并将当前故障扇区中存储的对象恢复至目标磁盘的其他非隔离扇区。这样可以减少不必要的换盘操作,节省人力物力成本,提升分布式存储系统的稳定性。
[0038]为了使本
的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0039]参见图1所示,为本申请实施例所提供的一种磁盘故障处理方法的实施流程图,该方法可以包括以下步骤:
[0040]S110:在监测到在目标磁盘中读取对象出现I/O错误时,获取目标磁盘的当前故障扇区的故障原因。
[0041]存储引擎可以直接对分布式存储系统的磁盘进行管理。客户端如果有对象读取请求,将会通过存储引擎在磁盘中进行相应对象读取,存储引擎将读取到的对象返回给客户端。
[0042]存储引擎可以对读取对象出现的错误进行监测。在监测到在目标磁盘中读取对象出现I/O错误(I/O error,EIO)时,可以获取目标磁盘的当前故障扇区的故障原因。
[0043]具体的,存储引擎可以通过sg获取目标磁盘的当前故障扇区的故障原因。存储引擎在启动时可以维护一份磁盘和sg(SCSI(Small本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种磁盘故障处理方法,其特征在于,包括:在监测到在目标磁盘中读取对象出现输入/输出I/O错误时,获取所述目标磁盘的当前故障扇区的故障原因;如果所述故障原因为介质错误,则对所述当前故障扇区进行隔离处理;将所述当前故障扇区中存储的对象恢复至所述目标磁盘的其他非隔离扇区。2.根据权利要求1所述的磁盘故障处理方法,其特征在于,在所述获取所述目标磁盘的当前故障扇区的故障原因之后,还包括:如果所述故障原因不是介质错误,则在分布式存储系统中剔除所述目标磁盘。3.根据权利要求2所述的磁盘故障处理方法,其特征在于,在所述在分布式存储系统中剔除所述目标磁盘之后,还包括:输出针对所述目标磁盘的故障告警信息。4.根据权利要求1所述的磁盘故障处理方法,其特征在于,在所述故障原因为介质错误的情况下,在所述对所述当前故障扇区进行隔离处理之前,还包括:确定所述目标磁盘的扇区在设定时间段内发生介质错误的故障次数是否达到设定次数阈值;如果未达到所述次数阈值,则执行所述对所述当前故障扇区进行隔离处理的步骤。5.根据权利要求4所述的磁盘故障处理方法,其特征在于,还包括:如果所述目标磁盘的扇区在所述设定时间段内发生介质错误的故障次数达到所述次数阈值,则在分布式存储系统中剔除所述目标磁盘。6.根据...

【专利技术属性】
技术研发人员:贺计文孟祥瑞
申请(专利权)人:济南浪潮数据技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1