CN113986149A - 一种***故障处理方法、装置、设备及存储介质 - Google Patents

一种***故障处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113986149A
CN113986149A CN202111607788.9A CN202111607788A CN113986149A CN 113986149 A CN113986149 A CN 113986149A CN 202111607788 A CN202111607788 A CN 202111607788A CN 113986149 A CN113986149 A CN 113986149A
Authority
CN
China
Prior art keywords
block
stripe
fault
disks
state mapping
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111607788.9A
Other languages
English (en)
Other versions
CN113986149B (zh
Inventor
邸忠辉
刘丹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202111607788.9A priority Critical patent/CN113986149B/zh
Publication of CN113986149A publication Critical patent/CN113986149A/zh
Application granted granted Critical
Publication of CN113986149B publication Critical patent/CN113986149B/zh
Priority to PCT/CN2022/098944 priority patent/WO2023123889A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Abstract

本申请公开了一种***故障处理方法、装置、设备、存储介质,包括:基于条带的数量对磁盘阵列中的磁盘进行划分,并为条带配置多状态备用块,将多状态备用块分布在磁盘阵列中的磁盘上,当故障同时产生时利用多状态备用块同时运行处理故障;当分块出现故障后,获取故障分块对应的故障信息因子并将其存储于条带分块状态映射链表中的条带分块状态映射项上;基于不同条带分块状态映射项选择对应的处理策略,对与条带分块状态映射项对应的故障分块进行相应的操作。本申请通过将故障分块的信息存储至链表中的项上,再根据项中包含的信息选择对应的处理策略,优化了***的处理方式及性能,降低了条带的时延,提高了数据的带宽和存储***整体的性能。

Description

一种***故障处理方法、装置、设备及存储介质
技术领域
本发明涉及云计算数据中心技术领域,特别涉及一种***故障处理方法、装置、设备及存储介质。
背景技术
在云计算数据中心中,数据存储的性能是用户关心的核心问题。而存储***的Raid(Redundant Arrays of Independent Disks,磁盘阵列)会按照条带(stripe)进行划分,对Raid条带再按照各磁盘进行分块划分。如今经常会出现Raid业务非常繁忙导致IO(Input/Output,输入/输出)请求响应超时、出错或磁盘出现短时间离线等临时故障。Raid经常采取慢盘、坏块、重构等各种复杂机制来应对相应的故障场景,这会导致IO请求被迫频繁重试、延时完成或者上报错误,严重的情况下会导致Raid降级、离线等故障,导致业务中断。但是大多数情况下,临时故障都是非常短暂且能够快速恢复正常的,直接将其按慢盘、坏块、重构等各种复杂机制来进行处理只会造成Raid频繁故障并导致Raid降级、离线,IO性能急速下降甚至业务中断。在坏块机制中,需要选择同一个盘的相应块作为恢复块进行映射,并将原块记成坏块。如果是由于盘的业务繁忙或临时故障导致的IO失败,这种方法会导致恢复块仍然会失败,并且加剧了对应盘的繁忙或者故障错误数量,轻易将好磁盘块误判为坏块,长此以往会缩短磁盘及Raid容量,减少Raid寿命。
发明内容
有鉴于此,本发明的目的在于提供一种***故障处理方法、装置、设备和存储介质,能够根据故障采取对应的处理策略,优化了***的故障处理及IO性能,降低了时延,提高了数据的带宽以及存储***整体的性能。其具体方案如下:
第一方面,本申请公开了一种***故障处理方法,应用于磁盘阵列,包括:
基于条带的数量对磁盘阵列中的磁盘进行划分,以使得每条所述条带上存在与所述磁盘数量相等的分块,然后为所述条带配置多状态备用块,将所述多状态备用块分布在所述磁盘阵列中的磁盘上,以便当故障同时产生时,所述磁盘利用所述多状态备用块同时运行处理所述故障;
当所述分块出现所述故障后,获取故障分块对应的故障信息因子,然后将所述故障信息因子存储于条带分块状态映射链表中的条带分块状态映射项上;
基于不同所述条带分块状态映射项选择对应的处理策略,以便利用所述处理策略对与所述条带分块状态映射项对应的所述故障分块进行故障处理操作。
可选的,所述基于条带的数量对磁盘阵列中的磁盘进行划分,以使得每条所述条带上存在与所述磁盘数量相等的分块,然后为所述条带配置多状态备用块,包括:
基于条带的数量对磁盘阵列中的磁盘进行划分,以使得每条所述条带上存在与所述磁盘数量相等的分块;
将预设数量的所述分块配置为所述多状态备用块。
可选的,所述将所述多状态备用块分布在所述磁盘阵列中的磁盘上,以便当故障同时产生时,所述磁盘利用所述多状态备用块同时运行处理所述故障,包括:
获取当前条带序号以及所述磁盘阵列中的磁盘数量;所述条带序号为所述条带按照第一预设顺序设置的递增的第一序号;
基于当前所述条带序号以及所述磁盘数量,并按照预设位置计算规则确定当前所述多状态备用块的位置信息;
将所述多状态备用块分布在所述磁盘阵列中的磁盘上,以便当故障同时产生时,所述磁盘利用所述多状态备用块同时运行处理所述故障。
可选的,所述当所述分块出现所述故障后,获取故障分块对应的故障信息因子,然后将所述故障信息因子存储于条带分块状态映射链表中的条带分块状态映射项上,包括:
当所述分块出现故障后,获取所述故障分块对应的所述条带序号、所述位置序号、错误类型、输入/输出类型以及输入/输出数据信息;所述位置序号为按照第二预设顺序对所述分块设置的第二序号;
将所述条带序号、所述位置序号、所述错误类型、所述输入/输出类型以及所述输入/输出数据信息按照预设存储规则存储于所述条带分块状态映射链表中的所述条带分块状态映射项上。
可选的,所述基于不同所述条带分块状态映射项选择对应的处理策略,以便利用所述处理策略对与所述条带分块状态映射项对应的所述故障分块进行故障处理操作,包括:
基于所述条带分块状态映射项确定对应的所述错误类型;
基于所述错误类型确定对应的所述处理策略,然后利用所述处理策略对与所述条带分块状态映射项对应的所述故障分块进行故障处理操作。
可选的,所述基于不同所述条带分块状态映射项选择对应的处理策略,以便利用所述处理策略对与所述条带分块状态映射项对应的所述故障分块进行故障处理操作之后,还包括:
基于所述条带分块状态映射项中的所述错误类型确定是否删除所述条带分块状态映射项和/或进入相应的故障处理流程。
可选的,所述基于不同所述条带分块状态映射项选择对应的处理策略,以便利用所述处理策略对与所述条带分块状态映射项对应的所述故障分块进行故障处理操作之前,还包括:
为所述分块状态映射链表设置定时程序,以便按照预设时间周期对所述条带分块状态映射项进行相应的故障处理操作。
第二方面,本申请公开了一种***故障处理装置,包括:
磁盘划分模块,用于基于条带的数量对磁盘阵列中的磁盘进行划分,以使得每条所述条带上存在与所述磁盘数量相等的分块;
备用块配置模块,用于为所述条带配置多状态备用块;
备用块分布模块,用于所述多状态备用块分布在所述磁盘阵列中的磁盘上,以便当故障同时产生时,所述磁盘利用所述多状态备用块同时运行处理所述故障;
信息获取模块,用于当所述分块出现所述故障后,获取故障分块对应的故障信息因子;
信息存储模块,用于将所述故障信息因子存储于条带分块状态映射链表中的条带分块状态映射项上;
故障处理模块,用于基于不同所述条带分块状态映射项选择对应的处理策略,以便利用所述处理策略对与所述条带分块状态映射项对应的所述故障分块进行故障处理操作。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如前述公开的***故障处理方法的步骤。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如前述公开的***故障处理方法。
可见,本申请提供了一种***故障处理方法,包括:基于条带的数量对磁盘阵列中的磁盘进行划分,以使得每条所述条带上存在与所述磁盘数量相等的分块,然后为所述条带配置多状态备用块,将所述多状态备用块分布在所述磁盘阵列中的磁盘上,以便当故障同时产生时,所述磁盘利用所述多状态备用块同时运行处理所述故障;当所述分块出现所述故障后,获取故障分块对应的故障信息因子,然后将所述故障信息因子存储于条带分块状态映射链表中的条带分块状态映射项上;基于不同所述条带分块状态映射项选择对应的处理策略,以便利用所述处理策略对与所述条带分块状态映射项对应的所述故障分块进行故障处理操作。由此可见,本申请通过为每条条带配置多状态备用块,以便当故障同时产生时利用多状态备用块同时运行处理故障,并且当分块出现故障后,将所有故障分块的故障信息存储在条带分块状态映射链表中,以便根据故障信息选择对应的处理策略,对所有故障分块进行准确的故障处理操作。优化了***的故障处理的性能,降低了条带的时延,提高了数据的带宽以及存储***的整体性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种***故障处理方法流程图;
图2为本申请提供的磁盘阵列条带划分及备用块配置示意图;
图3为本申请公开的一种具体的***故障处理方法流程图;
图4为本申请公开的一种具体的***故障处理方法流程图;
图5为本申请提供的条带分块状态映射项示意图;
图6为本申请提供的条带分块状态映射链表示意图;
图7为本申请提供的***故障处理装置结构示意图;
图8为本申请提供的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,经常会出现Raid业务非常繁忙导致IO请求响应超时、出错或磁盘出现短时间离线等临时故障,但直接将其按慢盘、坏块、重构等各种复杂机制来进行处理只会造成Raid频繁故障并导致Raid降级、离线,IO性能急速下降甚至业务中断。为此,本申请提供了一种***故障处理方法,能够将所有故障分块的故障信息存储在条带分块状态映射链表中,再根据故障信息选择对应的处理策略,对所有故障分块进行准确的故障处理操作。优化了***的故障处理的性能,降低了条带的时延,提高了数据的带宽以及存储***的整体性能。
本发明实施例公开了一种***故障处理方法,参见图1所示,该方法包括:
步骤S11:基于条带的数量对磁盘阵列中的磁盘进行划分,以使得每条所述条带上存在与所述磁盘数量相等的分块,然后为所述条带配置多状态备用块,将所述多状态备用块分布在所述磁盘阵列中的磁盘上,以便当故障同时产生时,所述磁盘利用所述多状态备用块同时运行处理所述故障。
本实施例中,基于条带的数量对磁盘阵列中的磁盘进行划分,以使得每条所述条带上存在与所述磁盘数量相等的分块,然后将预设数量的所述分块配置为所述多状态备用块。可以理解的是,条带把连续的数据分割成相同大小的数据块,把每段数据分别写入到磁盘阵列中的不同磁盘上。如图2所示,图中的磁盘阵列包含五个磁盘,每个条带包含四个分块及一个备用块,每个备用块作为对应条带的故障备用块。可以理解的是,条带将所述磁盘阵列中的所有所述磁盘分割成相同大小的数据块,因此所述数据块的数目为所述条带数目与所述磁盘数量的乘积。另外,所述磁盘阵列中会设置坏块映射区,所述坏块映射区中的所述数据块数量为自定义数量。然后为所述条带配置多状态备用块,并将所述多状态备用块分布在所述磁盘阵列中的磁盘上,同时使相邻条带的备用块不在同一个盘上,以便当大量故障同时产生时,可以同时操作不同磁盘上的备用块,使多个磁盘同时工作,从而快速处理故障,优化***性能。
步骤S12:当所述分块出现所述故障后,获取故障分块对应的故障信息因子,然后将所述故障信息因子存储于条带分块状态映射链表中的条带分块状态映射项上。
本实施例中,当所述分块出现所述故障后,获取故障分块对应的故障信息因子,然后将所述故障信息因子存储于条带分块状态映射链表中的条带分块状态映射项上。可以理解的是,将所述故障信息因子存储于条带分块状态映射链表中的条带分块状态映射项上,以便集中处理所述故障。
步骤S13:基于不同所述条带分块状态映射项选择对应的处理策略,以便利用所述处理策略对与所述条带分块状态映射项对应的所述故障分块进行故障处理操作。
本实施例中,将所述故障信息因子存储于条带分块状态映射链表中的条带分块状态映射项上之后,获取所述条带分块状态映射项中的信息,并根据所述信息选择对应的处理策略,以便利用所述处理策略对与所述条带分块状态映射项对应的所述故障分块进行故障处理操作。需要指出的是,所述条带分块状态映射链表中可以存储多个条带分块状态映射项。
可见,本申请提供了一种***故障处理方法,包括:基于条带的数量对磁盘阵列中的磁盘进行划分,以使得每条所述条带上存在与所述磁盘数量相等的分块,然后为所述条带配置多状态备用块,将所述多状态备用块分布在所述磁盘阵列中的磁盘上,以便当故障同时产生时,所述磁盘利用所述多状态备用块同时运行处理所述故障;当所述分块出现所述故障后,获取故障分块对应的故障信息因子,然后将所述故障信息因子存储于条带分块状态映射链表中的条带分块状态映射项上;基于不同所述条带分块状态映射项选择对应的处理策略,以便利用所述处理策略对与所述条带分块状态映射项对应的所述故障分块进行故障处理操作。由此可见,本申请通过为每条条带配置多状态备用块,以便当故障同时产生时利用多状态备用块同时运行处理故障,并且当分块出现故障后,将所有故障分块的故障信息存储在条带分块状态映射链表中,以便根据故障信息选择对应的处理策略,对所有故障分块进行准确的故障处理操作。优化了***的故障处理的性能,降低了条带的时延,提高了数据的带宽以及存储***的整体性能。
参见图3所示,本发明实施例公开了一种***故障处理方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。
步骤S21:基于条带的数量对磁盘阵列中的磁盘进行划分,以使得每条所述条带上存在与所述磁盘数量相等的分块,然后为所述条带配置多状态备用块。
步骤S22:获取当前条带序号以及所述磁盘阵列中的磁盘数量;所述条带序号为所述条带按照第一预设顺序设置的递增的第一序号。
本实施例中,为所述条带配置多状态备用块之后,获取当前条带序号以及所述磁盘阵列中的磁盘数量。可以理解的是,所述条带序号为所述条带按照第一预设顺序设置的递增的第一序号。例如图1所示,将第一条条带的序号设置为0,依次递增,且递增差值为1。同时,当前磁盘阵列中的磁盘数量为5。
步骤S23:基于当前所述条带序号以及所述磁盘数量,并按照预设位置计算规则确定当前所述多状态备用块的位置信息。
本实施例中,获取当前条带序号以及所述磁盘阵列中的磁盘数量之后,基于当前所述条带序号以及所述磁盘数量,并按照预设位置计算规则确定当前所述多状态备用块的位置信息。可以理解的是,所述预设位置计算规则为条带序号%磁盘数量,也即将余数确定为当前所述多状态备用块的位置信息。例如,如图2所示,当条带序号为0时,可以通过条带序号%磁盘数量计算得出结果为0,因此条带序号为0的条带上的多状态备用块的位置信息为0。需要指出的是,此时位置信息为0表示当前多状态备用块位于磁盘1。若所述位置信息为1则表示当前多状态备用块位于磁盘2。也即,所述位置信息加一得到的数目即为所述当前多状态备用块所处磁盘的磁盘数。
步骤S24:将所述多状态备用块分布在所述磁盘阵列中的磁盘上,以便当故障同时产生时,所述磁盘利用所述多状态备用块同时运行处理所述故障。
本实施例中,按照计算得到的当前所述多状态备用块的位置信息将所述多状态备用块分布在所述磁盘阵列中的磁盘上,以便当故障同时产生时,所述磁盘利用所述多状态备用块同时运行处理所述故障。可以理解的是,按照计算得到的当前所述多状态备用块的位置信息将所述多状态备用块分布在所述磁盘阵列中的磁盘上,确保相邻条带上的所述多状态备用块不在同一个磁盘上。
步骤S25:当所述分块出现所述故障后,获取故障分块对应的故障信息因子,然后将所述故障信息因子存储于条带分块状态映射链表中的条带分块状态映射项上。
步骤S26:基于不同所述条带分块状态映射项选择对应的处理策略,以便利用所述处理策略对与所述条带分块状态映射项对应的所述故障分块进行故障处理操作。
关于上述步骤S21、S25、S26的具体内容可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请实施例在将所述多状态备用块分布在所述磁盘阵列中的磁盘上的过程中,首先获取当前条带序号以及所述磁盘阵列中的磁盘数量,然后基于当前所述条带序号以及所述磁盘数量,并按照预设位置计算规则确定当前所述多状态备用块的位置信息,最后根据所述位置信息将所述多状态备用块分布在所述磁盘阵列中的磁盘上,以便当故障同时产生时,所述磁盘可以同时操作不同磁盘上的多状态备用块,使得多个磁盘同时工作,从而快速处理故障,优化了***性能。
参见图4所示,本发明实施例公开了一种***故障处理方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。
步骤S31:基于条带的数量对磁盘阵列中的磁盘进行划分,以使得每条所述条带上存在与所述磁盘数量相等的分块,然后为所述条带配置多状态备用块,将所述多状态备用块分布在所述磁盘阵列中的磁盘上,以便当故障同时产生时,所述磁盘利用所述多状态备用块同时运行处理所述故障。
步骤S32:当所述分块出现故障后,获取所述故障分块对应的所述条带序号、所述位置序号、错误类型、输入/输出类型以及输入/输出数据信息;所述位置序号为按照第二预设顺序对所述分块设置的第二序号。
本实施例中,当所述分块出现故障后,获取所述故障分块对应的所述条带序号、所述位置序号、错误类型、输入/输出类型以及输入/输出数据信息。可以理解的是,所述位置序号为所述故障分块所在的磁盘数。输入/输出数据信息用来记录该输入/输出数据的起始地址,数据长度等信息。
步骤S33:将所述条带序号、所述位置序号、所述错误类型、所述输入/输出类型以及所述输入/输出数据信息按照预设存储规则存储于所述条带分块状态映射链表中的所述条带分块状态映射项上。
本实施例中,将所述条带序号、所述位置序号、所述错误类型、所述输入/输出类型以及所述输入/输出数据信息按照预设存储规则存储于所述条带分块状态映射链表中的所述条带分块状态映射项上。可以理解的是,如图5所示,将所述条带序号、所述位置序号、所述错误类型、所述输入/输出类型以及所述输入/输出数据信息进行组合,得到条带分块状态映射项。然后将所述条带分块状态映射项按照预设存储规则存储于所述条带分块状态映射链表中。如图6所示,将条带分块状态映射项放入磁盘阵列中的条带分块状态映射链表的头部。可以理解的是,将条带分块状态映射项放入磁盘阵列中的条带分块状态映射链表的头部,使得放入条带分块状态映射链表中的条带分块状态映射项有一定的顺序,以便从条带分块状态映射链表的尾部对条带分块状态映射项进行相应的处理操作时,按照条带分块状态映射项的放入顺序进行处理。
步骤S34:为所述分块状态映射链表设置定时程序,以便按照预设时间周期对所述条带分块状态映射项进行相应的故障处理操作。
本实施例中,为所述分块状态映射链表设置定时程序,以便按照预设时间周期对所述条带分块状态映射项进行相应的故障处理操作。可以理解的是,为所述分块状态映射链表设置定时程序,利用所述定时程序定时处理条带分块状态映射链表。
步骤S35:基于所述条带分块状态映射项确定对应的所述错误类型。
本实施例中,基于所述条带分块状态映射项确定对应的所述错误类型。可以理解的是,所述错误类型包含为TIMEOUT(超时)、BADBLOCK(坏块)、OFFLINE(离线)等多种错误状态。输入/输出类型用来记录是读输入/输出类型还是写输入/输出类型。
步骤S36:基于所述错误类型确定对应的所述处理策略,然后利用所述处理策略对与所述条带分块状态映射项对应的所述故障分块进行故障处理操作。
本实施例中,基于所述错误类型确定对应的所述处理策略,也即不同输入/输出类型的不同的错误类型要采取不同的处理策略。例如,当所述输入/输出类型为写输入/输出类型时,处理流程如下:
当所述分块的写数据出错时,将写输入/输出数据先写入所述多状态备用块中,并在相应的分块状态映射链表中***当前所述条带分块状态映射项。如果备用块写入成功,则返回成功。如果备用块写入失败,将当前错误类型更新至条带分块状态映射项中。然后通过定时程序定时处理条带分块状态映射链表,当处理到该条带分块状态映射项时,根据出错输入/输出类型的错误类型采取不同的处理策略。
可以理解的是,当错误类型为TIMEOUT错误类型时,将备用块中保存的输入/输出类型数据写入对应的分块。当错误类型为BADBLOCK 错误类型时,将备用块中保存的输入/输出类型数据写入对应的分块。当错误类型为OFFLINE错误类型时,查询磁盘是否离线。
需要指出的是,当定时处理程序再次处理条带分块状态映射链表时,某个表项是TIMEOUT并且出错次数达到三次时,查询磁盘是否离线。
当所述输入/输出类型为读输入/输出类型时,处理流程如下:
如果是分块读超时错误,再次读分块进行重试,成功则返回数据,流程结束。如果读仍然超时,则在超时三次后进入读取条带其他分块的数据,将故障分块数据重构的步骤。如果重构失败,则返回读出错,流程结束。如果重构成功,则将读数据返回给用户,并将重构的分块数据写入备用块中,然后通过定时程序定时处理带分块状态映射链表,当处理到该条带分块状态映射项时,将备用块中保存的分块数据写入对应的分块,如果仍然出错,则进行错误计数,并处理下一个条带分块状态映射项。需要指出的是,当定时处理程序定时处理该表项的出错次数达到三次时,查询磁盘是否离线。
步骤S37:基于所述条带分块状态映射项中的所述错误类型确定是否删除所述条带分块状态映射项和/或进入相应的故障处理流程。
本实施例中,基于所述条带分块状态映射项中的所述错误类型确定是否删除所述条带分块状态映射项和/或进入相应的故障处理流程。例如,所述输入/输出类型为写输入/输出类型时:
当错误类型是TIMEOUT错误类型时,将多状态备用块中保存的输入/输出类型数据写入对应的分块之后,如果数据写入成功,则删除所述条带分块状态映射项,流程结束。当错误类型是BADBLOCK错误类型时,将多状态备用块中保存的输入/输出类型数据写入对应的分块之后,如果数据写入成功,则删除条带分块状态映射项,流程结束;如果仍然出错,则删除条带分块状态映射项,并转入坏块处理流程。当错误类型是OFFLINE错误类型时,直接删除条带分块状态映射项,并查询磁盘是否离线,如果磁盘离线,则进入重构流程,如果磁盘未离线,则转入坏块处理流程。
所述输入/输出类型为读输入/输出类型时:
当通过定时程序定时处理带分块状态映射链表,处理到该条带分块状态映射项时,如果将多状态备用块中保存的分块数据写入对应的分块的步骤成功,则删除条带分块状态映射项。当定时处理程序定时处理该表项出错次数达到三次时,查询磁盘是否离线,如果磁盘离线,则上报磁盘离线错误,进入重构等流程,否则转入坏块处理流程。
关于上述步骤S31的具体内容可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请实施例在所述当所述分块出现所述故障后,先获取故障分块对应的故障信息因子,然后将所述故障信息因子存储于条带分块状态映射链表中的条带分块状态映射项上,然后基于不同所述条带分块状态映射项选择对应的处理策略,利用所述处理策略对所述故障分块进行故障处理操作,并在故障处理操作完成后,基于所述条带分块状态映射项中的所述错误类型确定是否删除所述条带分块状态映射项和/或进入相应的故障处理流程。优化了***的故障处理的性能,降低了条带的时延,提高了数据的带宽以及存储***的整体性能。
参见图7所示,本申请实施例还相应公开了一种***故障处理装置,包括:
磁盘划分模块11,用于基于条带的数量对磁盘阵列中的磁盘进行划分,以使得每条所述条带上存在与所述磁盘数量相等的分块;
备用块配置模块12,用于为所述条带配置多状态备用块;
备用块分布模块13,用于所述多状态备用块分布在所述磁盘阵列中的磁盘上,以便当故障同时产生时,所述磁盘利用所述多状态备用块同时运行处理所述故障;
信息获取模块14,用于当所述分块出现所述故障后,获取故障分块对应的故障信息因子;
信息存储模块15,用于将所述故障信息因子存储于条带分块状态映射链表中的条带分块状态映射项上;
故障处理模块16,用于基于不同所述条带分块状态映射项选择对应的处理策略,以便利用所述处理策略对与所述条带分块状态映射项对应的所述故障分块进行故障处理操作。
可见,本申请包括:基于条带的数量对磁盘阵列中的磁盘进行划分,以使得每条所述条带上存在与所述磁盘数量相等的分块,然后为所述条带配置多状态备用块,将所述多状态备用块分布在所述磁盘阵列中的磁盘上,以便当故障同时产生时,所述磁盘利用所述多状态备用块同时运行处理所述故障;当所述分块出现所述故障后,获取故障分块对应的故障信息因子,然后将所述故障信息因子存储于条带分块状态映射链表中的条带分块状态映射项上;基于不同所述条带分块状态映射项选择对应的处理策略,以便利用所述处理策略对与所述条带分块状态映射项对应的所述故障分块进行故障处理操作。由此可见,本申请通过为每条条带配置多状态备用块,以便当故障同时产生时利用多状态备用块同时运行处理故障,并且当分块出现故障后,将所有故障分块的故障信息存储在条带分块状态映射链表中,以便根据故障信息选择对应的处理策略,对所有故障分块进行准确的故障处理操作。优化了***的故障处理的性能,降低了条带的时延,提高了数据的带宽以及存储***的整体性能。
在一些具体实施例中,所述备用块分布模块13,具体包括:
序号及磁盘数量获取单元,用于获取当前条带序号以及所述磁盘阵列中的磁盘数量;所述条带序号为所述条带按照第一预设顺序设置的递增的第一序号;
位置信息计算单元,用于基于当前所述条带序号以及所述磁盘数量,并按照预设位置计算规则确定当前所述多状态备用块的位置信息;
备用块分布单元,用于将所述多状态备用块分布在所述磁盘阵列中的磁盘上,以便当故障同时产生时,所述磁盘利用所述多状态备用块同时运行处理所述故障。
进一步的,本申请实施例还提供了一种电子设备。图8是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图8为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的***故障处理方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作***221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作***221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的***故障处理方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的***故障处理方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种***故障处理方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种***故障处理方法,其特征在于,应用于磁盘阵列,包括:
基于条带的数量对磁盘阵列中的磁盘进行划分,以使得每条所述条带上存在与所述磁盘数量相等的分块,然后为所述条带配置多状态备用块,将所述多状态备用块分布在所述磁盘阵列中的磁盘上,以便当故障同时产生时,所述磁盘利用所述多状态备用块同时运行处理所述故障;
当所述分块出现所述故障后,获取故障分块对应的故障信息因子,然后将所述故障信息因子存储于条带分块状态映射链表中的条带分块状态映射项上;
基于不同所述条带分块状态映射项选择对应的处理策略,以便利用所述处理策略对与所述条带分块状态映射项对应的所述故障分块进行故障处理操作。
2.根据权利要求1所述的***故障处理方法,其特征在于,所述基于条带的数量对磁盘阵列中的磁盘进行划分,以使得每条所述条带上存在与所述磁盘数量相等的分块,然后为所述条带配置多状态备用块,包括:
基于条带的数量对磁盘阵列中的磁盘进行划分,以使得每条所述条带上存在与所述磁盘数量相等的分块;
将预设数量的所述分块配置为所述多状态备用块。
3.根据权利要求1所述的***故障处理方法,其特征在于,所述将所述多状态备用块分布在所述磁盘阵列中的磁盘上,以便当故障同时产生时,所述磁盘利用所述多状态备用块同时运行处理所述故障,包括:
获取当前条带序号以及所述磁盘阵列中的磁盘数量;所述条带序号为所述条带按照第一预设顺序设置的递增的第一序号;
基于当前所述条带序号以及所述磁盘数量,并按照预设位置计算规则确定当前所述多状态备用块的位置信息;
将所述多状态备用块分布在所述磁盘阵列中的磁盘上,以便当故障同时产生时,所述磁盘利用所述多状态备用块同时运行处理所述故障。
4.根据权利要求3所述的***故障处理方法,其特征在于,所述当所述分块出现所述故障后,获取故障分块对应的故障信息因子,然后将所述故障信息因子存储于条带分块状态映射链表中的条带分块状态映射项上,包括:
当所述分块出现故障后,获取所述故障分块对应的所述条带序号、所述位置序号、错误类型、输入/输出类型以及输入/输出数据信息;所述位置序号为按照第二预设顺序对所述分块设置的第二序号;
将所述条带序号、所述位置序号、所述错误类型、所述输入/输出类型以及所述输入/输出数据信息按照预设存储规则存储于所述条带分块状态映射链表中的所述条带分块状态映射项上。
5.根据权利要求4所述的***故障处理方法,其特征在于,所述基于不同所述条带分块状态映射项选择对应的处理策略,以便利用所述处理策略对与所述条带分块状态映射项对应的所述故障分块进行故障处理操作,包括:
基于所述条带分块状态映射项确定对应的所述错误类型;
基于所述错误类型确定对应的所述处理策略,然后利用所述处理策略对与所述条带分块状态映射项对应的所述故障分块进行故障处理操作。
6.根据权利要求5所述的***故障处理方法,其特征在于,所述基于不同所述条带分块状态映射项选择对应的处理策略,以便利用所述处理策略对与所述条带分块状态映射项对应的所述故障分块进行故障处理操作之后,还包括:
基于所述条带分块状态映射项中的所述错误类型确定是否删除所述条带分块状态映射项和/或进入相应的故障处理流程。
7.根据权利要求1至6任一项所述的***故障处理方法,其特征在于,所述基于不同所述条带分块状态映射项选择对应的处理策略,以便利用所述处理策略对与所述条带分块状态映射项对应的所述故障分块进行故障处理操作之前,还包括:
为所述分块状态映射链表设置定时程序,以便按照预设时间周期对所述条带分块状态映射项进行相应的故障处理操作。
8.一种***故障处理装置,其特征在于,包括:
磁盘划分模块,用于基于条带的数量对磁盘阵列中的磁盘进行划分,以使得每条所述条带上存在与所述磁盘数量相等的分块;
备用块配置模块,用于为所述条带配置多状态备用块;
备用块分布模块,用于所述多状态备用块分布在所述磁盘阵列中的磁盘上,以便当故障同时产生时,所述磁盘利用所述多状态备用块同时运行处理所述故障;
信息获取模块,用于当所述分块出现所述故障后,获取故障分块对应的故障信息因子;
信息存储模块,用于将所述故障信息因子存储于条带分块状态映射链表中的条带分块状态映射项上;
故障处理模块,用于基于不同所述条带分块状态映射项选择对应的处理策略,以便利用所述处理策略对与所述条带分块状态映射项对应的所述故障分块进行故障处理操作。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的***故障处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的***故障处理方法。
CN202111607788.9A 2021-12-27 2021-12-27 一种***故障处理方法、装置、设备及存储介质 Active CN113986149B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111607788.9A CN113986149B (zh) 2021-12-27 2021-12-27 一种***故障处理方法、装置、设备及存储介质
PCT/CN2022/098944 WO2023123889A1 (zh) 2021-12-27 2022-06-15 一种***故障处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111607788.9A CN113986149B (zh) 2021-12-27 2021-12-27 一种***故障处理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113986149A true CN113986149A (zh) 2022-01-28
CN113986149B CN113986149B (zh) 2022-04-22

Family

ID=79734405

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111607788.9A Active CN113986149B (zh) 2021-12-27 2021-12-27 一种***故障处理方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN113986149B (zh)
WO (1) WO2023123889A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115543216A (zh) * 2022-11-29 2022-12-30 苏州浪潮智能科技有限公司 磁盘阵列分布架构、分块计算方法、***、设备和介质
CN115981926A (zh) * 2023-03-20 2023-04-18 苏州浪潮智能科技有限公司 一种提高磁盘阵列性能的方法、装置及设备
WO2023123889A1 (zh) * 2021-12-27 2023-07-06 苏州浪潮智能科技有限公司 一种***故障处理方法、装置、设备及存储介质

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5258984A (en) * 1991-06-13 1993-11-02 International Business Machines Corporation Method and means for distributed sparing in DASD arrays
JPH1124851A (ja) * 1997-05-07 1999-01-29 Sharp Corp 画像処理装置
US20080126833A1 (en) * 2006-08-11 2008-05-29 Callaway Paul J Match server for a financial exchange having fault tolerant operation
US20080244585A1 (en) * 2007-03-27 2008-10-02 Aster Data Systems, Inc. System and method for using failure casting to manage failures in computer systems
US20090158079A1 (en) * 2007-12-13 2009-06-18 Hyundai Motor Company Fault information processing system and method for vehicle
US20120079326A1 (en) * 2010-09-29 2012-03-29 Sepaton, Inc. System Health Monitor
US20170244594A1 (en) * 2016-02-22 2017-08-24 Renesas Electronics Corporation On-vehicle system, program, and controller
US20170270018A1 (en) * 2016-03-21 2017-09-21 EMC IP Holding Company LLC Method and apparatus for rebuilding redundant array of independent disks
CN107636617A (zh) * 2016-04-29 2018-01-26 慧与发展有限责任合伙企业 存储设备故障策略
US20180032407A1 (en) * 2013-05-28 2018-02-01 Netapp Inc. Dataset image creation
CN109542645A (zh) * 2018-11-20 2019-03-29 北京锐安科技有限公司 一种调用服务的方法、装置、电子设备及存储介质
CN111124262A (zh) * 2018-10-31 2020-05-08 伊姆西Ip控股有限责任公司 独立盘冗余阵列(raid)的管理方法、设备和计算机可读介质
CN113168569A (zh) * 2018-11-30 2021-07-23 国际商业机器公司 去中心化分布式深度学习
US20210326206A1 (en) * 2020-04-20 2021-10-21 EMC IP Holding Company LLC Storage system configured to guarantee sufficient capacity for a distributed raid rebuild process

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2418769B (en) * 2004-10-02 2009-06-17 Hewlett Packard Development Co Method and system for storing data
CN102033716B (zh) * 2010-12-01 2012-08-22 北京同有飞骥科技股份有限公司 一种双磁盘容错的节能型磁盘阵列的构建方法
US8799705B2 (en) * 2012-01-04 2014-08-05 Emc Corporation Data protection in a random access disk array
US11138513B2 (en) * 2017-06-13 2021-10-05 Princeton University Dynamic learning system
CN113986149B (zh) * 2021-12-27 2022-04-22 苏州浪潮智能科技有限公司 一种***故障处理方法、装置、设备及存储介质

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5258984A (en) * 1991-06-13 1993-11-02 International Business Machines Corporation Method and means for distributed sparing in DASD arrays
JPH1124851A (ja) * 1997-05-07 1999-01-29 Sharp Corp 画像処理装置
US20080126833A1 (en) * 2006-08-11 2008-05-29 Callaway Paul J Match server for a financial exchange having fault tolerant operation
US20080244585A1 (en) * 2007-03-27 2008-10-02 Aster Data Systems, Inc. System and method for using failure casting to manage failures in computer systems
US20090158079A1 (en) * 2007-12-13 2009-06-18 Hyundai Motor Company Fault information processing system and method for vehicle
US20120079326A1 (en) * 2010-09-29 2012-03-29 Sepaton, Inc. System Health Monitor
US20180032407A1 (en) * 2013-05-28 2018-02-01 Netapp Inc. Dataset image creation
US20170244594A1 (en) * 2016-02-22 2017-08-24 Renesas Electronics Corporation On-vehicle system, program, and controller
CN107220148A (zh) * 2016-03-21 2017-09-29 伊姆西公司 针对独立磁盘冗余阵列的重建方法和设备
US20170270018A1 (en) * 2016-03-21 2017-09-21 EMC IP Holding Company LLC Method and apparatus for rebuilding redundant array of independent disks
CN107636617A (zh) * 2016-04-29 2018-01-26 慧与发展有限责任合伙企业 存储设备故障策略
CN111124262A (zh) * 2018-10-31 2020-05-08 伊姆西Ip控股有限责任公司 独立盘冗余阵列(raid)的管理方法、设备和计算机可读介质
CN109542645A (zh) * 2018-11-20 2019-03-29 北京锐安科技有限公司 一种调用服务的方法、装置、电子设备及存储介质
CN113168569A (zh) * 2018-11-30 2021-07-23 国际商业机器公司 去中心化分布式深度学习
US20210326206A1 (en) * 2020-04-20 2021-10-21 EMC IP Holding Company LLC Storage system configured to guarantee sufficient capacity for a distributed raid rebuild process

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023123889A1 (zh) * 2021-12-27 2023-07-06 苏州浪潮智能科技有限公司 一种***故障处理方法、装置、设备及存储介质
CN115543216A (zh) * 2022-11-29 2022-12-30 苏州浪潮智能科技有限公司 磁盘阵列分布架构、分块计算方法、***、设备和介质
CN115981926A (zh) * 2023-03-20 2023-04-18 苏州浪潮智能科技有限公司 一种提高磁盘阵列性能的方法、装置及设备

Also Published As

Publication number Publication date
CN113986149B (zh) 2022-04-22
WO2023123889A1 (zh) 2023-07-06

Similar Documents

Publication Publication Date Title
CN113986149B (zh) 一种***故障处理方法、装置、设备及存储介质
US9619472B2 (en) Updating class assignments for data sets during a recall operation
CN102937882B (zh) 对具有使用位图的存储设备的有效访问
CN103761190B (zh) 数据处理方法及装置
US7058762B2 (en) Method and apparatus for selecting among multiple data reconstruction techniques
CN103608784B (zh) 网络卷创建方法、数据存储方法、存储设备和存储***
CN109918234B (zh) 一种基于ssd的元数据恢复方法、装置、设备及介质
US10254993B2 (en) Selecting first data sets in a first storage group to swap with second data sets in a second storage group
CN106126374B (zh) 数据写入方法、数据读取方法及装置
US11442827B2 (en) Policy-based hierarchical data protection in distributed storage
KR20110062329A (ko) 로그 분석 기반 데이터 스토리지 서비스 관리 방법 및 이를 실현시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
CN106293492A (zh) 一种存储管理方法及分布式文件***
CN111488127B (zh) 基于磁盘簇的数据并行存储方法、装置以及数据读取方法
KR102146293B1 (ko) 분산 파일 시스템 복구 장치 및 방법
CN110147203B (zh) 一种文件管理方法、装置、电子设备及存储介质
CN104216664A (zh) 网络卷创建方法、数据存储方法、存储设备和存储***
EP3553664A1 (en) Method and apparatus for calculating available capacity of storage system
Iliadis et al. Expected annual fraction of data loss as a metric for data storage reliability
US11210183B2 (en) Memory health tracking for differentiated data recovery configurations
CN115454727B (zh) 一种数据恢复方法、装置、设备及可读存储介质
US9973421B2 (en) Method and device for connection management in a telecommunication network
CN115756955A (zh) 一种数据备份、数据恢复的方法、装置及计算机设备
US20110296103A1 (en) Storage apparatus, apparatus control method, and recording medium for storage apparatus control program
US20220035548A1 (en) Data storage method, electronic device, and computer program product
CN105242985B (zh) 数据修复方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant