CN115220937A - 存储管理的方法、电子设备和程序产品 - Google Patents

存储管理的方法、电子设备和程序产品 Download PDF

Info

Publication number
CN115220937A
CN115220937A CN202110406443.0A CN202110406443A CN115220937A CN 115220937 A CN115220937 A CN 115220937A CN 202110406443 A CN202110406443 A CN 202110406443A CN 115220937 A CN115220937 A CN 115220937A
Authority
CN
China
Prior art keywords
error
storage device
predetermined threshold
predetermined period
level
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
CN202110406443.0A
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.)
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 CN202110406443.0A priority Critical patent/CN115220937A/zh
Priority to US17/518,943 priority patent/US11704180B2/en
Publication of CN115220937A publication Critical patent/CN115220937A/zh
Pending legal-status Critical Current

Links

Images

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/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
    • G06F11/0769Readable error formats, e.g. cross-platform generic formats, human understandable formats
    • 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
    • G06F11/0727Error 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 in a storage system, e.g. in a DASD or network based storage system
    • 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/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/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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
    • 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/079Root cause analysis, i.e. error or fault diagnosis
    • 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/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开的实施例提供了存储管理的方法、电子设备和程序产品。一种存储管理的方法包括获取表示数据存储系统的存储设备的错误的信息;如果错误在预定时段内发生的次数超过预定阈值,停止获取表示错误的信息;以及生成指示错误在预定时段内发生的次数是否超过预定阈值的事件,以用于对错误的进一步诊断。由此,可以自动管理来自存储设备的错误,有助于提高数据存储系统对存储设备的不同类型的错误的处理能力。

Description

