CN105892950A - 一种磁盘阵列的重建方法及系统 - Google Patents

一种磁盘阵列的重建方法及系统 Download PDF

Info

Publication number
CN105892950A
CN105892950A CN201610202531.8A CN201610202531A CN105892950A CN 105892950 A CN105892950 A CN 105892950A CN 201610202531 A CN201610202531 A CN 201610202531A CN 105892950 A CN105892950 A CN 105892950A
Authority
CN
China
Prior art keywords
disk
trigger condition
described target
target
data
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.)
Pending
Application number
CN201610202531.8A
Other languages
English (en)
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.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry 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 Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201610202531.8A priority Critical patent/CN105892950A/zh
Publication of CN105892950A publication Critical patent/CN105892950A/zh
Pending legal-status Critical Current

Links

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/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
    • 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明提供了一种磁盘阵列的重建方法及系统,该方法包括:预先设置磁盘出现异常的第一触发条件以及相应的磁盘恢复正常的第二触发条件;在向磁盘阵列写IO的过程中,当检测到该磁盘阵列中的任一目标磁盘满足第一触发条件时,将目标磁盘记录为异常状态,并将从目标磁盘满足第一触发条件至目标磁盘满足第二触发条件的时间间隔内的应写入目标磁盘中的目标数据的相关信息进行保存;当检测到目标磁盘满足第二触发条件时,将目标磁盘更新为重建状态,并根据所保存的目标数据的相关信息,将目标数据写入目标磁盘。因此,本方案能够提高磁盘阵列的重建效率。

Description

一种磁盘阵列的重建方法及系统
技术领域
本发明涉及计算机技术领域,特别涉及一种磁盘阵列的重建方法及系统。
背景技术
随着信息量的快速增长和计算机应用复杂程度的增加,存储系统的作用也愈加重要。磁盘阵列作为存储系统的重要组成部分,其稳定性和可用性是影响存储系统整体性能的主要因素。但是,在磁盘阵列的实际应用过程中,由磁盘状态异常所导致的磁盘阵列重建现象时有发生。
目前,当磁盘阵列中有成员磁盘出现异常时,常用的磁盘阵列重建方法为读取该磁盘阵列中的全部正常磁盘的条带数据,然后通过计算将缺失数据写入到在线热备磁盘中,从而实现磁盘阵列的恢复。
但是,现有的磁盘阵列重建方法会加重存储系统的负载,故磁盘阵列的重建效率较低。
发明内容
本发明提供了一种磁盘阵列的重建方法及系统,能够提高磁盘阵列的重建效率。
为了达到上述目的,本发明是通过如下技术方案实现的:
一方面,本发明提供了一种磁盘阵列的重建方法,预先设置磁盘出现异常的第一触发条件以及相应的磁盘恢复正常的第二触发条件,还包括:
在向磁盘阵列写IO的过程中,当检测到所述磁盘阵列中的任一目标磁盘满足所述第一触发条件时,记录所述目标磁盘的状态为异常状态;
将从所述目标磁盘满足所述第一触发条件至所述目标磁盘满足所述第二触发条件的时间间隔内的应写入所述目标磁盘中的目标数据的相关信息进行保存;
当检测到所述目标磁盘满足所述第二触发条件时,将所述目标磁盘的状态更改为重建状态;
根据所述目标数据的相关信息,将所述目标数据写入所述目标磁盘。
进一步地,所述目标数据的相关信息,包括:目标数据的条带号;
所述根据所述目标数据的相关信息,将所述目标数据写入所述目标磁盘,包括:读取与所述目标数据的条带号相对应的写入所述磁盘阵列中的其他非异常磁盘中的第一数据;利用异或运算计算出与所述第一数据相对应的所述目标数据,并将所述目标数据写入所述目标磁盘。
进一步地,所述第一触发条件,包括:磁盘被从磁盘阵列中拔出、磁盘链路不稳定和磁盘链路闪断中的任意一种或多种。
进一步地,所述第二触发条件,包括:磁盘被插回到磁盘阵列中、磁盘链路恢复稳定和闪断的磁盘链路恢复正常中的任意一种或多种。
进一步地,所述将从所述目标磁盘满足所述第一触发条件至所述目标磁盘满足所述第二触发条件的时间间隔内的应写入所述目标磁盘中的目标数据的相关信息进行保存,包括:将从所述目标磁盘满足所述第一触发条件至所述目标磁盘满足所述第二触发条件的时间间隔内的应写入所述目标磁盘中的目标数据的相关信息写入非易失性随机访问存储器NVRAM中。
进一步地,在所述将所述目标数据写入所述目标磁盘之后,进一步包括:更新所述目标磁盘中的超级块信息,以及将所述目标磁盘的状态更改为正常状态。
另一方面,本发明提供了一种磁盘阵列的重建系统,包括:
设置单元,用于设置磁盘出现异常的第一触发条件以及相应的磁盘恢复正常的第二触发条件;
记录单元,用于在向磁盘阵列写IO的过程中,当检测到所述磁盘阵列中的任一目标磁盘满足所述第一触发条件时,记录所述目标磁盘的状态为异常状态,以及向处理单元输出目标磁盘异常信号;当检测到所述目标磁盘满足所述第二触发条件时,将所述目标磁盘的状态更改为重建状态,以及向所述处理单元输出目标磁盘重建信号;
所述处理单元,用于在接收到由所述记录单元发送的目标磁盘异常信号之后,将从所述目标磁盘满足所述第一触发条件至所述目标磁盘满足所述第二触发条件的时间间隔内的应写入所述目标磁盘中的目标数据的相关信息进行保存;以及在接收到由所述记录单元发送的目标磁盘重建信号之后,根据所述目标数据的相关信息,将所述目标数据写入所述目标磁盘。
进一步地,所述处理单元,具体用于在接收到由所述记录单元发送的目标磁盘异常信号之后,将从所述目标磁盘满足所述第一触发条件至所述目标磁盘满足所述第二触发条件的时间间隔内的应写入所述目标磁盘中的目标数据的条带号进行保存;以及在接收到由所述记录单元发送的目标磁盘重建信号之后,读取与所述目标数据的条带号相对应的写入所述磁盘阵列中的其他非异常磁盘中的第一数据,利用异或运算计算出与所述第一数据相对应的所述目标数据,并将所述目标数据写入所述目标磁盘。
进一步地,所述设置单元,具体用于设置磁盘出现异常的第一触发条件为磁盘被从磁盘阵列中拔出、磁盘链路不稳定和磁盘链路闪断中的任意一种或多种。
进一步地,所述设置单元,具体用于设置磁盘恢复正常的第二触发条件为磁盘被插回到磁盘阵列中、磁盘链路恢复稳定和闪断的磁盘链路恢复正常中的任意一种或多种。
进一步地,所述处理单元,具体用于将从所述目标磁盘满足所述第一触发条件至所述目标磁盘满足所述第二触发条件的时间间隔内的应写入所述目标磁盘中的目标数据的相关信息写入NVRAM中。
进一步地,所述处理单元,还用于在将所述目标数据写入所述目标磁盘之后,向所述记录单元输出目标磁盘重建完成信号,以及更新所述目标磁盘中的超级块信息;
所述记录单元,还用于在接收到由所述处理单元发送的目标磁盘重建完成信号之后,将所述目标磁盘的状态更改为正常状态。
本发明提供了一种磁盘阵列的重建方法及系统,预先设置磁盘出现异常的第一触发条件以及相应的磁盘恢复正常的第二触发条件;在向磁盘阵列写IO的过程中,当检测到该磁盘阵列中的任一目标磁盘满足第一触发条件时,将目标磁盘记录为异常状态,并将从目标磁盘满足第一触发条件至目标磁盘满足第二触发条件的时间间隔内的应写入目标磁盘中的目标数据的相关信息进行保存;当检测到目标磁盘满足第二触发条件时,将目标磁盘更新为重建状态,并根据所保存的目标数据的相关信息,将目标数据写入目标磁盘。因此,本发明能够提高磁盘阵列的重建效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种磁盘阵列的重建方法的流程图;
图2是本发明一实施例提供的另一种磁盘阵列的重建方法的流程图;
图3是本发明一实施例提供的一种磁盘阵列的重建系统的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种磁盘阵列的重建方法,可以包括以下步骤:
步骤101:预先设置磁盘出现异常的第一触发条件以及相应的磁盘恢复正常的第二触发条件。
步骤102:在向磁盘阵列写IO的过程中,当检测到所述磁盘阵列中的任一目标磁盘满足所述第一触发条件时,记录所述目标磁盘的状态为异常状态。
步骤103:将从所述目标磁盘满足所述第一触发条件至所述目标磁盘满足所述第二触发条件的时间间隔内的应写入所述目标磁盘中的目标数据的相关信息进行保存。
步骤104:当检测到所述目标磁盘满足所述第二触发条件时,将所述目标磁盘的状态更改为重建状态。
步骤105:根据所述目标数据的相关信息,将所述目标数据写入所述目标磁盘。
本发明实施例提供了一种磁盘阵列的重建方法,预先设置磁盘出现异常的第一触发条件以及相应的磁盘恢复正常的第二触发条件;在向磁盘阵列写IO的过程中,当检测到该磁盘阵列中的任一目标磁盘满足第一触发条件时,将目标磁盘记录为异常状态,并将从目标磁盘满足第一触发条件至目标磁盘满足第二触发条件的时间间隔内的应写入目标磁盘中的目标数据的相关信息进行保存;当检测到目标磁盘满足第二触发条件时,将目标磁盘更新为重建状态,并根据所保存的目标数据的相关信息,将目标数据写入目标磁盘。因此,本发明实施例能够提高磁盘阵列的重建效率。
在一种可能的实现方式中,为了能够对磁盘数据进行快速重建,所以,所述目标数据的相关信息,包括:目标数据的条带号;
所述根据所述目标数据的相关信息,将所述目标数据写入所述目标磁盘,包括:读取与所述目标数据的条带号相对应的写入所述磁盘阵列中的其他非异常磁盘中的第一数据;利用异或运算计算出与所述第一数据相对应的所述目标数据,并将所述目标数据写入所述目标磁盘。
在一种可能的实现方式中,为了能够说明磁盘出现异常的实际情况,所以,所述第一触发条件,包括:磁盘被从磁盘阵列中拔出、磁盘链路不稳定和磁盘链路闪断中的任意一种或多种。
在一种可能的实现方式中,为了能够说明异常磁盘恢复正常的实际情况,所以,所述第二触发条件,包括:磁盘被插回到磁盘阵列中、磁盘链路恢复稳定和闪断的磁盘链路恢复正常中的任意一种或多种。
在一种可能的实现方式中,为了能够保证所保存的目标数据的相关信息安全、可靠且掉电非易失,所以,所述将从所述目标磁盘满足所述第一触发条件至所述目标磁盘满足所述第二触发条件的时间间隔内的应写入所述目标磁盘中的目标数据的相关信息进行保存,包括:将从所述目标磁盘满足所述第一触发条件至所述目标磁盘满足所述第二触发条件的时间间隔内的应写入所述目标磁盘中的目标数据的相关信息写入NVRAM(Non-Volatile RandomAccess Memory,非易失性随机访问存储器)中。
在一种可能的实现方式中,为了能够对重建后的磁盘的相关信息进行记录和更新,所以,在所述将所述目标数据写入所述目标磁盘之后,进一步包括:更新所述目标磁盘中的超级块信息,以及将所述目标磁盘的状态更改为正常状态。
为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。
如图2所示,本发明一个实施例提供了磁盘阵列的重建方法,该方法可以包括以下步骤:
步骤201:设置磁盘出现异常的第一触发条件以及相应的磁盘恢复正常的第二触发条件。
具体地,可以设置所述第一触发条件为磁盘被从磁盘阵列中拔出、磁盘链路不稳定和磁盘链路闪断中的任意一种或多种;相应的,可以设置所述第二触发条件为磁盘被插回到磁盘阵列中、磁盘链路恢复稳定和闪断的磁盘链路恢复正常中的任意一种或多种。
在本实施例中,当磁盘阵列中的任一磁盘出现上述磁盘异常情况时,以及相应的出现上述异常磁盘恢复正常情况时,计算机软件系统均可以实时检测到磁盘状态的变化。
举例来说,现有一个磁盘阵列RAID5,且RAID5中包含磁盘A、磁盘B、磁盘C和磁盘D四个磁盘。目前需要向RAID5中写IO。
步骤202:在向RAID5写IO的过程中,当检测到RAID5中的磁盘A被拔出而满足所述第一触发条件时,记录磁盘A的状态为missing。
例如,在向RAID5写IO的过程中,由于实际需要,磁盘A被工作人员拔出,那么软件系统可以检测到磁盘A满足预先设定的第一触发条件,故可以记录磁盘A的状态为missing,说明磁盘A为需要进行快速重建的磁盘。
详细地,在本实施例中,在磁盘出现异常时,可以记录该磁盘的状态为missing,相应的,在异常磁盘恢复正常时,可以将该磁盘的状态由missing更改为rebuilding,以及在该磁盘重建完成之后,可以将该磁盘的状态由rebuilding更改为normal。若磁盘始终未出现异常,则其状态可以始终为normal。
此外,在本实施例中,可以将磁盘的状态信息记录在非易失性存储设备,如NVRAM中。
步骤203:将从磁盘A被拔出至磁盘A被重新插回的时间间隔内的应写入磁盘A中的条带数据的条带号写入NVRAM中。
在本实施例中,对于磁盘拔出、磁盘链路不稳及磁盘链路闪断等常见磁盘异常情况,磁盘从出现异常至恢复正常的时间间隔一般较短,故可以仅保存磁盘异常时间间隔内应写入该磁盘的数据相关信息,以实现异常磁盘的快速重建。
由于在异常磁盘恢复正常之后,可以仅对磁盘异常期间所丢失的数据进行重建,而非重建该异常磁盘中的全部数据,故大大提高了磁盘阵列的重建速度。本实施所提供的磁盘阵列重建方法,不仅可以实现磁盘阵列的快速重建,而且能够减轻存储系统的负载,以及在磁盘阵列重建时不影响正常IO,尤其适用于磁盘短时间内拔出并插回、磁盘链路不稳并快速恢复及磁盘链路闪断并快速恢复等常见磁盘异常情况。
此外,对于现有的磁盘阵列重建方法,即便异常磁盘能够短时间内恢复正常,该异常磁盘仍不能被原磁盘阵列所继续利用,造成资源的浪费和不合理利用。通过本实施例所提供的磁盘阵列重建方法,异常磁盘在短时间内恢复正常后仍可以被原磁盘阵列所用,故可以有效利用磁盘资源。
在一些特殊情况下,若从磁盘异常至磁盘恢复正常的时间间隔的长短不能确定,则可以预先设置该时间间隔的适宜阈值。优选地,该设定阈值不大于5min。通过这一方式,可以避免因磁盘异常时间过长,如磁盘被拔出后始终未被插回所造成的磁盘阵列不能及时被重建等情况。
例如,预先设定阈值为5min。在磁盘出现异常时,开始保存相应的条带号,但若在达到5min时仍未能检测到该异常磁盘恢复正常,则不再保存后续的数据相关信息,并将该5min内保存的信息进行清空,以及将该异常磁盘从磁盘阵列中移除。此外,若存在热备磁盘,则可以通过现有的磁盘重建技术进行相应数据信息的重建,并将重建数据写入该热备磁盘中,并利用该热备磁盘替换掉异常磁盘。
在本实施例中,在从磁盘A被拔出至被重新插回的时间间隔内,由于磁盘A处于missing状态,故无法完成正常的数据信息写入操作,故可以将该时间间隔内应写入磁盘A中的数据的相关信息进行保存。由于直接保存数据的方式在实际情况下较为复杂且效率低,故优选的,可以选择仅保存数据的条带号,以根据条带号使相应的数据得到恢复。
例如,在磁盘A被拔出期间,原本应向磁盘A写入条带数据1,磁盘B写入条带数据2,磁盘C写入条带数据3,磁盘D写入与数据1、数据2和数据3相对应的校验数据1。由于磁盘A被拔出,故条带数据1丢失,但数据2、数据3和校验数据1被成功写入。因此,可以对条带数据1的条带号进行记录。
优选地,可以将数据的条带号写入NVRAM中,以保证条带号被写入后的安全可靠、掉电非易失。此外,若磁盘阵列中的cache缓存设备使用NVRAM作为物理介质,则也可以将数据的条带号写入cache缓存设备中。
步骤204:当检测到磁盘A被重新插回而满足所述第二触发条件时,更新磁盘A的状态为rebuilding。
例如,磁盘A在被工作人员拔出1min后,被重新插回至RAID5中。
步骤205:读取与所述条带号相对应的写入RAID5中的其他非异常磁盘中的第一数据。
详细地,在读取非易失性存储设备中保存的条带数据的条带号之前,首先要检测该非易失性存储设备是否可用,例如,对于cache缓存设备来说,要查询其缓存电量是否充足,以确保所保存的条带号的有效性。
在本实施例中,根据保存的条带数据的条带号,可以读取RAID5内其他正常磁盘中所写入的相应数据,并通过特定算法,如异或运算计算出所述条带数据。例如,在磁盘A被重新插回之后,根据记录的条带数据1的条带号,读取写入磁盘B中的条带数据2、写入磁盘C中的条带数据3和写入磁盘D中的校验数据1。
步骤206:利用异或运算计算出与所述第一数据相对应的所述条带数据,并将所述条带数据写入磁盘A。
例如,可以根据读取到的条带数据2、条带数据3和校验数据1,通过异或运算将条带数据1重新恢复出来,再将恢复出来的条带数据1写入磁盘A。
详细地,在将条带数据写入磁盘A之后,系统可以默认自动清空在磁盘A拔出期间NVRAM中所记录的条带号。
步骤207:更新磁盘A中的超级块信息,以及更新磁盘A的状态为normal。
详细地,在完成磁盘A的重建之后,可以更新磁盘A中的超级块信息,例如,可以对相关配置信息进行更新,以便于软件系统对其识别。
如图3所示,本发明实施例提供了一种磁盘阵列的重建系统,包括:
设置单元301,用于设置磁盘出现异常的第一触发条件以及相应的磁盘恢复正常的第二触发条件;
记录单元302,用于在向磁盘阵列写IO的过程中,当检测到所述磁盘阵列中的任一目标磁盘满足所述第一触发条件时,记录所述目标磁盘的状态为异常状态,以及向处理单元303输出目标磁盘异常信号;当检测到所述目标磁盘满足所述第二触发条件时,将所述目标磁盘的状态更改为重建状态,以及向所述处理单元303输出目标磁盘重建信号;
所述处理单元303,用于在接收到由所述记录单元302发送的目标磁盘异常信号之后,将从所述目标磁盘满足所述第一触发条件至所述目标磁盘满足所述第二触发条件的时间间隔内的应写入所述目标磁盘中的目标数据的相关信息进行保存;以及在接收到由所述记录单元302发送的目标磁盘重建信号之后,根据所述目标数据的相关信息,将所述目标数据写入所述目标磁盘。
在一种可能的实现方式中,所述处理单元303,具体用于在接收到由所述记录单元302发送的目标磁盘异常信号之后,将从所述目标磁盘满足所述第一触发条件至所述目标磁盘满足所述第二触发条件的时间间隔内的应写入所述目标磁盘中的目标数据的条带号进行保存;以及在接收到由所述记录单元302发送的目标磁盘重建信号之后,读取与所述目标数据的条带号相对应的写入所述磁盘阵列中的其他非异常磁盘中的第一数据,利用异或运算计算出与所述第一数据相对应的所述目标数据,并将所述目标数据写入所述目标磁盘。
在一种可能的实现方式中,所述设置单元301,具体用于设置磁盘出现异常的第一触发条件为磁盘被从磁盘阵列中拔出、磁盘链路不稳定和磁盘链路闪断中的任意一种或多种。
在一种可能的实现方式中,所述设置单元301,具体用于设置磁盘恢复正常的第二触发条件为磁盘被插回到磁盘阵列中、磁盘链路恢复稳定和闪断的磁盘链路恢复正常中的任意一种或多种。
在一种可能的实现方式中,所述处理单元303,具体用于将从所述目标磁盘满足所述第一触发条件至所述目标磁盘满足所述第二触发条件的时间间隔内的应写入所述目标磁盘中的目标数据的相关信息写入NVRAM中。
在一种可能的实现方式中,所述处理单元303,进一步用于在将所述目标数据写入所述目标磁盘之后,向所述记录单元302输出目标磁盘重建完成信号,以及更新所述目标磁盘中的超级块信息;
所述记录单元302,进一步用于在接收到由所述处理单元303发送的目标磁盘重建完成信号之后,将所述目标磁盘的状态更改为正常状态。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
综上所述,本发明的各个实施例至少具有如下有益效果:
1、本发明实施例中,预先设置磁盘出现异常的第一触发条件以及相应的磁盘恢复正常的第二触发条件;在向磁盘阵列写IO的过程中,当检测到该磁盘阵列中的任一目标磁盘满足第一触发条件时,将目标磁盘记录为异常状态,并将从目标磁盘满足第一触发条件至目标磁盘满足第二触发条件的时间间隔内的应写入目标磁盘中的目标数据的相关信息进行保存;当检测到目标磁盘满足第二触发条件时,将目标磁盘更新为重建状态,并根据所保存的目标数据的相关信息,将目标数据写入目标磁盘。因此,本发明实施例能够提高磁盘阵列的重建效率。
2、本发明实施例中,由于在异常磁盘恢复正常之后,可以仅对磁盘异常期间所丢失的数据进行重建,而非重建该异常磁盘中的全部数据,故大大提高了磁盘阵列的重建速度。本实施所提供的磁盘阵列重建方法,不仅可以实现磁盘阵列的快速重建,而且能够减轻存储系统的负载,以及在磁盘阵列重建时不影响正常IO,尤其适用于磁盘短时间内拔出并插回、磁盘链路不稳并快速恢复及磁盘链路闪断并快速恢复等常见磁盘异常情况。
3、本发明实施例中,与现有磁盘阵列重建方法所造成的异常磁盘恢复正常后不能被原磁盘阵列所用不同,通过本实施例所提出的实现方法,异常磁盘在短时间内恢复正常后仍可以被原磁盘阵列所用,故可以有效利用磁盘资源。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种磁盘阵列的重建方法,其特征在于,预先设置磁盘出现异常的第一触发条件以及相应的磁盘恢复正常的第二触发条件,还包括:
在向磁盘阵列写IO的过程中,当检测到所述磁盘阵列中的任一目标磁盘满足所述第一触发条件时,记录所述目标磁盘的状态为异常状态;
将从所述目标磁盘满足所述第一触发条件至所述目标磁盘满足所述第二触发条件的时间间隔内的应写入所述目标磁盘中的目标数据的相关信息进行保存;
当检测到所述目标磁盘满足所述第二触发条件时,将所述目标磁盘的状态更改为重建状态;
根据所述目标数据的相关信息,将所述目标数据写入所述目标磁盘。
2.根据权利要求1所述的方法,其特征在于,
所述目标数据的相关信息,包括:目标数据的条带号;
所述根据所述目标数据的相关信息,将所述目标数据写入所述目标磁盘,包括:读取与所述目标数据的条带号相对应的写入所述磁盘阵列中的其他非异常磁盘中的第一数据;利用异或运算计算出与所述第一数据相对应的所述目标数据,并将所述目标数据写入所述目标磁盘。
3.根据权利要求1所述的方法,其特征在于,
所述第一触发条件,包括:磁盘被从磁盘阵列中拔出、磁盘链路不稳定和磁盘链路闪断中的任意一种或多种;
和/或,
所述第二触发条件,包括:磁盘被插回到磁盘阵列中、磁盘链路恢复稳定和闪断的磁盘链路恢复正常中的任意一种或多种。
4.根据权利要求1所述的方法,其特征在于,所述将从所述目标磁盘满足所述第一触发条件至所述目标磁盘满足所述第二触发条件的时间间隔内的应写入所述目标磁盘中的目标数据的相关信息进行保存,包括:将从所述目标磁盘满足所述第一触发条件至所述目标磁盘满足所述第二触发条件的时间间隔内的应写入所述目标磁盘中的目标数据的相关信息写入非易失性随机访问存储器NVRAM中。
5.根据权利要求1至4中任一所述的方法,其特征在于,
在所述将所述目标数据写入所述目标磁盘之后,进一步包括:更新所述目标磁盘中的超级块信息,以及将所述目标磁盘的状态更改为正常状态。
6.一种磁盘阵列的重建系统,其特征在于,包括:
设置单元,用于设置磁盘出现异常的第一触发条件以及相应的磁盘恢复正常的第二触发条件;
记录单元,用于在向磁盘阵列写IO的过程中,当检测到所述磁盘阵列中的任一目标磁盘满足所述第一触发条件时,记录所述目标磁盘的状态为异常状态,以及向处理单元输出目标磁盘异常信号;当检测到所述目标磁盘满足所述第二触发条件时,将所述目标磁盘的状态更改为重建状态,以及向所述处理单元输出目标磁盘重建信号;
所述处理单元,用于在接收到由所述记录单元发送的目标磁盘异常信号之后,将从所述目标磁盘满足所述第一触发条件至所述目标磁盘满足所述第二触发条件的时间间隔内的应写入所述目标磁盘中的目标数据的相关信息进行保存;以及在接收到由所述记录单元发送的目标磁盘重建信号之后,根据所述目标数据的相关信息,将所述目标数据写入所述目标磁盘。
7.根据权利要求6所述的磁盘阵列的重建系统,其特征在于,
所述处理单元,具体用于在接收到由所述记录单元发送的目标磁盘异常信号之后,将从所述目标磁盘满足所述第一触发条件至所述目标磁盘满足所述第二触发条件的时间间隔内的应写入所述目标磁盘中的目标数据的条带号进行保存;以及在接收到由所述记录单元发送的目标磁盘重建信号之后,读取与所述目标数据的条带号相对应的写入所述磁盘阵列中的其他非异常磁盘中的第一数据,利用异或运算计算出与所述第一数据相对应的所述目标数据,并将所述目标数据写入所述目标磁盘。
8.根据权利要求6所述的磁盘阵列的重建系统,其特征在于,
所述设置单元,具体用于设置磁盘出现异常的第一触发条件为磁盘被从磁盘阵列中拔出、磁盘链路不稳定和磁盘链路闪断中的任意一种或多种;
和/或,
所述设置单元,具体用于设置磁盘恢复正常的第二触发条件为磁盘被插回到磁盘阵列中、磁盘链路恢复稳定和闪断的磁盘链路恢复正常中的任意一种或多种。
9.根据权利要求6所述的磁盘阵列的重建系统,其特征在于,所述处理单元,具体用于将从所述目标磁盘满足所述第一触发条件至所述目标磁盘满足所述第二触发条件的时间间隔内的应写入所述目标磁盘中的目标数据的相关信息写入NVRAM中。
10.根据权利要求6至9中任一所述的磁盘阵列的重建系统,其特征在于,
所述处理单元,进一步用于在将所述目标数据写入所述目标磁盘之后,向所述记录单元输出目标磁盘重建完成信号,以及更新所述目标磁盘中的超级块信息;
所述记录单元,进一步用于在接收到由所述处理单元发送的目标磁盘重建完成信号之后,将所述目标磁盘的状态更改为正常状态。
CN201610202531.8A 2016-04-01 2016-04-01 一种磁盘阵列的重建方法及系统 Pending CN105892950A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610202531.8A CN105892950A (zh) 2016-04-01 2016-04-01 一种磁盘阵列的重建方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610202531.8A CN105892950A (zh) 2016-04-01 2016-04-01 一种磁盘阵列的重建方法及系统

