CN110413218A - 用于存储系统中的故障恢复的方法、装置和计算机程序产品 - Google Patents

用于存储系统中的故障恢复的方法、装置和计算机程序产品 Download PDF

Info

Publication number
CN110413218A
CN110413218A CN201810408962.9A CN201810408962A CN110413218A CN 110413218 A CN110413218 A CN 110413218A CN 201810408962 A CN201810408962 A CN 201810408962A CN 110413218 A CN110413218 A CN 110413218A
Authority
CN
China
Prior art keywords
disk
time
disk group
predetermined
waiting time
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
CN201810408962.9A
Other languages
English (en)
Other versions
CN110413218B (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.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201810408962.9A priority Critical patent/CN110413218B/zh
Priority to US16/223,830 priority patent/US10922175B2/en
Publication of CN110413218A publication Critical patent/CN110413218A/zh
Application granted granted Critical
Publication of CN110413218B publication Critical patent/CN110413218B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1084Degraded mode, e.g. caused by single or multiple storage removals or disk failures
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • 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/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2064Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring while ensuring consistency
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/835Timestamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开的实施例提供了用于存储系统的故障恢复的方法、装置和计算机程序产品。在一种方法中,响应于检测到存储器系统的磁盘出现故障,记录所述磁盘组的故障持续时间。在所述故障持续时间未达到预定就绪时间限制且所述磁盘组处于降级状态的情况下,保持所述磁盘组处于降级但未就绪状态。所述预定就绪时间限制短于逻辑单元号去抖时间限制,以避免数据不可用事件的发生。通过本公开的实施例,可以在避免数据不可用事件的同时显著缩短出现数据丢失事件的可能性。

Description

用于存储系统中的故障恢复的方法、装置和计算机程序产品
技术领域
本公开的实施例涉及数据存储领域,并且更具体地,涉及用于存储系统中的故障恢复的方法、装置以及计算机程序产品。
背景技术
存储系统可以被构建在一个或多个物理存储设备之上,用于提供数据存储的能力。独立冗余磁盘阵列(RAID)是通过组合多个磁盘来实现数据冗余和提高存取速率的一种存储技术。
根据RAID技术,将利用多个独立磁盘组成一个大容量的磁盘组,而且采用了条带化技术来将数据输入/输出(I/O)负载均衡地分配到多个物理磁盘上。换句话说,一块连续数据块被均匀地分成几个较小的块,分别存储在多个磁盘上,这多个磁盘在逻辑上属于同一存储设备。因而,通过在多个磁盘上并行存储和读取数据,可以提高存储系统的吞吐量和存取速率。此外,在RAID技术中,通过利用数据校验提供容错功能,来提高系统的稳定性,在很多RAID模式中都提供有较为完备的校验/恢复机制,有些甚至直接是互相的镜像备份。
在出现诸如掉电或者磁盘被移除等硬件故障的情况时,RAID组会发生崩溃。在硬件故障被清除后,需要对磁盘进行重新上电。在故障恢复的过程中时,由于硬件限制,磁盘组中各个磁盘的上电时间和顺序是无法预先确定的,其原因主要在于下述两个方面。第一,RAID组中的磁盘可能位于不同的机器之中,因此不同机器的上电时间很可能是不同的;第二,为了避免电压毛刺(power glitch),机器通常不会在相同时间对其内部的磁盘上电,这意味即使是位于相同机器内部,磁盘也不会在相同的时间上电。因此在硬件故障清除后,各个磁盘驱动器开始再次在线的时间是不同的。这样,RAID组通常需要等待一个预定时间段以便所有磁盘驱动器都已恢复。而如果在该等待时间截止时,仍然不是所有的磁盘都在线,此时若无法对磁盘进行操作,则主机将会向用户报告数据不可用(data unavailable,DU)事件。为此,通常会在两个磁盘上线后不久(通常是5秒后),强制以降级状态对磁盘组进行存取操作。
然而,在降级状态下操作执行I/O操作时,可能会引发数据丢失事件。这是因为硬件故障可能会引起不完整读写,而在不完整读写意味这磁盘之间的数据不一致。而在降级状态下对不一致数据进行读写时,并非所有磁盘都在线,因此无法恢复尚未在线的磁盘的数据,这将会使得该磁盘处于数据丢失(Data Lost,DL)模式。而且,即便随后变为所有磁盘均在线的状态,也无法再进行恢复,因此最后上线的磁盘仍将处于DL模式。这意味着,尽管用户并未访问最后上线的磁盘,但是在所有磁盘都恢复后,仍然存在DL事件,这些会给用户带来不好的体验。
发明内容
在本公开的实施例中,提供了一种用于存储系统的故障恢复的技术方案。
在本公开的第一方面中,提供了一种用于存储系统的故障恢复的方法。该方法包括响应于检测到存储器系统的磁盘出现故障,记录所述磁盘组的故障持续时间。在所述故障持续时间未达到预定就绪时间限制且所述磁盘组处于降级状态的情况下,保持所述磁盘组处于降级但未就绪状态。所述预定就绪时间限制短于逻辑单元号去抖时间限制,以避免数据不可用事件的发生。
在本公开的第二方面中,提供了一种用于存储系统的故障恢复的装置。该装置包括处理器以及与处理器耦合的存储器,存储器具有存储于其中的指令,指令在被处理器执行时使装置执行动作。所述动作包括响应于检测到存储器系统的磁盘出现故障,记录所述磁盘组的故障持续时间。所述动作还包括在所述故障持续时间未达到预定就绪时间限制且所述磁盘组处于降级状态的情况下,保持所述磁盘组处于降级但未就绪状态。所述预定就绪时间限制短于逻辑单元号去抖时间限制,以避免数据不可用事件的发生。
在本公开的第三方面中,提供了一种计算机程序产品,该计算机程序产品被有形地存储在计算机可读介质上并且包括机器可执行指令,机器可执行指令在被执行时使机器执行根据第一方面的方法。
提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分并非意在标识本公开的关键特征或主要特征,也并非意在限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了本公开的实施例可以在其中被实现的示例环境的示意图;
图2示出了图1所示的环境中以1/O跟踪结构(IOTS)和子IOTS(SIOTS)来执行I/O请求的过程的流程图;
图3示出了根据现有技术的故障恢复的过程的时序图;
图4示出了说明数据丢失事件产生的一个场景的示意图;
图5示出了根据本公开的实施例的用于存储系统的故障恢复的方法的流程图;
图6示出了根据本公开的另一实施例的用于存储系统的故障恢复的方法的流程图;
图7示出了根据本公开的一个实施方式的故障恢复的过程的时序图;
图8示出了根据本公开的一个实施方式的故障恢复期间的DL窗口的时序图;
图9示出了根据本公开的再一实施例的用于存储系统的故障恢复的方法的流程图;
图10示出了根据本公开的一个实施例的故障恢复的过程的时序图;
图11示出了根据本公开的一个实施方式用于处理背景验证避免(BVA)写入请求的过程的流程图;
图12示出了根据本公开的一个实施方式用于处理读取请求的过程的流程图;
图13示出了根据本公开的一个实施方式在故障恢复期间的I/O等待时间监控的过程的流程图;
图14示出了根据根本公开的一个实施方式的故障恢复过程中的DL窗口和现有技术中的故障恢复过程中的DL窗口的示意图;以及
图15示出了可以用来实施本公开的实施例的示例设备的框图。
具体实施方式
下面将参考附图中示出的若干示例实施例来描述本公开的原理。虽然附图中显示了本公开的优选实施例,但应当理解,描述这些实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
首先参考图1,图1示出了本公开的实施例可以在其中被实现的存储系统100的示意图。存储系统100包括物理存储设备组120,用于提供数据存储能力。物理存储设备组120包括缓存存储器122和磁盘设备124。缓存存储器122用于数据缓存,磁盘设备124用于数据的持久性存储。通常,缓存存储器122的存取速度大于硬盘设备124的存取速度。存储系统100可以利用多种存储技术来提供数据存储能力。
在一些实施例中,缓存存储器122的示例包括高速缓存,随机存取存储器(RAM)、动态随机存取存储器(DRAM)等具有较高存取速度的存储器。磁盘设备124的示例可以包括磁盘冗余阵列(RAID)或其他磁盘设备。
为了管理对物理存储空间的数据存储,存储系统100还包括存储控制器110。通常存储系统100采用分层控制模型。如图1所示,在分层控制模型下,存储控制器110可以具有多层控制模块,包括主机控制模块112、缓存控制模块114以及物理盘控制模块116。这些控制模块实现层级控制功能。
为了便于理解存储系统100的分层控制模型,在使用RAID技术的示例中描述控制器110的工作机制。物理盘控制模块116将RAID逻辑单元号(LUN)呈现给缓存控制模块114。物理盘控制模块116控制磁盘设备124的存储空间。缓存控制模块114控制缓存存储器122的缓存空间,以将缓存卷呈现给主机控制模块112。主机控制模块112管理逻辑存储池,并且将池LUN呈现给主机102。
在操作时,主机102,例如主机102上运行的应用向主机控制模块112发送用户写请求,以请求将数据写入存储系统100。响应于接收到的用户写请求,主机控制模块112可能会将生成对缓存控制模块114的多个写请求。例如,如果主机102的用户写请求要求将大量数据写入到由硬盘设备124创建的RAID LUN的多个离散区段上,那么针对每个区段,主机控制模块112都会向缓存控制模块114发送一个写请求。
缓存控制模块114和缓存存储器122在写回模式中进行操作。这意味着在接收到写请求后,缓存控制模块114首先将写请求要写入的数据缓存到缓存存储器122,然后再将(多个)写请求的数据释放到磁盘设备140。缓存控制模块114可以在完成数据缓存之后就向主机控制模块112发送该写请求的完成指示,从而实现对用户写请求的快速响应。物理盘控制模块116用于控制对硬盘设备124的实际写入。
在执行I/O请求时,将利用I/O跟踪结构(IOTS)和子I/O跟踪结构(SIOTS)来执行。IOTS是与RAID库的接口,当接收到I/O请求时,RAID对象将会初始化IOTS,并将其发送到RAID库,RAID库将会进一步激活多个SIOTS。SIOTS是RAID库内部的主要工作单元,RAID库中的大部分状态机按照SIOTS来执行RAID算法。每个SIOTS将使用一个或多个现场可替换单元跟踪结构(FRUS),一个现场可替换单元(FRU)代表例如一个磁盘或驱动器,而一个FRUS代表磁盘或者驱动器的一个I/O。
在将IOTS划分为多个SIOTS时可以基于若干准则。例如,在RAID组处于降级模式操作时,SIOTS的逻辑块地址(LBA)范围应当是单元尺寸(64k),并且是与单元对齐的。而在RAID以优化模式操作时,SIOTS的LBA范围应当保证奇偶校验范围是连续的。此外,还需要注意,被发送到一个驱动器的I/O在一个SIOTS内不能大于1MB。
在下文中,出于说明的目的,将参考图2来描述一个I/O请求的执行过程。如图2所示,在RAID对象接收到I/O请求并准备好执行I/O请求时,其将发送IOTS给RAID库。该IOTS到达RAID库后,该RAID库激活IOTS,并且IOTS进一步激活SIOTS(202)。接着生成SIOTS(204),并且分配执行操作所需的存储器(206)。激活SIOTS(202)、生成SIOTS(204)和为SIOTS分配存储器(206)的步骤重复执行直至针对所有SIOTS都已经执行上述操作。然后,针对每个SIOTS来执行RAID算法,发出FRUS直至针对所述有SIOTS算法都已经执行完毕(208)。在算法执行完毕后,SIOTS进入完成状态(210)。在SIOTS完成后,IOTS进入完成状态(212).至此,完成对I/O请求的执行。
应当理解,在上文中虽然被示出为不同的模块,但主机控制模块112、缓存控制模块114以及物理盘控制模块116可以由具有处理能力的单个或多个处理器、控制器、微处理器等或者包括这些器件的计算设备来实现。在一些示例中,缓存控制模块114还可以与缓存存储器122集成在一起,以获得同时具备缓存和控制能力的器件。虽然未被示出,在一些实施例中,存储系统100还可以包括作为存储控制器100的镜像的另一存储控制器,以提供数据一致性、安全性和数据恢复能力。在一些示例中,存储系统100还可以使用多核存储机制来实现数据存储和管理。
如前所述,在出现诸如掉电或者磁盘被移除等硬件故障的情况时,RAID组会发生崩溃。在硬件故障被清除后,需要对磁盘进行重新上电。而在故障恢复的过程中时,由于硬件限制,磁盘组中各个磁盘的上电时间和顺序是无法预先确定的。因此,在硬件故障清除后,各个磁盘驱动器再次在线的时间是不同的。如果到达预定时间段(通常是80s)时,仍然不是所有的磁盘都在线,此时若无法对磁盘进行操作,则主机将会向用户报告DU事件。为此,通常会在两个磁盘上线后不久,允许以降级状态对磁盘进行存取操作。在降级状态下操作执行I/O操作时,如果涉及对不一致数据的去取,则可能会引发数据丢失事件。这些都会给用户带来不好的体验。
为了更加清楚地说明本发明的构思,将首先参考图2和图3对现有技术中的技术方案进行说明。
图3中示出根据现有技术的故障恢复的过程的时序图,其中RAID组包括D0、D1和D2三个磁盘。如图3所示,在电力故障发生后,磁盘D1首先在线,接着磁盘D2也变为在线,在磁盘D1和D2都上线后,主机立刻进入降级状态。在主机进入降级状态后5s内,如果D0仍没有上线,则强制主机进入降级操作就绪状态。该降级操作就绪状态也可以简称为就绪状态,在该状态下可以在没有第三个磁盘D0的情况下仅仅以两个磁盘进行操作。LUN去抖时间通常是与DU事件相关的时间限制,其通常为80s。如果第三个磁盘D0在LUN去抖时间截止时仍没有上线,则主机将会意识到第三磁盘的不在线并且向用户报告DU事件。如果在80s之后第三磁盘D0上线,则主机将重新绑定RAID组,并且开始在亦可称为优化状态的正常状态下。但是,由于在就绪状态和第三磁盘D0上线之间一直是以降级模式进行操作,因此他们之间的时间窗口是可能发生数据丢失的DL窗口。
例如,在硬件故障发生时,用户的I/O操作可能尚未全部完成,因此可能会存在不完整写入的情况。而在发生硬件故障的情况下,即使是电力故障,由于存储系统通常会带有掉电保护功能,因此缓存中仍然会保存这些正在写入的数据。在故障清除后,缓存将继续写入掉电之前的未完成的用户数据(本公开中被称作脏数据)。
缓存重新写入数据主要出于以下两个原因。第一个原因是,在故障清除后,写I/O会通知RAID组,该条带存在不一致性错误,而在服务于该I/O操作的同时,RAID群组可以对条带进行验证并且可以对不一致性进行校正。第二个原因是,缓存中的内存资源是受限的,因此缓存需要冲刷数据,以便释放用于服务I/O请求的存储空间。通常采用的这种技术通常可以被称之为背景验证避免(BVA)。使用BVA,RAID组不需验证整个RAID组,而只需在缓存发送BVA I/O时验证条带。然而,正如上面所描述的那样,RAID组可能会出于降级操作就绪状态,如果RAID组以降级操作并且有些条带的写入不完整,则BVA可能会导致数据丢失。出于说明的目的,将参考图3来描述一个可能出现DL的场景。
如图4所示,当用户在向磁盘D1写入数据“N1”时,在正常情况下RAID组会更新磁盘D1并且更新校验磁盘P(参见右上角的图)。但是,如果在磁盘D1正在写入而奇偶校验盘尚未更新时发生电力故障,则在此条带上会出现不完整写入,即磁盘D1已经包含新数据,但奇偶校验盘P上仍然包含旧数据。此时,由于用户I/O操作尚未完成,缓存将会把数据存储到存储区。在故障恢复过程中,各个磁盘先后上线,其中磁盘D1和校验盘磁盘P最先上线,而磁盘D0上线较晚。在磁盘D1和校验盘P上线之后,RAID组很快处于降级操作就绪状态,并可以以降级模式操作。此时,缓存立即将数据重新写入RAID组。在磁盘D1和校验磁盘P都包含新数据或者他们都包含旧数据的情况下,数据是一致的,则RAID组可以根据两个磁盘上的数据正确恢复出磁盘0上的数据。
但是,如果磁盘D1有新数据而校验磁盘O上却包含的是旧数据,则恢复的数据是无效的。这时,RAID组发现磁盘D1和校验磁盘P的数据不一致并且处于降级模式,它将会把新数据写入磁盘D1,同时由于磁盘D1和校验磁盘P的数据不一致,无法恢复磁盘0上的数据,故将磁盘D0设置为数据丢失模式。几秒钟后,所有故障均被清除并磁盘D0上线,但是此时D0的数据仍无法恢复,因而磁盘D0仍然在数据丢失模式下进行构建。可以看出,在这种情况下,尽管用户并未接触磁盘D0并且所有硬件故障都已经被清除,但磁盘D0仍然存在数据丢失。
因此,在允许RAID以降级状态操作的情况下,即便硬件故障排除后,在存在不完整写入时RAID组仍然会接收到DL事件。另一方面,如果为了避免DL事件,在硬件故障恢复后RAID组等待所有磁盘联机后才进入准备就绪状态,则LUN去抖定时器很可能会过期,这样主机将收到DU事件。但是无论哪种情况都会给用户带来不好的体验。
为此,在本公开中提供了一种用于存储系统的故障恢复的技术方案。在该方案中,记录磁盘组的故障持续时间,在所述故障持续时间未达到预定就绪时间限制且所述磁盘组处于降级状态的情况下,一直保持所述磁盘组处于降级但未就绪状态。而且所述预定就绪时间限制被设为短于LUN去抖时间限制,以避免DU事件的发生。通过设定上述降级操作就绪的时间限制,可以在避免DU事件的同时推迟主机进入降级操作就绪的时间,可以减少DL窗口的跨度,降低DL事件产生的可能性。
在下文中,将参考图5至图15来详细描述本公开的实施例。然而需要说明的是,附图和其中示出的实施例是出于说明的目的而给出的,本发明并不局限于其中所示出的细节,而是可以在并不背离本公开的思想和精神的情况下,在没有这些细节的情况下实现,或者可以进行各种改变。
图5示出了根据本公开的实施例的一种用于存储系统的故障恢复的方法500的流程图。方法500的操作或者其中至少一部分可以由存储系统的控制设备/控制器来实现,特别可以由控制器中管理具有较低存取速度的存储设备的控制模块来实现。
在步骤510,响应于检测到存储器系统的磁盘出现故障,记录所述磁盘组的故障持续时间。在根据本公开的一个实施方式中,可以启动一个故障持续时间计时器来对故障持续时间进行计时。在根据本公开的另一实施方式中,可以启动一个故障时间戳。RAID可以每隔预定时间(例如,2秒、3秒或者其他适当的时间)来检查该时间戳,以确定故障持续时间。
在步骤520,在所述故障持续时间未达到预定就绪时间限制且所述磁盘组处于降级状态的情况下,保持所述磁盘组处于降级但未就绪状态。
与在主机进入降级状态5秒后强制进入降级操作就绪状态以允许RAID组以降级模式进行操作不同,在本公开的实施方式中,在所述故障持续时间未达到预定就绪时间限制的之前不会使得RAID组进入降级操作就绪状态。所述预定就绪时间限制被设置为短于LUN去抖时间限制,以确保不会引发DU事件。
LUN去抖时间是在高层级别监控的一个时间,而在RAID组进行降级操作状态后,还需要从向高层进行通知。因此,为了确保不会因此该通知的延迟而引发DU事件,可以设置一定的提前时间余量。此外,还可以考虑将预定就绪时间限制设置与逻辑单元号去抖时间限制的差值尽可能小,以便尽可能地推迟降级操作就绪状态。
在根据本公开的一个实施方式中,所述预定就绪时间限制比所述LUN去抖时间限制短5至25秒,优选地短10秒。在LUN去抖时间限制为80秒的情况下,所述预定就绪时间限制可以是55至75秒,优选地70秒。
根据本公开的一个实施方式,在故障持续时间计时器到达预定就绪时间限制之前,维持RAID组处于降级但未就绪状态。在根据本公开的另一实施方式中,可以每隔预定时间(例如,2秒、3秒或者其他适当的时间)来定期地检查用于故障计时的时间戳,以确定故障持续时间是否达到预定就绪时间限制。如果没有达到,则不会强制RAID组进入降级状态,而是继续等待下一个检查时刻。
图6示出了根据本公开的另一实施例的用于存储系统的故障恢复的方法600的流程图。该方法600是可能与图5的方法相结合的操作的示例,这些操作或者其中至少一部分可以由存储系统的控制设备/控制器来实现,特别可以由控制器中管理具有较低存取速度的存储设备的控制模块来实现。
如图6所示,在步骤610,在所述故障持续时间达到所述预定就绪时间限制时所述磁盘组仍然处于降级状态的情况下,可以使得所述磁盘组进入以降级操作就绪状态,在所述降级操作就绪状态下,允许以降级模式对磁盘组进行存取操作。也就是说,如果直到所述故障秩序时间达到所述预定就绪时间限制,还有剩余的磁盘未上线,此时才会进入降级操作继续状态。
在步骤620,响应于检测到所述磁盘组已全部恢复,使所述磁盘组进入优化操作状态。在整个磁盘组恢复过程中,任何时候检测到剩下的最后一个磁盘开始在线,则退出降级操作就绪状态,进入正常操作或者优化操作状态,开始利用所有磁盘组进行存取操作。
出于说明的目的,图7示出了根据本公开的一个实施方式的故障恢复的过程的时序图。从图7中可以清楚看出,其与图3所示时序图的不同之处在于,其并非是像现有技术中那样,在RAID组变为降级状态后预定时间段(5秒)结束时强制进入降级操作就绪模式;相反,在电力故障发生后的预定就绪时间限制(70秒)到期时,如果第三磁盘D0仍不在线,才会进入降级操作就绪状态。因此,与图7的方案相比,DL的时间窗口显然将被限制减小。
图8还示出了根据本公开的另一实施方式的故障恢复期间的DL窗口的时序图,其中与图7所示不同,RAID组中的第三磁盘D0在LUN去抖时间到期之前并未成功在线。如图8所示,在这种情况下,DL窗口将会从RAID组变为降级操作就绪状态开始并一致持续到第三磁盘D0上线才会结束。因此,尽管已经通过前面描述的方案降低了DL时间窗口,但是此时DL时间窗口仍较宽。
为此,在本发明中进一步提出设置I/O操作等待时长限制,在I/O操作等待时长限制内可以暂停涉及不一致数据的I/O操作的执行,除非在到达I/O操作等待时长限制后,第三磁盘仍未上线,才会返回DL事件,从而可以尽可能地避免DL事件的产生。在下文中,将参考图9至12来描述该进一步的方案。然而,需要说明的是,尽管在下文中将该方案描述为是在参考图5至图7描述的前述方案的基础上执行的;然而本发明并不局限与此,而是还可以独立于前述方案而单独实现。在下文中,将参考图9来进行更为详细的描述。
图9示出了根据本公开的一个实施例的用于存储系统的故障恢复的方法900的流程图。方法900的操作或者其中至少一部分可以由存储系统的控制设备/控制器来实现,特别可以由控制器中管理具有较低存取速度的存储设备的控制模块来实现。
如图9所示,在步骤910,可以在所述磁盘组处于降级操作就绪状态的情况下,响应于对所述磁盘组的I/O请求,记录I/O等待时长。在根据本公开的一个实施方式中,可以启动一个I/O等待时长计时器来对I/O等待时长进行计时。在根据本公开的另一实施方式中,可以启动一个I/O等待时长时间戳。RAID可以每隔预定时间(例如,2秒、3秒或者其他适当的时间)来检查该时间戳,以确定I/O等待时长。
接着在步骤920,在所述I/O等待时长并未超过预定I/O等待时长限制的情况下,将涉及不一致数据的I/O操作临时存放在队列中而不直接返回数据丢失事件。所述预定I/O等待时长限制短于I/O操作返回时间限制,以避免I/O超时事件的发生。因此,在本公开的实施方式中,只要I/O等待时长并未超过预定I/O等待时长限制,都可以暂时先不返回DL事件,这样在第三磁盘在预定I/O等待时长限制之前重新在线的情况下,可以重新执行涉及不一致数据的I/O操作,而不再需要返回任何DL事件。
此外,所述预定I/O等待时长限制被设置为短于I/O操作返回时间限制。这是因为预定I/O等待时长限制是I/O返回操作结果的时间限制,如果超过该限制仍未返回I/O操作结果,则会引发I/O超时事件。而向高层进行通知需要一定的时间,所以可以设置一定的时间余量来保证在高层不会出现I/O超时事件。此外,还可以考虑将预定I/O等待时长限制设置得与I/O操作返回时间限制限制的差值尽可能小,以便尽可能地推迟DL事件的发出。
在根据本公开的一个实施方式中,所述预定I/O等待时长限制比所述I/O操作返回时间限制限制短5至25秒,优选地短10秒。在I/O操作返回时间限制限制为80秒的情况下,所述预定I/O等待时长限制可以是55至75秒,优选地70秒。
进一步,如图9所示,在根据本公开的另一实施方式中,在步骤930,在所述I/O等待时长并未超过所述预定I/O等待时长限制的情况下,如果检测到所述磁盘组进入优化操作状态,则返回队列中存储的I/O操作,以便重新执行。这样,通过推迟涉及不一致操作的I/O操作直至所有磁盘都上线,可以避免DL事件的发生。
在步骤940,在所述I/O等待时长达到所述预定I/O等待时间限制但所述磁盘组仍未返回优化操作状态的情况下,向高层返回数据丢失事件。在这种情况下,直至到达预定I/O等待时间限制,第三磁盘也未上线,而此时如果在不返回DL,则会引发I/O超时事件,因此将从队列中移除其中存储的I/O操作并返回数据丢失事件。
在步骤950,响应于检测到利用新磁盘替换所述磁盘组中未上线磁盘,从所述队列中移除所述I/O操作并返回数据丢失事件。在这种情况下,由于已经利用新盘替换一直未上线磁盘,此时DL事件已经无法避免,因此直接从队列中移除所述I/O操作并返回DL事件。
图10示出了根据本公开的一个实施例的故障恢复的过程的时序图,其中RAID组中的第三磁盘D0在LUN去抖时间到期之前仍未在线。如图10所示,在该实施方式中,在故障持续时间达到70秒的限制时,RAID组中的第三个磁盘D0仍未上线,此时进入降级操作就绪状态执行BVA写入。磁盘组进入I/O等待窗口。在I/O等窗口期间,即便存在针对不一致数据的I/O操作,也不会直接返回DL事件,而是仅在I/O等待时间窗口结束时,D0仍不在线的情况下才会返回DL事件。在图10所示的情况下,在I/O等待时间窗口结束前,第三个磁盘D0已经返回,此时可以再次在优化操作模式下执行涉及到不一致数据的I/O操作,而不会返回任何DL事件。
另外,出于说明的目的,将参考图11至图13来描述根据本公开的实施方式的处理BVA写入、数据读取和故障恢复期间的I/O等待监控的过程的示例。
图11示出了根据本公开的一个实施方式用于处理BVA写入请求的过程1100的流程图。过程1100的操作或者其中至少一部分可以由存储系统的控制设备/控制器来实现,特别可以由控制器中管理具有较低存取速度的存储设备的控制模块来实现。
如图11所示,首先在步骤1102确定RAID组是否处于降级操作就绪状态。如果不是,则过程进入步骤1104,按照正常操作来处理该BVA请求,并在步骤1118完成写入操作;如果是,则在过程1100进入步骤1106。在步骤1106针对该写入请求分配IOTS,启动故障时间戳,将IOTS发送给RAID库且生成SIOTS。接下来,在1208针对每个SIOTS检查待被写入的条带是否是一致的。如果是一致的,则过程1100进入步骤1110,按照正常写入操作进行处理,并在操作完成后进入步骤1114;如果不一致,则过程1100进入步骤1112,向IOTS返回该DL事件,并进入步骤1114。在步骤1114,确定是否针对每个SIOTS执行了操作,如果否,则过程返回至步骤1108,执行下一循环;如果是,则过程1100进行至步骤1116。在步骤1116,确定是否有任何SIOTS返回了DL事件,如果没有,则在步骤1118完成写入操作,如果有,则在步骤1120将IOTS添加到队列当中。
图12示出了根据本公开的一个实施方式用于处理读取请求的过程1200的流程图。过程1200的操作或者其中至少一部分可以由存储系统的控制设备/控制器来实现,特别可以由控制器中管理具有较低存取速度的存储设备的控制模块来实现。
如图12所示,首先在步骤1202,在接收到来自用户的读取请求后,确定RAID组是否处于降级操作就绪状态。如果不是,则过程进入步骤1204,按照正常操作来处理该读取请求,并在步骤1222完成读取操作;如果是,则在过程1200进入步骤1206。在步骤1206针对该读取请求分配IOTS,启动故障时间戳,将IOTS发送给RAID库且生成SIOTS。接下来,针对每个SIOTS读取数据,确定读取操作是否涉及到降级的磁盘,如果并未涉及到,则过程1200进行至1210,按照正常操作进行处理,且在操作完成后进行至步骤1218;如果涉及降级的盘,则过程1200进行至1212,读取数据并确定读取的条带是否是一致的。如果条带是一致的,则过程1200进入步骤1214,使用RAID算法恢复降级盘中的数据,并在成功完成该SITOS后进入步骤1218;如果条带是不一致的,则过程1200进入步骤1216,向IOTS返回该DL事件,并进入步骤1218。在步骤1218,确定是否针对每个SIOTS执行了操作,如果否,则过程返回至步骤1212,进行下一循环;如果是,则过程1200进行至步骤1220。在步骤1220,确定是否有任何SIOTS返回了DL事件,如果没有,则在步骤1222完成读取操作,如果有,则将IOTS添加到队列当中。
图13示出了根据本公开的一个实施方式在故障恢复期间的I/O等待时长监控的过程1300的流程图。如图13所示,在步骤1302,确定IOTS的时间戳是否超过70秒,如果已经超过,则过程1300进入步骤1306,从队列中移除IOTS并向高层返回DL事件;如果还没有超过,则过程1300进入步骤1304。在步骤1304,确定RAID组是否从操作就绪状态转变为优化操作状态,即是否所有磁盘都已在线。如果是,则过程1300进行至步骤1308,从队列中取出IOTS,重新弄执行;如果不是,则过程进行至1310。在步骤1310,确定是否RAID组中已经更换了新磁盘来替换仍未在线的磁盘。如果是在过程1300进行至步骤1306;否则,过程返回至1302,等待一下时间戳检查时刻到来,以执行下一循环。
因此,根据本发明的实施方式,可以在避免出现DU的同时,避免在预定就绪时间限制内和/或预定I/O等待时长限制内的DL事件,显著降低发生DL事件的可能性。图14示出了根据根本公开的一个实施方式的故障恢复过程中的DL窗口和现有技术中的故障恢复过程的DL窗口。从图中很清楚可以看出,在根据本发明的实施方式中,即便在最差的情况下,也可以在140s的时间内都可以避免DL事件,DL窗口从I/O等待时间结束到第三磁盘在线,因此与原有的从第二磁盘上线后5秒钟直至第三磁盘在线的DL窗口相比,根据本发明的DL窗口得到显著减小。
图15示出了可以用来实施本公开的实施例的示例设备1500的示意性框图。设备1500可以用于实现图1的存储控制器110的一个或多个控制模块。如图所示,设备1500包括中央处理单元(CPU)1501,其可以根据存储在只读存储器(ROM)1502中的计算机程序指令或者从存储单元1508加载到随机访问存储器(RAM)1503中的计算机程序指令,来执行各种适当的动作和处理。在RAM 1503中,还可存储设备1500操作所需的各种程序和数据。CPU1501、ROM 1502以及RAM 1503通过总线1504彼此相连。输入/输出(I/O)接口1505也连接至总线1504。
设备1500中的多个部件连接至I/O接口1505,包括:输入单元1506,例如键盘、鼠标等;输出单元1507,例如各种类型的显示器、扬声器等;存储单元1508,例如磁盘、光盘等;以及通信单元1509,例如网卡、调制解调器、无线通信收发机等。通信单元1509允许设备1500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元1501执行上文所描述的各个方法和处理,例如方法500、方法600、方法900、过程1100、过程1200和过程1300中的任一个。例如,在一些实施例中,方法500、方法600、方法900、过程1100、过程1200和过程1300中的任一个可被实现为计算机软件程序或计算机程序产品,其被有形地包含于机器可读介质,例如存储单元1508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1502和/或通信单元1509而被载入和/或安装到设备1500上。当计算机程序加载到RAM 1503并由CPU 1501执行时,可以执行上文描述的方法500、方法600、方法900、过程1100、过程1200和过程1300中的任一个过程的一个或多个步骤。备选地,在其他实施例中,CPU 1501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法500、方法600、方法900、过程1100、过程1200和过程1300的任一个。
本领域的技术人员应当理解,上述本公开的方法的各个步骤可以通过通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本公开不限制于任何特定的硬件和软件结合。
应当理解,尽管在上文的详细描述中提及了设备的若干装置或子装置,但是这种划分仅仅是示例性而非强制性的。实际上,根据本公开的实施例,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
以上所述仅为本公开的可选实施例,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的保护范围之内。

Claims (23)

1.一种用于存储系统的故障恢复的方法,包括:
响应于检测到存储器系统的磁盘出现故障,记录所述磁盘组的故障持续时间;以及
在所述故障持续时间未达到预定就绪时间限制且所述磁盘组处于降级状态的情况下,保持所述磁盘组处于降级但未就绪状态,其中所述预定就绪时间限制短于逻辑单元号去抖时间限制,以避免数据不可用事件的发生。
2.根据权利要求1所述的方法,还包括:
在所述故障持续时间达到所述预定就绪时间限制时所述磁盘组仍然处于降级状态的情况下,使得所述磁盘组进入降级操作就绪状态,在所述降级操作就绪状态下,允许以降级模式对磁盘组进行存取操作。
3.根据权利要求1所述的方法,还包括:
响应于检测到所述磁盘组已全部恢复,使所述磁盘组进入优化操作状态。
4.根据权利要求2所述的方法,还包括:
在所述磁盘组处于降级操作就绪状态的情况下,响应于对所述磁盘组的输入/输出(I/O)请求,记录I/O等待时长,以及
在所述I/O等待时长并未超过预定I/O等待时长限制的情况下,将涉及不一致数据的I/O操作临时存放在队列中而不直接返回数据丢失事件,其中所述预定I/O等待时长限制短于I/O操作返回时间限制,以避免I/O超时事件的发生。
5.根据权利要求4所述的方法,还包括:
在所述I/O等待时长并未超过所述预定I/O等待时长限制的情况下,如果检测到所述磁盘组进入优化操作状态,则返回队列中存储的I/O操作,以便重新执行。
6.根据权利要求4所述的方法,还包括:
在所述I/O等待时长达到所述预定I/O等待时间限制但所述磁盘组仍未返回优化操作状态的情况下,从所述队列中移除所述I/O操作并返回数据丢失事件。
7.根据权利要求4所述的方法,还包括:
响应于检测到利用新磁盘替换所述磁盘组中未上线磁盘,从所述队列中移除所述I/O操作并返回数据丢失事件。
8.根据权利要求1至7其中任一项所述的方法,其中所述预定就绪时间限制比所述逻辑单元号去抖时间限制短5至25秒。
9.根据权利要求8所述的方法,其中所述预定就绪时间限制比所述逻辑单元号去抖时间限制短10秒。
10.根据权利要求4至7其中任一项所述的方法,其中所述预定I/O等待时长限制比所述I/O操作返回时间限制短5至25秒。
11.根据权利要求10所述的方法,其中所述预定I/O等待时长限制比所述I/O操作返回时间限制短10秒。
12.一种用于存储系统的故障恢复的装置,包括:
处理器;以及
与所述处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被处理器执行时使所述装置执行动作,所述动作包括:
响应于检测到存储器系统的磁盘出现故障,记录所述磁盘组的故障持续时间;以及
在所述故障持续时间未达到预定就绪时间限制且所述磁盘组处于降级状态的情况下,保持所述磁盘组处于降级但未就绪状态,其中所述预定就绪时间限制短于逻辑单元号去抖时间限制,以避免数据不可用事件的发生。
13.根据权利要求12所述的装置,所述动作还包括:
在所述故障持续时间达到所述预定就绪时间限制时所述磁盘组仍然处于降级状态的情况下,使得所述磁盘组进入降级操作就绪状态,在所述降级操作就绪状态下,允许以降级模式对磁盘组进行存取操作。
14.根据权利要求12所述的装置,所述动作还包括:
响应于检测到所述磁盘组已全部恢复,使所述磁盘组进入优化操作状态。
15.根据权利要求13所述的装置,还包括:
在所述磁盘组处于降级操作就绪状态的情况下,响应于对所述磁盘组的输入/输出(I/O)请求,记录I/O等待时长,以及
在所述I/O等待时长并未超过预定I/O等待时长限制的情况下,将涉及不一致数据的I/O操作临时存放在队列中而不直接返回数据丢失事件,其中所述预定I/O等待时长限制短于I/O操作返回时间限制,以避免I/O超时事件的发生。
16.根据权利要求15所述的装置,所述动作还包括:
在所述I/O等待时长并未超过所述预定I/O等待时长限制的情况下,如果检测到所述磁盘组进入优化操作状态,则返回队列中存储的I/O操作,以便重新执行。
17.根据权利要求15所述的装置,所述动作还包括:
在所述I/O等待时长达到所述预定I/O等待时间限制但所述磁盘组仍未返回优化操作状态的情况下,从所述队列中移除所述I/O操作并向高层返回数据丢失事件。
18.根据权利要求15所述的装置,所述动作还包括:
响应于检测到利用新磁盘替换所述磁盘组中未上线磁盘,从所述队列中移除所述I/O操作并返回数据丢失事件。
19.根据权利要求12至18其中任一项所述的装置,其中所述预定就绪时间限制比所述逻辑单元号去抖时间限制短5至25秒。
20.根据权利要求19所述的装置,其中所述预定就绪时间限制比所述逻辑单元号去抖时间限制短10秒。
21.根据权利要求15至18其中任一项所述的装置,其中所述预定I/O等待时长限制比所述I/O操作返回时间限制短5至25秒。
22.根据权利要求21所述的装置,其中所述预定I/O等待时长限制比所述I/O操作返回时间限制短10秒。
23.一种计算机程序产品,所述计算机程序产品被有形地存储在计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1至11中任一项所述的方法。
CN201810408962.9A 2018-04-28 2018-04-28 用于存储系统中的故障恢复的方法、装置和计算机程序产品 Active CN110413218B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810408962.9A CN110413218B (zh) 2018-04-28 2018-04-28 用于存储系统中的故障恢复的方法、装置和计算机程序产品
US16/223,830 US10922175B2 (en) 2018-04-28 2018-12-18 Method, apparatus and computer program product for failure recovery of storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810408962.9A CN110413218B (zh) 2018-04-28 2018-04-28 用于存储系统中的故障恢复的方法、装置和计算机程序产品

Publications (2)

Publication Number Publication Date
CN110413218A true CN110413218A (zh) 2019-11-05
CN110413218B CN110413218B (zh) 2023-06-23

Family

ID=68292592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810408962.9A Active CN110413218B (zh) 2018-04-28 2018-04-28 用于存储系统中的故障恢复的方法、装置和计算机程序产品

Country Status (2)

Country Link
US (1) US10922175B2 (zh)
CN (1) CN110413218B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112306747A (zh) * 2020-09-29 2021-02-02 新华三技术有限公司合肥分公司 一种raid卡故障处理方法及装置
CN112964953A (zh) * 2021-02-25 2021-06-15 台州市菱士达电器有限公司 变频器故障预诊断方法及系统
TWI830097B (zh) * 2021-12-08 2024-01-21 神雲科技股份有限公司 叢集式儲存系統

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110058791B (zh) * 2018-01-18 2022-05-10 伊姆西Ip控股有限责任公司 存储系统以及相应的方法和计算机可读介质
CN113590016A (zh) * 2020-04-30 2021-11-02 伊姆西Ip控股有限责任公司 用于管理存储盘的方法、电子设备和计算机程序产品

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030093721A1 (en) * 2001-09-24 2003-05-15 International Busiess Machines Corporation Selective automated power cycling of faulty disk in intelligent disk array enclosure for error recovery
US20080126702A1 (en) * 2006-11-28 2008-05-29 Yoshifumi Zimoto Storage system comprising power saving function
CN102158538A (zh) * 2011-02-18 2011-08-17 杭州宏杉科技有限公司 一种网络存储系统的管理方法及装置
US20130308433A1 (en) * 2012-05-16 2013-11-21 Seagate Technology Llc Logging disk recovery operations in a non-volatile solid-state memory cache
CN103902403A (zh) * 2012-12-27 2014-07-02 Lsi公司 经由冗余阵列的非易失性存储器编程故障恢复
US20160188211A1 (en) * 2014-12-30 2016-06-30 International Business Machines Corporation Optimizing thin provisioning in a data storage system through selective use of multiple grain sizes
CN107526536A (zh) * 2016-06-22 2017-12-29 伊姆西公司 用于管理存储系统的方法和系统

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5317752A (en) * 1989-12-22 1994-05-31 Tandem Computers Incorporated Fault-tolerant computer system with auto-restart after power-fall
US5675816A (en) * 1992-05-26 1997-10-07 Fujitsu Limited Magnetic disk subsystem with failsafe battery charging and power shut down
US6785785B2 (en) * 2000-01-25 2004-08-31 Hewlett-Packard Development Company, L.P. Method for supporting multi-level stripping of non-homogeneous memory to maximize concurrency
US7028213B2 (en) * 2001-09-28 2006-04-11 Hewlett-Packard Development Company, L.P. Error indication in a raid memory system
JP4230189B2 (ja) * 2002-10-03 2009-02-25 株式会社日立製作所 ディスクアレイ装置、及びその電源供給方法
JP3778171B2 (ja) * 2003-02-20 2006-05-24 日本電気株式会社 ディスクアレイ装置
US7275179B1 (en) * 2003-04-24 2007-09-25 Network Appliance, Inc. System and method for reducing unrecoverable media errors in a disk subsystem
JP2005100259A (ja) * 2003-09-26 2005-04-14 Hitachi Ltd ドライブの2重障害を防止するアレイ型ディスク装置、プログラム、及び方法
JP4585217B2 (ja) * 2004-03-29 2010-11-24 株式会社日立製作所 ストレージシステムおよびその制御方法
US7979404B2 (en) * 2004-09-17 2011-07-12 Quest Software, Inc. Extracting data changes and storing data history to allow for instantaneous access to and reconstruction of any point-in-time data
US7143308B2 (en) * 2005-01-14 2006-11-28 Charlie Tseng Apparatus, system, and method for differential rebuilding of a reactivated offline RAID member disk
US8781609B2 (en) * 2006-05-19 2014-07-15 Siemens Industry, Inc. Signal processing network
WO2008036921A2 (en) * 2006-09-21 2008-03-27 Impact Technologies, Llc Systems and methods for predicting failure of electronic systems and assessing level of degradation and remaining useful life
US7694188B2 (en) * 2007-02-05 2010-04-06 Microsoft Corporation Disk failure prevention and error correction
US7672072B1 (en) * 2007-06-27 2010-03-02 Western Digital Technologies, Inc. Disk drive modifying an update function for a refresh monitor in response to a measured duration
US8103825B2 (en) * 2008-09-30 2012-01-24 Netapp, Inc. System and method for providing performance-enhanced rebuild of a solid-state drive (SSD) in a solid-state drive hard disk drive (SSD HDD) redundant array of inexpensive disks 1 (RAID 1) pair
JP2010097385A (ja) * 2008-10-16 2010-04-30 Fujitsu Ltd データ管理プログラム、ストレージ装置診断プログラム、およびマルチノードストレージシステム
US8010835B2 (en) * 2008-11-11 2011-08-30 Datadirect Networks, Inc. Storage device realignment
US8689040B2 (en) * 2010-10-01 2014-04-01 Lsi Corporation Method and system for data reconstruction after drive failures
US8782465B1 (en) * 2011-12-22 2014-07-15 Emc Corporation Managing drive problems in data storage systems by tracking overall retry time
US20150095095A1 (en) * 2012-03-16 2015-04-02 Thomson Licensing Method and apparatus for mass replication of digital media
US9507887B1 (en) 2013-03-13 2016-11-29 EMC IP Holding Company LLC Adaptive techniques for workload distribution across multiple storage tiers
US9641615B1 (en) 2014-03-31 2017-05-02 EMC IP Holding Company LLC Allocating RAID storage volumes across a distributed network of storage elements
US9836363B2 (en) * 2014-09-30 2017-12-05 Microsoft Technology Licensing, Llc Semi-automatic failover
US10310943B2 (en) * 2017-06-16 2019-06-04 Microsoft Technology Licensing, Llc Distributed data object management system
CN110058791B (zh) * 2018-01-18 2022-05-10 伊姆西Ip控股有限责任公司 存储系统以及相应的方法和计算机可读介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030093721A1 (en) * 2001-09-24 2003-05-15 International Busiess Machines Corporation Selective automated power cycling of faulty disk in intelligent disk array enclosure for error recovery
US20080126702A1 (en) * 2006-11-28 2008-05-29 Yoshifumi Zimoto Storage system comprising power saving function
CN102158538A (zh) * 2011-02-18 2011-08-17 杭州宏杉科技有限公司 一种网络存储系统的管理方法及装置
US20130308433A1 (en) * 2012-05-16 2013-11-21 Seagate Technology Llc Logging disk recovery operations in a non-volatile solid-state memory cache
CN103902403A (zh) * 2012-12-27 2014-07-02 Lsi公司 经由冗余阵列的非易失性存储器编程故障恢复
US20160188211A1 (en) * 2014-12-30 2016-06-30 International Business Machines Corporation Optimizing thin provisioning in a data storage system through selective use of multiple grain sizes
CN107526536A (zh) * 2016-06-22 2017-12-29 伊姆西公司 用于管理存储系统的方法和系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112306747A (zh) * 2020-09-29 2021-02-02 新华三技术有限公司合肥分公司 一种raid卡故障处理方法及装置
CN112964953A (zh) * 2021-02-25 2021-06-15 台州市菱士达电器有限公司 变频器故障预诊断方法及系统
CN112964953B (zh) * 2021-02-25 2024-05-14 台州市菱士达电器有限公司 变频器故障预诊断方法及系统
TWI830097B (zh) * 2021-12-08 2024-01-21 神雲科技股份有限公司 叢集式儲存系統

Also Published As

Publication number Publication date
US10922175B2 (en) 2021-02-16
US20190332476A1 (en) 2019-10-31
CN110413218B (zh) 2023-06-23

Similar Documents

Publication Publication Date Title
CN110413218A (zh) 用于存储系统中的故障恢复的方法、装置和计算机程序产品
US9921758B2 (en) Avoiding long access latencies in redundant storage systems
US9047219B2 (en) Storage system, storage control device, and storage control method
US8839030B2 (en) Methods and structure for resuming background tasks in a clustered storage environment
US7480909B2 (en) Method and apparatus for cooperative distributed task management in a storage subsystem with multiple controllers using cache locking
CN100356343C (zh) 计算机系统以及存储装置系统的迁移方法
JP4884885B2 (ja) 記憶制御装置及び記憶制御装置の障害回復方法
JP6009095B2 (ja) ストレージシステム及び記憶制御方法
US7836268B2 (en) Method, apparatus, and system for controlling data storage
CN101755257B (zh) 管理在不同的网络上将写入从首要存储器拷贝到次要存储器
EP1703397A2 (en) Storage control apparatus and method
US8762771B2 (en) Method for completing write operations to a RAID drive pool with an abnormally slow drive in a timely fashion
CN101436149B (zh) 磁盘阵列数据重建方法
CN110807064B (zh) Rac分布式数据库集群系统中的数据恢复装置
CN101593136A (zh) 使得计算机具有高可用性的方法和计算机系统
US7685461B2 (en) Method, apparatus and program storage device for performing fault tolerant code upgrade on a fault tolerant system by determining when functional code reaches a desired state before resuming an upgrade
GB2368161A (en) Method and apparatus for providing battery-backed immediate write back cashe for an arrayof disk drives in a computor system
US7653831B2 (en) Storage system and data guarantee method
CN101615146B (zh) 磁盘阵列在线重构系统及方法
WO2021088367A1 (zh) 数据恢复方法及相关设备
WO2014075586A1 (zh) 一种jbod阵列自动恢复存储的方法和装置
JP2003029934A (ja) ストレージ制御装置及びその制御方法
CN113535088A (zh) 存储设备、数据处理方法和存储系统
JPH1195933A (ja) ディスクアレイ装置
US20160026537A1 (en) Storage system

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