存储管理的方法、电子设备和程序产品
技术领域
本公开的实施例涉及数据存储领域,并且更具体地,涉及用于存储管理的方法、电子设备以及计算机程序产品。
背景技术
随着数据存储技术的发展,存储服务器通常需要管理包含大量盘的存储系统,而在服务器与多个盘之间通常借助于连接线或总线彼此连接以传输信息。数据存储系统通常需要满足关于数据可靠性和稳定性等方面的要求。为了满足这些要求,数据存储系统通常具有一定的错误处理能力,能够检测或校正系统中发生的错误。在新一代的存储产品中,越来越多地使用了例如高速外部部件互连(PCIe)总线,用以连接诸如快速非易失性存储器(NVMe)设备等存储设备。
另一方面,总线连接在现代的服务器架构中处于核心位置,并且对数据存储系统中的许多其他组件的操作和管理都是通过总线连接来进行的。为了使数据存储系统更可靠和更稳定,期望能在尽可能小地影响数据存储系统的性能的情况下,处理来自存储设备的错误。
发明内容
本公开的实施例提供了一种数据存储系统中的错误自动处理的改进方案。
在本公开的第一方面,提供了一种用于存储管理的方法。该方法包括:获取表示数据存储系统的存储设备的错误的信息;如果错误在预定时段内发生的次数超过预定阈值,停止获取表示错误的信息;以及生成指示错误在预定时段内发生的次数是否超过预定阈值的事件,以用于对错误的进一步诊断。
在本公开的第二方面,提供了一种电子设备。该电子设备包括处理器以及与处理器耦合的存储器,存储器保存需要执行的指令,指令在被处理器执行时使设备执行动作,动作包括:获取表示数据存储系统的存储设备的错误的信息;如果错误在预定时段内发生的次数超过预定阈值,停止获取表示错误的信息;以及生成指示错误在预定时段内发生的次数是否超过预定阈值的事件,以用于对错误的进一步诊断。
在第三方面,提供了一种计算机程序产品,计算机程序产品被有形地存储在计算机可读介质上并且包括计算机可执行指令,计算机可执行指令在被执行时使设备执行第一方面的方法。
提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了本公开的实施例能够在其中被实现的数据存储系统的框图;
图2示出了根据本公开的实施例的针对在企业存储产品Unity中自动处理来自存储设备的错误的方案的一般性示意图;
图3示意性示出了根据本公开的实施例的用于存储管理的方法的流程图;
图4示意性示出了根据本公开的实施例的用于存储管理的方法进一步的流程图;
图5示意性示出了根据本公开的实施例的用于存储管理的方法进一步的流程图;
图6示出了可以用来实施本公开的实施例的示例设备的框图。
具体实施方式
下面将参考附图中示出的若干示例实施例来描述本公开的原理。虽然附图中显示了本公开的优选实施例,但应当理解,描述这些实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
在数据存储系统的操作中,可能会出现软件和/或硬件级别的错误。错误的出现可能会使得在数据存储系统的I/O路径上的信息传输发生错误,例如产生错误信息或者信息无法被传递到目的地。控制设备通常被配置有相应的错误处理能力,能够检测或校正系统中发生的错误。例如,可以在检测到错误发生时,执行相应动作解决错误,或者可以在无法解决错误时发出警告。
在传统的针对数据存储系统的错误处理机制中,如果大量的来自存储设备的错误在很短的时段内发生,即发生了所谓的错误洪泛(flooding),则内核空间中的对应驱动将需要连续地处理这些错误,从而影响到数据存储系统的总体性能。本公开的实施例提出了一种新的错误处理应对机制,用于自动抑制数据存储系统中的错误和上报错误以进行更高一级的恢复行动。
在现有的针对数据存储系统的存储设备的错误处理机制中,如果在存储设备中发生了错误,则表示错误的信息将通过与存储设备连接的交换机被传递给控制设备。取决于该错误的类型,不可纠正的错误等,控制设备中的内核空间中的相应驱动将处理该错误。例如,当该错误为可纠正的时,内核空间中的高级错误报告(AER)驱动将处理可纠正的错误;当该错误为不可纠正的时,内核空间中的下游端口错误抑制(DPC)驱动将处理不可纠正的错误。然而,在高质量的存储系统中的这种错误处理机制仍然至少存在以下表1中所列举的局限性。
Figure BDA0003022548330000041
表1.现有的错误处理技术方案的局限性
如以上提及的,期望能在尽可能小地影响数据存储系统的性能的情况下,处理来自存储设备的错误。一种基于错误处理进行存储管理的改进的机制可以基于引入扩展服务来实现。作为数据存储系统的硬件基础设施,存储设备内部或者存储设备的链路可能发生错误。因此,改进数据存储系统如何处理与存储设备相关的错误具有重要意义。
根据本公开的实施例,提出了一种改进错误自动处理的存储管理的方案,以按照尽可能小地影响系统性能的方式处理来自存储设备的错误。在该方案中,表示数据存储系统的存储设备的错误的信息被获取。通过计算错误在预定时段内发生的次数是否超过预定阈值,可以判断出错误的发生是否影响到系统的性能。如果错误在预定时段内发生的次数超过预定阈值,停止获取表示错误的信息。然后,生成指示错误在预定时段内发生的次数是否超过预定阈值的事件,以用于对错误的进一步诊断。
通过这种错误自动处理的方式,可以使得来自底层存储设备的错误能够得到及时的抑制,而不会将系统资源(例如,存储器资源,处理器资源等)浪费在处理越来越多的错误上,有助于全面控制数据存储系统对整个I/O路径错误的处理。此外,这种错误自动处理方式无需借助专门的错误自动处理工具,可以被容易地应用于适当的存储设备阵列,特别是被包括在JBOD中的NVMe存储设备阵列。
以下将参考附图来详细描述本公开的示例实施例。
图1示出了本公开的实施例能够在其中被实现的数据存储系统100的架构的示意图。应当理解,仅出于示例性的目的描述数据存储系统100的结构和功能,而不暗示对本公开的范围的任何限制。本公开的实施例还可以被应用到具有不同的结构和/或功能的数据存储系统100中。
如图1所示,在数据存储系统100中部署了用于存储数据的存储设备阵列130。存储设备阵列130可以包括多个存储设备132-1至132-6等。为便于描述,存储设备132-1至132-6有时被统称为或分别称为存储设备132。应当理解,图1中示出的存储设备的数目仅仅是示例性的,而无意限制本公开的范围。
存储设备132可以是非易失性存储设备或存储单元,诸如固态硬盘(SSD)、磁盘等等。存储设备132可以遵循适当的接口规范,例如可以遵循NVMe接口规范。遵循NVMe接口规范的存储设备132有时可以被称为NVMe设备或NVMe盘。每个存储设备132的存储容量可以是任意大小。
在数据存储系统100中,至少一个控制设备,诸如控制设备102和104,被配置为控制对存储设备132的输入/输出(I/O)操作。控制设备102和104有时也可以被称为存储服务器或主机设备。控制设备102和104中的每一个均可以响应于用户或者其他设备的请求,执行对存储设备132的数据读写操作,并且可以管理存储设备132中的数据访问和存储。
各个存储设备132可以经由盘捆绑(JBOD)阵列柜120连接到控制设备102和104。盘捆绑阵列柜有时也称为盘阵列柜(DAE)。盘捆绑阵列柜120是控制设备外部的独立阵列柜,用于支持连接的存储设备与控制设备之间的交互。在一些实施例中,盘捆绑阵列柜120是独立于控制设备102和104的外部设备,并且可能不具有存储管理或处理功能。
盘捆绑阵列柜120包括多个交换机,诸如交换机112、交换机122。交换机112和122均与存储设备132相连,并且与控制设备102、104分别相连。由此,控制设备102、104可以实现对这些存储设备132的I/O操作控制。在图1的示例中,各个存储设备132-1至132-6等可以被插入每个交换机112、122的相应插槽(例如,U.2插槽接口)中,从而连接到交换机112、122的下行端口。出于示意的目的,图1中仅示出了交换机112的示例下行端口116-1至116-4以及交换机122的示例下行端口126-1至126-4,然而应理解,可以存在更多的下行端口。
每个交换机112、122还包括上行端口114、124,用于连接到相应的控制设备102、104。为便于描述,交换机112的下行端口116-1、116-2等有时被统称为或分别称为下行端口116,交换机122的下行端口126-1、126-2等有时被统称为或分别称为下行端口126。
在本公开中,将交换机与控制设备连接的端口称为上行端口,将交换机与存储设备连接的端口称为下行端口。此处的“上行端口”和“下行端口”无意限定数据的传输方向。换言之,通过下行端口,存储设备可以向交换机发送数据,并且交换机也可以向存储设备发送数据。类似地,通过上行端口,控制设备可以向交换机发送数据,并且交换机也可以向控制设备发送数据。作为交换机,上行端口与下行端口之间按照内部交换结构执行数据通信,以使数据被转发到相应目的地。
基于多交换机的冗余设计可以确保在盘捆绑阵列柜120中的某个交换机故障时还可以经由另外的交换机对这些存储设备132进行访问。虽然图1示出了两个交换机112、122,也可以存在更多的交换机,以进一步提高冗余度。另外,虽然图1示出了双交换机-双控制设备的结构,在一些实施例中,单个存储设备可以连接到两个或更多交换机,以分别经由不同交换机对存储设备132进行I/O访问。
在一些实施例中,存储设备132与交换机112、122的互连以及交换机112、122与控制设备102、104的互连可以基于总线。当总线为高速外部部件互连链路或PCIe总线时,交换机112、122可以是PCIe交换机。PCIe交换机112、122可以基于PCIe协议与存储设备132和控制设备102、104进行通信。
下面参考图2来讨论如何实现数据存储系统的错误自动处理。图2示出了根据本公开的实施例的针对在企业存储产品Unity中自动处理来自存储设备的错误的方案的一般性示意图。应理解,本公开的实施例的针对错误处理的存储管理方案可以被应用到其他具有双交换机或多交换机的数据存储系统中。
在图2中,数据存储系统200(即图1的数据存储系统100)中的控制设备102包括用户空间模块210和内核空间模块230。在内核空间模块230中,AER驱动211通常用于处理可纠正的错误,例如AER可纠正的错误;DPC驱动213通常用于处理不可纠正的错误,例如DPC中断错误。与现有的错误处理技术方案相比,本公开的技术方案所做的改进关键是在内核空间中引入了扩展的高级错误报告(X-AER)服务驱动,即图2中的X-AER服务驱动215,用以管理来自交换机112和存储设备132的AER错误和DPC中断错误。
在本公开的实施例中,AER驱动211提供了支持高级错误报告能力的架构。AER驱动211提供以下三种基本功能:1)在错误发生时收集综合的错误信息,即表示错误的信息291;2)向用户空间报告关于错误的用户事件(uEvent);以及3)执行错误恢复行动。
在本公开的实施例中,DPC驱动213提供处理DPC中断错误的能力,该DPC中断(在图2中示意性地示出为表示错误的信息293)一般是由来自下游的存储设备132的不可纠正的错误(例如,致命的错误,或非致命的错误)而导致的。
如前所述,在本公开的技术方案中,X-AER服务驱动215是用于管理来自存储设备的错误的核心模块。AER驱动211和DPC驱动213均可以调用应用编程接口(API)来与X-AER服务驱动215通信以触发进一步的错误分析和管理。在本公开的实施例中,X-AER服务驱动215至少提供以下功能:1)在存储设备或交换机的不同的端口维持特定错误的计数,并且基于预设的阈值表来计算特定错误在某一时段内发生的次数以及错误比率;2)通过在对应的设备(存储设备或交换机)中屏蔽报告AER错误的功能或禁用下游端口错误抑制中断功能,来抑制错误,在本文中,“抑制”错误是指停止获取表示错误的信息,以防止AER驱动或DPC驱动处理过多的错误而导致系统性能下降;3)向用户空间报告关于特定错误的用户事件;以及4)使存储设备或交换机从错误抑制状态中释放,并且在存储设备或交换机中还原AER功能或DPC功能。通过在内核空间中引入X-AER服务驱动215,并且使得AER驱动211和DPC驱动213调用X-AER服务驱动215来触发错误管理,这在某种程度上释放了AER驱动211和DPC驱动213处理特定错误的功能,实现了针对不同类型的错误的自动管理,大大增加了错误管理的效率。
在用户空间模块210中,UDEV服务205被创建以监视来自内核空间230的用户事件(uEvent),特别是监视来自X-AER服务驱动215的用户事件,并且UDEV服务205将根据不同类型的错误来将用户事件通知给存储设备对象201和磁盘柜对象203。在存储设备对象201中,存在用于进行硬件健康状况检查的逻辑组件251和对应的恢复处理的逻辑组件253。在磁盘柜对象203中,类似地存在用于进行硬件健康状况检查的逻辑组件271和对应的恢复处理的逻辑组件273。
在本公开的实现中,健康状况检查是指一系列的诊断测试序列,其测试存储设备的完整性和功能性。健康状况检查可以包括对存储设备的介质的测试。当存储设备对象201和磁盘柜对象203发出健康状况检查的命令后,存储设备或交换机上的控制器将对存储设备或交换机执行一系列的测试序列段,并且报告每个测试序列段的结果。
根据本公开的实施例,当错误不可纠正时,可能需要对存储设备或交换机执行恢复行动,以处理来自下游设备的不可纠正的错误。例如,在处理来自下游设备的不可纠正的错误时,磁盘柜对象203可以发出执行恢复行动的命令,以对交换机执行恢复行动;类似地存储设备对象201可以发出执行恢复行动的命令,以对存储设备执行恢复行动。根据本公开的实施例,在磁盘柜对象203中,针对关于来自交换机112的错误的事件,存在多种恢复交换机的功能,如通过MRPC命令或IPMI命令进行硬件重置,其中MRPC命令是指基于内存映射的远程程序调用,IPMI命令是智能平台管理接口命令。根据本公开的实施例,在存储设备对象201中,针对关于来自存储设备132的错误的事件,存储设备对象201也提供各种用于恢复存储设备的恢复行动,例如控制器重置,次级总线重置(SBR),NVMe子系统重置,电源复位(power cycle)等,这些恢复行动影响的级别越来越大,这意味着低级别的恢复行动所影响的组件的范围比更高级别的恢复行动所影响的组件的范围小。例如,存储设备的控制器重置在一定的时段内只会影响到存储设备的控制器,而不会影响到交换机的控制器。相比之下,次级总线重置将影响到该次级总线所连接的组件,明显影响范围更大。根据本公开的实施例,存储设备对象201提供了恢复行动上报机制,如果低级别的恢复行动无法恢复存储设备,则上报(错误)以便进行更高一级的恢复行动。这种上报机制使得存储设备对象201能够在最小程度地影响每一级别的组件的情况下恢复存储设备。应当理解,存储设备对象201的恢复行动上报机制仅仅是示例性的而非限制性的,存储设备对象201也可以部署其他适当的模块或组件以实现上述恢复行动上报机制。
根据本公开的一些实施例,本公开的技术方案至少能够处理连续发生的可纠正错误以及连续发生的不可纠正错误的场景,如表1中所指示的不同场景。
图3示意性示出了根据本公开的实施例的用于存储管理的方法的流程图。方法300可以被实现在图1的控制设备102处。为便于说明,参考图1和图2来描述方法300。
在框310,控制设备102从交换机112获取表示数据存储系统100的存储设备132的错误的信息。在框320,判断该错误在预定时段内发生的次数是否超过预定阈值,如果该错误在预定时段内发生的次数超过预定阈值,方法行进到框330,而如果该错误在预定时段内发生的次数未超过预定阈值,方法行进到框340。根据本公开的一些实施例,框320中对错误在预定时段内发生的次数是否超过预定阈值的判定只是判断是否在短时间内发生了大量的错误的一种方式,此外,还可以例如基于预设的阈值表来计算特定错误在某一时段内发生的错误比率来进行判断等等。如果该错误在预定时段内发生的次数超过预定阈值,在框330,控制设备102停止从交换机112获取表示数据存储系统100的存储设备132的错误的信息(例如,图2的291和/或293)。根据本公开的一些实施例,如果错误是可纠正的,停止获取表示错误的信息包括屏蔽存储设备132上的报告错误的功能,以及屏蔽交换机112上的报告错误的功能。根据本公开的一些实施例,如果错误是不可纠正的,停止获取表示错误的信息包括禁用交换机的下游端口上的下游端口错误抑制中断功能。应当理解,由于错误可能发生在存储设备132上、可能发生在交换机112上的上游端口114和/或下游端口116上,因此,针对可能发生的错误的管理不应当被理解为仅针对存储设备的错误的管理。在框340,无论是否停止获取表示错误的信息,指示错误在预定时段内发生的次数是否超过预定阈值的事件都被生成。通过这种方式,图2中的内核空间230能够将上述事件传递给用户空间210。
图4示意性示出了根据本公开的实施例的用于存储管理的方法进一步的流程图。方法400可以被实现在图1的控制设备102处。为便于说明,参考图1至图3来描述方法400。
在框410,根据图3的框340,控制设备102中的X-AER服务驱动215判断事件指示错误在预定时段内发生的次数是否超过预定阈值。如果事件指示错误在预定时段内发生的次数未超过预定阈值,方法400行进到框420,这往往意味着在短时段内未发生大量的错误,因此在这种情况下处理错误并不会占用过多的计算资源。如果所发生的错误全部是可纠正的,则处理这些错误相对容易。即使所发生的错误中存在不可纠正的错误,在框420中,对存储设备132执行第一级别(低级别)的恢复行动将足以恢复存储设备132。通过以这种方式来管理少量的错误,能够有效地节省数据存储系统100的计算资源,从而达到尽可能小地影响数据存储系统100的性能的目的。应当理解,方法400在不同的情况下也可以执行更高级别的恢复行动来恢复存储设备132。
图5示意性示出了根据本公开的实施例的用于存储管理的方法进一步的流程图。与方法400类似,方法500可以被实现在图1的控制设备102处。为便于说明,参考图1至图3来描述方法500。
在框510,根据图3的框340,控制设备102中的X-AER服务驱动215判断事件指示错误在预定时段内发生的次数是否超过预定阈值。如果事件指示错误在预定时段内发生的次数超过预定阈值,方法500行进到框520,这往往意味着在短时段内发生了大量的错误,因此在这种情况下为了不占用过多的计算资源,X-AER服务驱动215将分担AER驱动211和/或DPC驱动213的错误处理任务,并且激活恢复行动上报机制来对错误进行进一步的诊断和管理。在框520,用户空间210中的存储设备对象201将启动对存储设备132的硬件健康状况检查。在框530,如果存储设备132的硬件健康状况检查的结果是良性的,方法500行进到框540,如果存储设备132的硬件健康状况检查的结果不是良性的,方法500行进到框550。在框540,由于存储设备132是健康的,因此存储设备132上的报告错误的功能被还原。在框550,由于存储设备132是不健康的,这往往意味着存储设备132已经被损坏,因此对存储设备132执行第二级别(更高级别)的恢复行动,以防止对存储设备132的进一步损坏。应当理解,方法500在不同的情况下也可以执行不同级别的恢复行动来恢复存储设备132。
下面根据图1至图5,来描述本公开的技术方案管理针对在不同的场景下处理错误的具体实现。
如前所述,本公开的技术方案至少能够处理连续发生的可纠正错误以及连续发生的不可纠正错误的场景,如表1中所指示的不同场景。
根据一些实施例,在不失一般性的前提下,假设存储设备132-1中发生了连续的可纠正的AER错误。如图2所示,表示该错误的信息291(例如,可纠正的AER消息)经由交换机112的下游端口116-1被连续地传递(报告)给内核空间230中的AER驱动211。由于在Unity的平台中,交换机112的下游端口116-1支持DPC功能,因此在此仅需要考虑来自存储设备132-1的可纠正的AER错误。在内核空间中,X-AER服务驱动215与AER驱动211通信,以获取表示该错误的信息291,针对其中的每种类型(可纠正的/致命的/非致命的)的错误,X-AER服务驱动215中的计算模块将计算特定错误在某一时段内发生的错误比率。如果该错误比例超过了某一时段中的预定阈值,这意味着在存储设备132-1中发生了AER错误洪泛,X-AER服务驱动215将记录该事件,并且屏蔽存储设备132-1上的报告错误的功能,然后将所生成的指示错误比例是否超过某一时段中的预定阈值的事件报告给用户空间210。应当理解,当所生成的指示错误比例超过在某一时段中的预定阈值的特定事件被报告给用户空间210时,该特定事件实质上是一种上报的用户事件,因为该特定事件用以通知对应的存储设备对象201从更高级别来处理来自存储设备132-1的错误。
当用户空间210中的存储设备对象201接收到该特定事件时,存储设备对象201将启动对存储设备132-1的健康状况检查,并且在没有明显的健康状况问题时向X-AER服务驱动215发送还原存储设备132-1上的报告错误的功能。如果存储设备132-1确实被损坏了,就需要对存储设备132-1执行某个级别的恢复行动。例如,如果在存储设备的控制器中发送了某种功能性的故障,则某种重置的动作将被执行以使该功能性重新起作用。例如,如果发生了某种介质错误,则需要通知更高的层级来重写或重新映射存储设备132-1中的数据,甚至停用该存储设备132-1并且将其中的数据拷贝到备用存储设备中。如果所有级别的恢复行动的执行超过了预定的重试的计数,这往往意味着该存储设备132-1已经被严重损坏,在这种情况下,使用户空间中的存储设备对象201失效,并且停止执行恢复行动。应当理解,针对可纠正的AER错误的处理通过错误抑制和上报机制而被自动地实现,既解决了AER洪泛的问题,又无需占用数据存储系统的计算资源,从而尽可能少地影响数据存储系统的性能。
根据一些实施例,在不失一般性的前提下,假设存储设备132-6中发生了连续的不可纠正的错误。如图2所示,表示该错误的信息293(例如,不可纠正的DPC中断消息)经由交换机112的下游端口116-4被连续地传递(报告)给内核空间230中的DPC驱动213。由于在Unity的平台中,交换机112的下游端口116-4支持DPC功能,如果大量DPC中断消息在特定时段内发生,这种类型的中断消息风暴(storm)也可以影响数据存储系统的性能。在内核空间中,X-AER服务驱动215与DPC驱动213通信,以获取表示该错误的信息293,针对这些不可纠正的DPC中断消息,X-AER服务驱动215中的计算模块将计算该不可纠正的错误在某一时段内发生的错误比率。如果该错误比例超过了某一时段中的预定阈值,这意味着在存储设备132-6中发生了中断消息风暴,X-AER服务驱动215将记录该事件,并且禁用存储设备132-6上的报告错误的功能(下游端口错误抑制中断功能),然后将所生成的指示错误比例是否超过某一时段中的预定阈值的事件报告给用户空间210。应当理解,当所生成的指示错误比例超过在某一时段中的预定阈值的特定事件被报告给用户空间210时,该特定事件实质上是一种上报的用户事件,因为该特定事件用以通知对应的存储设备对象201从更高级别来处理来自存储设备132-6的错误。
当用户空间210中的存储设备对象201接收到该特定事件时,存储设备对象201将启动对存储设备132-6的健康状况检查,并且在没有明显的健康状况问题时向X-AER服务驱动215发送还原存储设备132-6上的报告错误的功能。如果存储设备132-6确实被损坏了,就需要对存储设备132-6执行某个级别的恢复行动,例如,对存储设备132-6执行电源复位操作。如果所有级别的恢复行动的执行超过了预定的重试的计数,这往往意味着该存储设备132-6已经被严重损坏,在这种情况下,使用户空间中的存储设备对象201失效,并且停止执行恢复行动。应当理解,针对不可纠正的错误的处理通过错误抑制和上报机制而被自动地实现,既解决了中断消息风暴的问题,又无需占用数据存储系统的大量计算资源,从而尽可能少地影响数据存储系统的性能。
通过以上讨论,本公开的技术方案不仅能够管理一般的存储设备错误,而且能够管理由错误洪泛或错误中断风暴引起的特殊情况,以尽可能小地影响数据存储系统的性能。还应当理解,本公开的技术方案可以用于管理来自存储设备和交换机的混合类型的错误。
图6示出了可以用来实施本公开的实施例的示例设备600的示意性框图。设备600可以被实现为或者被包括于图1的控制设备102或控制设备104。
如图所示,设备600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的计算机程序指令或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序指令,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元601执行上文所描述的各个方法和处理,例如方法300-500。例如,在一些实施例中,方法300-500可被实现为计算机软件程序或计算机程序产品,其被有形地包含于机器可读介质,诸如非瞬态计算机可读介质,诸如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由CPU 601执行时,可以执行上文描述的方法300-500的一个或多个步骤。备选地,在其他实施例中,CPU 601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法300-500。
本领域的技术人员应当理解,上述本公开的方法的各个步骤可以通过通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本公开不限制于任何特定的硬件和软件结合。
应当理解,尽管在上文的详细描述中提及了设备的若干装置或子装置,但是这种划分仅仅是示例性而非强制性的。实际上,根据本公开的实施例,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
以上所述仅为本公开的可选实施例,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的保护范围之内。