Publications (1)

Publication Number Publication Date
CN105892950A true CN105892950A (zh) 2016-08-24

Family

ID=57011949

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610202531.8A Pending CN105892950A (zh) 2016-04-01 2016-04-01 一种磁盘阵列的重建方法及系统

Country Status (1)

Country Link
CN (1) CN105892950A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106933509A (zh) * 2017-02-17 2017-07-07 联想(北京)有限公司 一种磁盘编号的处理方法及电子设备
CN107291593A (zh) * 2017-06-29 2017-10-24 郑州云海信息技术有限公司 一种raid系统中故障磁盘的更换方法及装置
CN109144788A (zh) * 2018-09-10 2019-01-04 网宿科技股份有限公司 一种重建osd的方法、装置及系统
CN109799953A (zh) * 2018-12-14 2019-05-24 创新科存储技术(深圳)有限公司 一种快速重建raid的方法和装置
CN110032330A (zh) * 2018-01-12 2019-07-19 爱思开海力士有限公司 存储器系统及其操作方法
US10671403B2 (en) 2017-02-17 2020-06-02 Lenovo (Beijing) Co., Ltd. Method and apparatus for identifying hardware device in operating system
CN112379832A (zh) * 2020-11-05 2021-02-19 杭州海康威视数字技术股份有限公司 存储介质检测方法和装置
CN114020516A (zh) * 2022-01-05 2022-02-08 苏州浪潮智能科技有限公司 一种异常io处理的方法、系统、设备及可读存储介质
CN117149094A (zh) * 2023-10-30 2023-12-01 苏州元脑智能科技有限公司 确定数据区状态的方法、装置、磁盘阵列及存储系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080010503A1 (en) * 2006-06-23 2008-01-10 Paul Nicholas Cashman Apparatus and method for controlling raid array rebuild
CN102164165A (zh) * 2011-02-18 2011-08-24 杭州宏杉科技有限公司 一种网络存储系统的管理方法及装置
CN103019894A (zh) * 2012-12-25 2013-04-03 创新科存储技术(深圳)有限公司 一种独立冗余磁盘阵列的重建方法
CN104881242A (zh) * 2014-02-28 2015-09-02 中兴通讯股份有限公司 数据写入方法及装置
CN105183583A (zh) * 2015-07-31 2015-12-23 浪潮电子信息产业股份有限公司 一种磁盘阵列的数据重建的方法及一种磁盘阵列系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080010503A1 (en) * 2006-06-23 2008-01-10 Paul Nicholas Cashman Apparatus and method for controlling raid array rebuild
CN102164165A (zh) * 2011-02-18 2011-08-24 杭州宏杉科技有限公司 一种网络存储系统的管理方法及装置
CN103019894A (zh) * 2012-12-25 2013-04-03 创新科存储技术(深圳)有限公司 一种独立冗余磁盘阵列的重建方法
CN104881242A (zh) * 2014-02-28 2015-09-02 中兴通讯股份有限公司 数据写入方法及装置
CN105183583A (zh) * 2015-07-31 2015-12-23 浪潮电子信息产业股份有限公司 一种磁盘阵列的数据重建的方法及一种磁盘阵列系统

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10671403B2 (en) 2017-02-17 2020-06-02 Lenovo (Beijing) Co., Ltd. Method and apparatus for identifying hardware device in operating system
CN106933509A (zh) * 2017-02-17 2017-07-07 联想(北京)有限公司 一种磁盘编号的处理方法及电子设备
CN106933509B (zh) * 2017-02-17 2019-09-24 联想(北京)有限公司 一种磁盘编号的处理方法及电子设备
CN107291593A (zh) * 2017-06-29 2017-10-24 郑州云海信息技术有限公司 一种raid系统中故障磁盘的更换方法及装置
CN110032330A (zh) * 2018-01-12 2019-07-19 爱思开海力士有限公司 存储器系统及其操作方法
CN109144788A (zh) * 2018-09-10 2019-01-04 网宿科技股份有限公司 一种重建osd的方法、装置及系统
CN109799953A (zh) * 2018-12-14 2019-05-24 创新科存储技术(深圳)有限公司 一种快速重建raid的方法和装置
CN109799953B (zh) * 2018-12-14 2022-10-11 深圳创新科技术有限公司 一种快速重建raid的方法和装置
CN112379832A (zh) * 2020-11-05 2021-02-19 杭州海康威视数字技术股份有限公司 存储介质检测方法和装置
CN112379832B (zh) * 2020-11-05 2023-04-25 杭州海康威视数字技术股份有限公司 存储介质检测方法和装置
CN114020516A (zh) * 2022-01-05 2022-02-08 苏州浪潮智能科技有限公司 一种异常io处理的方法、系统、设备及可读存储介质
CN114020516B (zh) * 2022-01-05 2022-04-22 苏州浪潮智能科技有限公司 一种异常io处理的方法、系统、设备及可读存储介质
CN117149094A (zh) * 2023-10-30 2023-12-01 苏州元脑智能科技有限公司 确定数据区状态的方法、装置、磁盘阵列及存储系统
CN117149094B (zh) * 2023-10-30 2024-02-09 苏州元脑智能科技有限公司 确定数据区状态的方法、装置、磁盘阵列及存储系统

