一种磁盘故障处理方法、系统及电子设备和存储介质技术方案

技术编号:20865653 阅读:29 留言:0更新日期:2019-04-17 09:11
本申请公开了一种磁盘故障处理方法、系统及一种电子设备和计算机可读存储介质,该方法包括:当接收到目标磁盘中目标扇区返回的错误码时,根据所述目标扇区的数据创建新的扇区;将所述目标扇区重命名为故障文件名,并将所述故障文件名添加至数据库中;其中,名称为所述故障文件名的扇区停止响应读写请求;当所述数据库中的故障文件名数量超过预设值时,触发OSD进程崩溃。本申请提供的磁盘故障处理方法,当产生故障的目标扇区后,将该目标扇区重命名为故障文件名,名称为所述故障文件名的扇区停止响应读写请求,除故障扇区外磁盘可以继续使用,不会引起数据重构,因此不会占用系统资源。

【技术实现步骤摘要】
一种磁盘故障处理方法、系统及电子设备和存储介质
本申请涉及计算机
,更具体地说,涉及一种磁盘故障处理方法、系统及一种电子设备和一种计算机可读存储介质。
技术介绍
随着大数据、云计算、高性能应用大量兴起,分布式存储系统被广泛应用。确保分布式存储系统的稳定运行是保证上层应用的基础,而经常出现的故障则为磁盘故障。分布式存储一般是一个进程管理一块磁盘,当磁盘返回EIO(错误码)时,osd进程(ObjectStorageDaemon,用于存储对象的守护进程)崩溃退出,5分种内磁盘不恢复正常就会进行重构。目前出现磁盘故障后,运维人员一般是采用直接更换磁盘的方式解决,一方面,更换后的磁盘需要进行数据重构,数据重构会占用系统资源,会影响上层业务的正常运转,另一方面,故障磁盘只是部分扇区损坏,隔离后可以继续使用,直接更换增加了运维成本。因此,如何在磁盘故障时减少因数据重构而占用的系统资源,不影响上层业务的正常运转是本领域技术人员需要解决的问题。
技术实现思路
本申请的目的在于提供一种磁盘故障处理方法、系统及一种电子设备和一种计算机可读存储介质,在磁盘故障时减少因数据重构而占用的系统资源,不影响上层业务的正常运转。为实现上述目的,本申请提供了一种磁盘故障处理方法,包括:当接收到目标磁盘中目标扇区返回的错误码时,根据所述目标扇区的数据创建新的扇区;将所述目标扇区重命名为故障文件名,并将所述故障文件名添加至数据库中;其中,名称为所述故障文件名的扇区停止响应读写请求;当所述数据库中的故障文件名数量超过预设值时,触发OSD进程崩溃。其中,根据所述目标扇区的数据创建新的扇区,包括:通过纠删码技术将所述目标扇区的数据恢复至所述新的扇区。其中,根据所述目标扇区的数据创建新的扇区,包括:确定所述目标磁盘的冗余磁盘,将所述冗余磁盘中所述目标扇区对应的扇区的数据拷贝至所述新的扇区。其中,还包括:当所述数据库中的故障文件名数量超过预设值时,根据所述目标磁盘的磁盘信息向管理终端发出告警信息。其中,还包括:在预设时间内向所述目标磁盘的所有扇区发送测试命令,以便所述扇区故障时返回错误码。为实现上述目的,本申请提供了一种磁盘故障处理系统,包括:创建模块,用于当接收到目标磁盘中目标扇区返回的错误码时,根据所述目标扇区的数据创建新的扇区;重命名模块,用于将所述目标扇区重命名为故障文件名,并将所述故障文件名添加至数据库中;其中,名称为所述故障文件名的扇区停止响应读写请求;触发模块,用于当所述数据库中的故障文件名数量超过预设值时,触发OSD进程崩溃。其中,所述创建模块具体为当接收到目标磁盘中目标扇区返回的错误码时,通过纠删码技术将所述目标扇区的数据恢复至所述新的扇区的模块。其中,所述创建模块具体为当接收到目标磁盘中目标扇区返回的错误码时,确定所述目标磁盘的冗余磁盘,将所述冗余磁盘中所述目标扇区对应的扇区的数据拷贝至所述新的扇区的模块。为实现上述目的,本申请提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上述磁盘故障处理方法的步骤。为实现上述目的,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述磁盘故障处理方法的步骤。通过以上方案可知,本申请提供的一种磁盘故障处理方法,包括:当接收到目标磁盘中目标扇区返回的错误码时,根据所述目标扇区的数据创建新的扇区;将所述目标扇区重命名为故障文件名,并将所述故障文件名添加至数据库中;其中,名称为所述故障文件名的扇区停止响应读写请求;当所述数据库中的故障文件名数量超过预设值时,触发OSD进程崩溃。本申请提供的磁盘故障处理方法,当产生故障的目标扇区后,为该目标扇区的数据创建新的扇区用于正常响应读写请求,不影响上层业务的正常运转。同时将该目标扇区重命名为故障文件名,名称为所述故障文件名的扇区停止响应读写请求,除故障扇区外磁盘可以继续使用,不会引起数据重构,因此不会占用系统资源。本申请还公开了一种磁盘故障处理系统及一种电子设备和一种计算机可读存储介质,同样能实现上述技术效果。应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:图1为根据一示例性实施例示出的一种磁盘故障处理方法的流程图;图2为根据一示例性实施例示出的另一种磁盘故障处理方法的流程图;图3为根据一示例性实施例示出的一种磁盘故障处理系统的结构图;图4为根据一示例性实施例示出的一种电子设备的结构图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请实施例公开了一种磁盘故障处理方法,在磁盘故障时减少因数据重构而占用的系统资源,不影响上层业务的正常运转。参见图1,根据一示例性实施例示出的一种磁盘故障处理方法的流程图,如图1所示,包括:S101:当接收到目标磁盘中目标扇区返回的错误码时,根据所述目标扇区的数据创建新的扇区;在具体实施中,当上层应用的读写请求的对象落在目标磁盘的故障扇区(即本步骤中的目标扇区)时,该目标磁盘会返回错误码,此时不再简单的崩溃退出,而是进入修复模式,即根据该目标扇区的数据创建新的扇区,用于正常响应读写请求,不影响上层业务的正常运转。在本步骤中,不对创建扇区的具体方式进行限定,本领域技术人员可以根据实际情况灵活选择,例如,可以利用纠删或副本的方式。就数据而言,磁盘可以采用数据副本的方式保证某些数据损失之后仍能继续使用,副本损失只需要复制出来损失的数据,未损失的数据可以继续提供服务,修复时间较短。即作为一种优选的实施方式,本步骤可以包括确定所述目标磁盘的冗余磁盘,将所述冗余磁盘中所述目标扇区对应的扇区的数据拷贝至所述新的扇区。作为另一种优选的实施方式,本步骤可以包括通过纠删码技术将所述目标扇区的数据恢复至所述新的扇区。对于数据的容错除了副本还有另一种做法,就是把丢失的数据计算出来,即纠删码技术。与副本相比,纠删码的优点在于节省存储空间。,缺点在于有计算开销而且修复需要一定时间,而副本损失只要复制出来损失的数据,未损失的数据可以继续提供服务。S102:将所述目标扇区重命名为故障文件名,并将所述故障文件名添加至数据库中;其中,名称为所述故障文件名的扇区停止响应读写请求;需要说明的是,本步骤与上一步骤并无明确的顺序关系,即可以先后执行也可以同时执行。在本步骤中,将目标扇区重命名为故障文件名,名称为该故障文件名的扇区停止响应读写请求,而是将该读写请求转移至上一步骤创建的新的扇区进行响应。在本步骤中,故障本文档来自技高网...