Claims (12)

1.一种存储管理的方法,包括:
获取表示数据存储系统的存储设备的错误的信息;
如果所述错误在预定时段内发生的次数超过预定阈值,停止获取表示所述错误的所述信息;以及
生成指示所述错误在所述预定时段内发生的所述次数是否超过所述预定阈值的事件,以用于对所述错误的进一步诊断。
2.根据权利要求1所述的方法,还包括:
如果所述事件指示所述错误在所述预定时段内发生的所述次数未超过所述预定阈值,对所述存储设备执行第一级别的恢复行动。
3.根据权利要求1所述的方法,还包括:
如果所述事件指示所述错误在所述预定时段内发生的所述次数超过所述预定阈值,
启动对所述存储设备的硬件健康状况检查;
如果所述硬件健康状况检查的结果为良性的,则还原所述存储设备上的报告所述错误的所述功能;以及
如果所述硬件健康状况检查的所述结果不是良性的,则对所述存储设备执行第二级别的恢复行动,其中,
如果所述第二级别的恢复行动的执行次数超过预定义的重试计数,则停止所述第二级别的恢复行动。
4.根据权利要求1所述的方法,其中停止获取表示所述错误的所述信息包括:
如果所述错误是可纠正的,
屏蔽所述存储设备上的报告所述错误的功能;以及
屏蔽所述交换机上的报告所述错误的功能;
如果所述错误是不可纠正的,
禁用所述交换机的下游端口上的下游端口错误抑制中断功能。
5.一种电子设备,包括:
至少一个处理单元;
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得所述电子设备执行动作,所述动作包括:
获取表示数据存储系统的存储设备的错误的信息;
如果所述错误在预定时段内发生的次数超过预定阈值,停止获取表示所述错误的所述信息;以及
生成指示所述错误在所述预定时段内发生的所述次数是否超过所述预定阈值的事件,以用于对所述错误的进一步诊断。
6.根据权利要求5所述的电子设备,还包括:
如果所述事件指示所述错误在所述预定时段内发生的所述次数未超过所述预定阈值,对所述存储设备执行第一级别的恢复行动。
7.根据权利要求5所述的电子设备,还包括:
如果所述事件指示所述错误在所述预定时段内发生的所述次数超过所述预定阈值,
启动对所述存储设备的硬件健康状况检查;
如果所述硬件健康状况检查的结果为良性的,则还原所述存储设备上的报告所述错误的所述功能;以及
如果所述硬件健康状况检查的所述结果不是良性的,则对所述存储设备执行第二级别的恢复行动,其中,
如果所述第二级别的恢复行动的执行次数超过预定义的重试计数,则停止所述第二级别的恢复行动。
8.根据权利要求5所述的电子设备,其中停止获取表示所述错误的所述信息包括:
如果所述错误是可纠正的,
屏蔽所述存储设备上的报告所述错误的功能;以及
屏蔽所述交换机上的报告所述错误的功能;
如果所述错误是不可纠正的,
禁用所述交换机的下游端口上的下游端口错误抑制中断功能。
9.一种计算机程序产品,所述计算机程序产品被有形地存储在计算机存储介质中并且包括机器可执行指令,所述机器可执行指令在由设备执行时使所述设备执行:
获取表示数据存储系统的存储设备的错误的信息;
如果所述错误在预定时段内发生的次数超过预定阈值,停止获取表示所述错误的所述信息;以及
生成指示所述错误在所述预定时段内发生的所述次数是否超过所述预定阈值的事件,以用于对所述错误的进一步诊断。
10.根据权利要求9所述的计算机程序产品,其中所述机器可执行指令在由所述设备执行时还使所述设备执行:
如果所述事件指示所述错误在所述预定时段内发生的所述次数未超过所述预定阈值,对所述存储设备执行第一级别的恢复行动。
11.根据权利要求9所述的计算机程序产品,其中所述机器可执行指令在由所述设备执行时还使所述设备执行:
如果所述事件指示所述错误在所述预定时段内发生的所述次数超过所述预定阈值,
启动对所述存储设备的硬件健康状况检查;
如果所述硬件健康状况检查的结果为良性的,则还原所述存储设备上的报告所述错误的所述功能;以及
如果所述硬件健康状况检查的所述结果不是良性的,则对所述存储设备执行第二级别的恢复行动,其中,
如果所述第二级别的恢复行动的执行次数超过预定义的重试计数,则停止所述第二级别的恢复行动。
12.根据权利要求9所述的计算机程序产品,其中所述机器可执行指令在由所述设备执行时使所述设备停止获取表示所述错误的所述信息包括:
如果所述错误是可纠正的,
屏蔽所述存储设备上的报告所述错误的功能;以及
屏蔽所述交换机上的报告所述错误的功能;
如果所述错误是不可纠正的,
禁用所述交换机的下游端口上的下游端口错误抑制中断功能。
CN202110406443.0A 2021-04-15 2021-04-15 存储管理的方法、电子设备和程序产品 Pending CN115220937A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110406443.0A CN115220937A (zh) 2021-04-15 2021-04-15 存储管理的方法、电子设备和程序产品
US17/518,943 US11704180B2 (en) 2021-04-15 2021-11-04 Method, electronic device, and computer product for storage management

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110406443.0A CN115220937A (zh) 2021-04-15 2021-04-15 存储管理的方法、电子设备和程序产品