Similar Documents

Publication Publication Date Title
CN105892950A (zh) 一种磁盘阵列的重建方法及系统
CN106484761B (zh) 用于改进储存日志的方法和系统
US9081716B1 (en) Solid-state disk cache-assisted redundant array of independent disks
CN102253865B (zh) 用于在系统中使用高速缓冲存储器的方法和装置
JP4512111B2 (ja) 行列ストライプキャッシュを利用したraidシステムの入出力性能を向上させる方法
CN102160030B (zh) 对于数据存储的写通信的聚集
CN106325773B (zh) 一种存储系统数据的一致性保障方法、系统及缓存装置
TWI645404B (zh) 資料儲存裝置以及非揮發式記憶體操作方法
CN103914407B (zh) 一种sd卡掉电保护、恢复方法以及带有掉电保护的sd卡
CN105843551A (zh) 高性能和大容量储存重复删除中的数据完整性和损耗电阻
US20140281315A1 (en) Mass storage device and method of operating the same to back up data stored in volatile memory
KR20130030241A (ko) 불휘발성 메모리 시스템들을 위한 위브 시퀀스 카운터
CN101840360A (zh) Raid系统的快速重建方法及装置
CN115793985B (zh) 一种安全存储方法、装置、设备及存储介质
CN110399247A (zh) 一种数据恢复方法、装置、设备及计算机可读存储介质
CN109426440A (zh) 挥发性储存器的数据保存系统及方法
CN102789370B (zh) 一种raid阵列同步方法及装置
CN102024021A (zh) 一种逻辑文件系统元数据的日志方法
KR101548452B1 (ko) 비휘발성 메모리 기반의 전자 장치의 메타 데이터 복원 방법 및 장치
CN107885620A (zh) 一种提高固态盘阵列性能和可靠性的方法及系统
CN107402890A (zh) 一种基于固态盘阵列和缓存的数据处理方法及系统
CN104598328A (zh) 一种文件系统修复方法、装置及系统
CN103684688A (zh) 一种星载软件内存单粒子实时防护方法
CN109284201A (zh) 温度均衡数据恢复方法以及系统、存储介质
CN104699574A (zh) 一种建立处理器Cache检查点的方法、装置及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160824

WD01 Invention patent application deemed withdrawn after publication