【技术保护点】
1.一种磁盘故障处理方法,其特征在于,包括:当接收到目标磁盘中目标扇区返回的错误码时,根据所述目标扇区的数据创建新的扇区;将所述目标扇区重命名为故障文件名,并将所述故障文件名添加至数据库中;其中,名称为所述故障文件名的扇区停止响应读写请求;当所述数据库中的故障文件名数量超过预设值时,触发OSD进程崩溃。

【技术特征摘要】
1.一种磁盘故障处理方法,其特征在于,包括:当接收到目标磁盘中目标扇区返回的错误码时,根据所述目标扇区的数据创建新的扇区;将所述目标扇区重命名为故障文件名,并将所述故障文件名添加至数据库中;其中,名称为所述故障文件名的扇区停止响应读写请求;当所述数据库中的故障文件名数量超过预设值时,触发OSD进程崩溃。2.根据权利要求1所述磁盘故障处理方法,其特征在于,根据所述目标扇区的数据创建新的扇区,包括:通过纠删码技术将所述目标扇区的数据恢复至所述新的扇区。3.根据权利要求1所述磁盘故障处理方法,其特征在于,根据所述目标扇区的数据创建新的扇区,包括:确定所述目标磁盘的冗余磁盘,将所述冗余磁盘中所述目标扇区对应的扇区的数据拷贝至所述新的扇区。4.根据权利要求1所述磁盘故障处理方法,其特征在于,还包括:当所述数据库中的故障文件名数量超过预设值时,根据所述目标磁盘的磁盘信息向管理终端发出告警信息。5.根据权利要求1-4任一项所述磁盘故障处理方法,其特征在于,还包括:在预设时间内向所述目标磁盘的所有扇区发送测试命令,以便所述扇区故障时返回错误码。6.一种磁盘故障处理系统,其特征在于,包括:创建模块...

【专利技术属性】
技术研发人员:贺计文
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京,11

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

1