Publications (1)

Publication Number Publication Date
CN115220937A true CN115220937A (zh) 2022-10-21

Family

ID=83601424

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110406443.0A Pending CN115220937A (zh) 2021-04-15 2021-04-15 存储管理的方法、电子设备和程序产品

Country Status (2)

Country Link
US (1) US11704180B2 (zh)
CN (1) CN115220937A (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115237333A (zh) 2021-04-23 2022-10-25 伊姆西Ip控股有限责任公司 用于管理盘的方法、电子设备和计算机程序产品
CN115543677A (zh) * 2022-11-29 2022-12-30 苏州浪潮智能科技有限公司 一种可纠正错误处理方法、装置、设备及可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7779306B1 (en) * 2007-03-23 2010-08-17 Emc Corporation Method for automatically diagnosing hardware faults in a data storage system
US10176036B2 (en) * 2015-10-29 2019-01-08 Commvault Systems, Inc. Monitoring, diagnosing, and repairing a management database in a data storage management system
US10241848B2 (en) 2016-09-30 2019-03-26 Microsoft Technology Licensing, Llc Personalized diagnostics, troubleshooting, recovery, and notification based on application state
US11106523B2 (en) 2018-10-24 2021-08-31 EMC IP Holding Company LLC Method and system for intelligently resolving failures recurring in information technology environments
US11237935B2 (en) 2019-09-11 2022-02-01 Commvault Systems, Inc. Anomaly detection in data protection operations
US11314609B2 (en) 2019-10-24 2022-04-26 EMC IP Holding Company LLC Diagnosing and remediating errors using visual error signatures

Also Published As

Publication number Publication date
US20220334911A1 (en) 2022-10-20
US11704180B2 (en) 2023-07-18

Similar Documents

Publication Publication Date Title
US8713350B2 (en) Handling errors in a data processing system
EP2510439B1 (en) Managing errors in a data processing system
JP6586465B2 (ja) ストレージ・クラスタ要素のモニタリングのための方法、装置、記憶媒体及びコンピュータ・プログラム
WO2021027481A1 (zh) 故障处理方法、装置、计算机设备、存储介质及存储系统
US10489232B1 (en) Data center diagnostic information
CN111414268B (zh) 故障处理方法、装置及服务器
US7565567B2 (en) Highly available computing platform
JP2018533280A (ja) トラブルシューティング方法及び装置
US11704180B2 (en) Method, electronic device, and computer product for storage management
US20150121144A1 (en) Synchronized debug information generation
CN114826962A (zh) 一种链路故障检测方法、装置、设备及机器可读存储介质
US20140298076A1 (en) Processing apparatus, recording medium storing processing program, and processing method
US9104575B2 (en) Reduced-impact error recovery in multi-core storage-system components
US6338151B1 (en) Input/output recovery which is based an error rate and a current state of the computer environment
CN115617550A (zh) 处理设备、控制单元、电子设备、方法和计算机程序
US9720796B2 (en) Information processing apparatus, information processing system, control method for information processing system, and medium
CN106528324A (zh) 故障恢复的方法和装置
JP2009252006A (ja) コンピュータシステムにおけるログ管理システム、ログ管理方法
CN113485872B (zh) 故障处理方法、装置及分布式存储系统
CN103150236B (zh) 面向进程失效错误的并行通信库状态自恢复方法
JP2014532236A (ja) 接続方法
CN113868000B (zh) 一种链路故障修复方法、系统及相关组件
JP2004013723A (ja) 共有メモリを使ったクラスタ構成を採用した情報処理システムの障害処理装置と方法
CN116932274B (zh) 异构计算系统和服务器系统
CN114064362B (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