CN113590016A - 用于管理存储盘的方法、电子设备和计算机程序产品 - Google Patents

用于管理存储盘的方法、电子设备和计算机程序产品 Download PDF

Info

Publication number
CN113590016A
CN113590016A CN202010360999.6A CN202010360999A CN113590016A CN 113590016 A CN113590016 A CN 113590016A CN 202010360999 A CN202010360999 A CN 202010360999A CN 113590016 A CN113590016 A CN 113590016A
Authority
CN
China
Prior art keywords
disk
slice
storage
metadata
disc
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
CN202010360999.6A
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 CN202010360999.6A priority Critical patent/CN113590016A/zh
Priority to US16/994,918 priority patent/US11226881B2/en
Publication of CN113590016A publication Critical patent/CN113590016A/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/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
    • 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
    • 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/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/1092Rebuilding, e.g. when physically replacing a failing disk
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • 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/3495Performance evaluation by tracing or monitoring for systems
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Abstract

本公开的实施例提供了一种用于管理存储盘的方法、电子设备和计算机程序产品。在此提出的方法包括监测故障存储盘的故障的持续时间,故障存储盘包括用于存储元数据的第一盘切片和用于存储用户数据的第二盘切片。该方法还包括响应于持续时间达到第一阈值,用第一未故障存储盘中的第一可用盘切片替代第一盘切片。该方法进一步包括响应于持续时间达到大于第一阈值的第二阈值,用第二未故障存储盘中的第二可用盘切片替代第二盘切片。根据本公开的实施例,针对故障存储盘中用于不同逻辑层的盘切片应用不同长度的故障监测窗口。以此方式,能够有效提高元数据层的数据的可靠性。

Description

用于管理存储盘的方法、电子设备和计算机程序产品
技术领域
本公开的实施例涉及数据存储领域,并且更具体地,涉及用于管理存储盘的方法、电子设备和计算机程序产品。
背景技术
随着数据存储技术的发展,各种数据存储设备已经能够向用户提供越来越高的数据存储能力。在提高数据存储能力的同时,用户对于数据可靠性也提出了越来越高的需求。目前,已经开发出了基于冗余磁盘阵列(Redundant Array of Independent Disks,RAID)的多种数据存储系统来提高数据的可靠性。当存储系统中的一个或者多个物理盘发生故障时,可以从其他正常操作的物理盘上的数据来恢复出故障物理盘中的数据。
发明内容
本公开的实施例提供了用于管理存储盘的方法、电子设备和计算机程序产品。
在本公开的第一方面中,提供了一种管理存储盘的方法。该方法包括监测故障存储盘的故障的持续时间,故障存储盘包括用于存储元数据的第一盘切片和用于存储用户数据的第二盘切片。该方法还包括响应于持续时间达到第一阈值,用第一未故障存储盘中的第一可用盘切片替代第一盘切片。该方法还包括响应于持续时间达到大于第一阈值的第二阈值,用第二未故障存储盘中的第二可用盘切片替代第二盘切片。
在本公开的第二方面中,提供了一种电子设备。该电子设备包括处理器以及与处理器耦合的存储器,存储器具有存储于其中的指令,指令在被处理器执行时使设备执行动作。动作包括监测故障存储盘的故障的持续时间,故障存储盘包括用于存储元数据的第一盘切片和用于存储用户数据的第二盘切片。动作还包括响应于持续时间达到第一阈值,用第一未故障存储盘中的第一可用盘切片替代第一盘切片。动作还包括响应于持续时间达到大于第一阈值的第二阈值,用第二未故障存储盘中的第二可用盘切片替代第二盘切片。
在本公开的第三方面中,提供了一种计算机程序产品,计算机程序产品被有形地存储在计算机可读介质上并且包括机器可执行指令,机器可执行指令在被执行时使机器执行根据第一方面的方法。
提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。在附图中:
图1示出了本公开的实施例可以在其中被实现的示例环境的示意图;
图2示出了根据本公开的实施例的管理存储盘的方法的流程图;
图3示出了根据本公开的实施例的分配盘切片的示意图;以及
图4示出了可以用来实施本公开的实施例的示例设备的框图。
具体实施方式
下面将参考附图中示出的若干示例实施例来描述本公开的原理。虽然附图中显示了本公开的优选实施例,但应当理解,描述这些实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
如前文所提及的,在存储系统中,可以管理创建在后端物理盘上的各种逻辑层(也可以简称为层,tier)。这样的逻辑层可以包括针对用户数据的用户数据层和针对元数据的元数据层。在一些存储系统中,元数据层还可以被进一步划分,例如,被划分为映射器引导层、元数据存储层和虚拟大块(VLB)层等。一般而言,元数据层的数据比用户数据层的数据更为关键。
在后端,存储系统中的物理盘通常被划分为多个盘切片。分布在一个或多个物理盘上的多个盘切片可以被组织成存储单元,以用于存储数据。存储单元又可以根据所划分的逻辑层而划分为不同类型的存储单元,例如,元数据存储单元和用户数据存储单元。逻辑上属于元数据层的元数据存储单元可以用于存储与存储系统有关的映射信息、索引信息、状态信息等,例如存储单元到物理盘的映射信息、存储单元的状态(诸如,正常状态或故障状态)等。逻辑上属于用户数据层的用户数据存储单元可以用于存储用户数据。
因此,在这种存储系统中,存储单元由多个盘切片构成,而逻辑层又由属于该层的至少一个存储单元构成。物理盘中的每个盘切片可能被分配给不同类型的存储单元,进而可以用于不同的逻辑层。也就是说,单个物理盘可能包括用于元数据层的盘切片和用于用户数据层的盘切片两者。
物理盘的故障有时可能存在短暂失灵情况,即,发生故障的物理盘可能不是永久性地故障。在经历较短的时间后,原本故障的物理盘可能从故障恢复。为了应对这种短暂失灵情况,在物理盘发生故障后,并不是立即重建该物理盘的数据或进行故障转移。
在当前的存储系统解决方案中,为了应对物理盘短暂失灵情况,通常针对故障的物理盘维护一个计时器作为故障监测窗口,该计时器有时也可以被称为备用(spare)计时器。该计时器例如具有5分钟的有效期。一旦某个物理盘发生故障,将启动针对该故障物理盘的计时器,并且受到该故障物理盘影响的存储单元(例如,其包括在该故障物理盘中的盘切片)将被标记为“退化”。
如果该故障物理盘在计时器过期之前从故障中恢复,则将针对被标记为“退化”的那些存储单元进行增量重建。这意味着,仅需要恢复在物理盘故障期间所更新的数据。未改变的数据不需要被恢复,因为在曾经故障的物理盘中的数据版本是正确的。
如果该故障物理盘在计时器过期之前没有从故障中恢复,则将用来自未发生故障的物理盘的新的盘切片来替代每个退化的存储单元中被损坏的盘切片。另外,将进行正常的重建,这意味着针对新的盘切片恢复所有数据。
由此可见,在当前的存储系统解决方案中,无论受到影响的存储单元或盘切片属于哪一逻辑层,所有受影响的存储单元或盘切片都将被无差别地对待。
如果物理盘发生永久性故障,所有受影响的存储单元都只能在计时器过期后才被恢复。如果在等待计时器过期的监测窗口内,受影响的元数据存储单元所包括的另一盘切片发生故障(例如,其所位于的物理盘也发生故障),则该元数据存储单元中的元数据将无法被恢复。相应地,相关联的用户数据也将无法被读取或处理。
鉴于元数据层的重要性,本申请的发明人意识到应当尽可能早地恢复元数据层的数据。然而,如果仅简单地将上述计时器的有效期减少,对存储系统的性能而言也不是有利的。这种简单的解决方案将引起不必要甚至频繁的盘切片(例如,用于用户数据层的盘切片)替换,增加了后台操作。
鉴于以上情况,本申请的发明人意识到在物理盘发生故障时,针对不同逻辑层进行不同处理将是有利的。即使元数据层(诸如,1+1镜像)和用户数据层(诸如4+1 RAID 5,或8+1 RAID 5)都仅有一个磁盘故障冗余,在发生故障后,仍然期望可以针对元数据层进行特别处理。
本公开的实施例提出了一种管理存储盘的方案,以解决上述问题和其他潜在问题中的一个或多个。在该方案中,在故障发生时,针对故障存储盘中用于不同逻辑层的盘切片应用不同长度的故障监测窗口。例如,响应于故障的发生而开始监测故障的持续时间。故障存储盘包括用于存储元数据的元数据盘切片和用于存储用户数据的用户数据盘切片。如果持续时间达到第一阈值,则可以用第一未故障存储盘中的第一可用盘切片替代元数据盘切片。继续监测故障的持续时间,如果持续时间达到大于第一阈值的第二阈值,则可以用第二未故障存储盘中的第二可用盘切片替代用户数据盘切片。
在所提出的方案中,针对不同逻辑层应用不同长度的故障监测窗口,以在故障发生时对用于不同逻辑层的盘切片进行差异化处理。以此方式,元数据层的退化时间能够被有效降低。因此,该方案能够有效提高元数据层的数据的可靠性。另外,与简单地减小故障监测窗口相比,该方案可以不增加不紧要的盘切片的替换。
图1示出了本公开的实施例能够在其中被实现的示例环境100的框图。如图1所示,环境100包括主机110、存储管理器120以及存储资源池130。应当理解,仅出于示例性的目的描述环境100的结构和功能,而不暗示对于本公开的范围的任何限制。例如,本公开的实施例还可以被应用到与环境100不同的环境中。
存储资源池130可以包括一个或多个存储盘,例如磁盘、光盘或固态盘(SSD)等。每个存储盘可以被划分成多个盘切片。例如,每个盘切片可以具有相同大小。分布在多个物理盘上的多个盘切片可以被组织成存储单元,以用于存储数据。根据所存储的不同数据类型或根据所划分的逻辑层,存储资源池130可以包括各种类型的存储单元,例如,用于存储用户数据的存储单元(也称为“用户数据存储单元”)、用于存储与存储系统有关的元数据的存储单元(也称为“元数据存储单元”)等。元数据存储单元可以存储与存储系统有关的映射信息、索引信息、状态信息等,例如存储单元到物理盘的映射信息、存储单元的状态(诸如,正常状态或故障状态)等。存储单元中的多个盘切片中所存储的数据可以是互相关联的。例如,存储单元中的多个盘切片可以是镜像盘切片。存储单元中的多个盘切片也可以以RAID的方式被组织。
在存储资源池130中,存储单元(包括用户数据存储单元和元数据存储单元)由多个盘切片构成,而逻辑层又由属于该层的至少一个存储单元构成。存储盘中的每个盘切片可能被分配给不同类型的存储单元,进而可以用于不同的逻辑层。也就是说,存储资源池130中的单个存储盘可能包括用于元数据层的盘切片和用于用户数据层的盘切片两者。
存储管理器120可以包括处理器121和存储器122。存储器122可以是任何目前已知或者将来开发的易失性存储介质、非易失性存储介质、或者两者的组合。存储管理器120可以被配置为管理存储资源池130,并且处理来自主机110的输入/输出(I/O)请求。主机110可以是运行用户应用的任何物理计算机、虚拟机、服务器等等。
主机110可以向存储管理器120发送I/O请求,例如用于从存储资源池130中的目标存储单元读取数据和/或向其写入数据等。目标存储单元的元数据可以被存储在元数据存储单元中。响应于接收到来自主机110的I/O请求,存储管理器120可以首先从元数据存储单元获取目标存储单元的元数据,该元数据可以指示目标存储单元到物理盘的映射信息、目标存储单元的状态等。如果目标存储单元处于正常状态,响应于该I/O请求为读请求,存储管理器120可以基于所获取的元数据向目标存储单元转发该I/O请求以从目标存储单元读取数据,并且将所读取的数据返回给主机110。响应于该I/O请求为写请求,存储管理器120可以基于所获取的元数据向目标存储单元转发该I/O请求以向目标存储单元写入数据。
因此,如果对应的元数据存储单元发生故障,用户数据将无法写入或读取。由于元数据层的重要性,期望在存储盘发生故障时对用于元数据层的盘切片和用于用户数据层的盘切片进行差异化处理。图2示出了根据本公开的实施例的用于管理存储盘的示例方法200的流程图。方法200例如可以由如图1所示的存储管理器120(例如,处理器121)来执行。应当理解,方法200还可以包括未示出的附加动作和/或可以省略所示出的动作,本公开的范围在此方面不受限制。以下结合图1来详细描述方法200。
如图2所示,在框210处,存储管理器120监测故障存储盘的故障的持续时间。该故障存储盘可以包括用于存储元数据的盘切片(在本文中又可以称为第一盘切片、或元数据盘切片)和用于存储用户数据的盘切片(在本文中又可以称为第二盘切片、或用户数据盘切片)。应当理解,故障存储盘可以包括多于一个的元数据盘切片和多于一个的用户数据盘切片。
图3示出了根据本公开的实施例的分配盘切片的示意图。如图3所示,存储资源池130例如可以包括存储盘311-317。每个盘可以被划分成多个盘切片,其中一些盘切片已被分配,而另一些盘切片是空闲的。在该示例中,存储盘311可以被划分为多个盘切片301-307。盘切片301-303可以被分配用于存储元数据。因此,盘切片301-303可以是用于元数据层的盘切片。盘切片301-303中的每一个又可以在逻辑上属于不同的元数据存储单元。例如,元数据存储单元330可以包括盘切片301。
盘切片304-307可以被分配用于存储用户数据。因此,盘切片304-307可以是用于用户数据层的盘切片。盘切片304-307中的每一个又可以在逻辑上属于不同的用户数据存储单元。例如,用户数据存储单元340可以包括盘切片307。
在下文中,将以存储盘311发生故障而暂时不可用或永久不可用为例进行描述。此外,将以盘切片301作为第一盘切片的示例并且以盘切片307作为第二盘切片的示例进行描述。
可以采用多种方式来监测故障存储盘311的故障的持续时间。在一些实施例中,存储管理器120可以通过记录自故障发生以来经过的时间来监测故障的持续时间。
在一些实施例中,响应于故障的发生,存储管理器120可以通过启动计时器来监测持续时间。例如,可以启动有效期为第一阈值的第一计时器和有效期为第二阈值的第二计时器,来监测持续时间。第一阈值可以小于第二阈值。具有较短有效期的第一计时器可以用于元数据层,并且具有较长有效期的第二计时器可以用于用户数据层。仅作为一个示例而无意限制,第一计时器可以具有1分钟或约1分钟的有效期,并且第二计时器可以具有5分钟或约5分钟的有效期。
在监测过程中,如果确定故障存储盘311从故障恢复,则停止监测持续时间。例如,第一计时器和第二计时器将被重置。
返回参考图2,在框220处,存储管理器120确定持续时间是否达到第一阈值。如果在框220处确定持续时间达到第一阈值,则方法200进行到框230。例如,如果第一计时器到期而故障存储盘311未从故障恢复,则方法200可以进行到框230。
在框230处,存储管理器120用第一未故障存储盘中的第一可用盘切片替代第一盘切片301。例如,如果第一计时器到期而故障存储盘311未从故障恢复,则可以用可用盘切片来替代故障存储盘311中用于元数据层的所有盘切片。第一盘切片301中存储的数据可以被写入未故障存储盘的空闲盘切片中。同时,存储管理器120将不对故障存储盘311中用于存储用户数据的盘切片304-307进行处理。
在一些实施例中,如图3所示,存储管理器120可以从包括多个盘的存储资源池130中确定未故障存储盘316(其又可以被称为第一未故障存储盘316)。存储资源池130中的多个盘中的每个盘可以被划分成多个盘切片。进而,存储管理器120可以从第一未故障存储盘316中分配空闲盘切片作为第一可用盘切片。例如,盘切片308可以被分配作为第一可用盘切片。存储管理器120可以确定第一盘切片中所存储的元数据,并且可以将所确定的元数据写入第一可用盘切片308。
由于故障存储盘311发生故障,无法直接读取第一盘切片301中的数据。基于不同存储系统的架构,可以采用不同的方式来确定或恢复第一盘切片301中所存储的数据。
在一些实施例中,如果存储系统包括上文描述的存储单元,则可以利用包括第一盘切片301的元数据存储单元330来确定第一盘切片301中所存储的数据。在图3的示例中,存储管理器120可以确定包括第一盘切片301的元数据存储单元330。作为示例,在存储盘311发生故障时,具有位于故障存储盘311中的盘切片的所有存储单元都可以被标记为“退化”。存储管理器120可以基于“退化”标记来确定元数据存储单元330。除了第一盘切片301之外,元数据存储单元330可以还包括在与故障存储盘311不同的存储盘中的至少一个盘切片。存储管理器120可以基于至少一个盘切片中存储的数据,确定第一盘切片301中所存储的元数据。
在图3的示例中,除了第一盘切片301之外,元数据存储单元330可以还包括盘切片332-335。可以例如以4+1 RAID 5的形式来组织元数据存储单元330中的盘切片。例如,第一盘切片301和盘切片332-335中的四个盘切片可以用于存储数据,而另一盘切片可以用于存储校验(parity)数据。因此,可以基于盘切片332-335中的数据来恢复第一盘切片301中存储的数据。
在一些实施例中,元数据存储单元330中的盘切片可以彼此互为镜像,例如1+1镜像。在这种情况下,可以直接读取镜像盘切片中所存储的数据。
在用盘切片308替代第一盘切片301后,第一盘切片301可以从元数据存储单元330被移除,并且盘切片308可以被添加到元数据存储单元330。应当理解,以上关于替换第一盘切片301的操作可以应用于故障存储盘311中用于存储元数据的其他盘切片,例如盘切片302和303。
返回参考图2,存储管理器120可以在替换第一盘切片301(可选地,以及盘切片302、303)的同时继续监测故障的持续时间。例如,第二计时器将继续运行。在框240处,存储管理器120确定持续时间是否达到大于第一阈值的第二阈值。如果在框240处确定持续时间达到第二阈值,则方法200进行到框250。例如,如果第二计时器到期而故障存储盘311未从故障恢复,则方法200可以进行到框250。
在框250处,存储管理器120用第二未故障存储盘中的第二可用盘切片替代第二盘切片307。例如,如果第二计时器到期而故障存储盘311未从故障恢复,则可以用多个可用盘切片来替代故障存储盘311中用于用户数据层的所有盘切片,例如盘切片304-307。盘切片304-307中所存储的数据可以被写入未故障存储盘的空闲盘切片中。
在一些实施例中,如图3所示,存储管理器120可以从包括多个盘的存储资源池130中确定未故障存储盘317(其又可以被称为第二未故障存储盘317)。进而,存储管理器120可以从第二未故障存储盘317中分配空闲盘切片作为第二可用盘切片。例如,盘切片309可以被分配作为第二可用盘切片。存储管理器120可以确定第二盘切片中所存储的用户数据,并且将所确定的用户数据写入第二可用盘切片309。
由于故障存储盘311发生故障,无法直接读取第二盘切片307中的数据。基于不同存储系统的架构,可以采用不同的方式来确定或恢复第二盘切片307中所存储的数据。
在一些实施例中,如果存储系统包括上文描述的存储单元,则可以利用包括第二盘切片307的用户数据存储单元340来确定第二盘切片307中所存储的数据。在图3的示例中,存储管理器120可以确定包括第二盘切片307的用户数据存储单元340。除了第二盘切片307之外,用户数据存储单元340还可以包括在与故障存储盘311不同的存储盘中的至少一个盘切片。存储管理器120可以基于该至少一个盘切片中存储的数据,确定第二盘切片307中所存储的用户数据。
在图3的示例中,除了第二盘切片307之外,用户数据存储单元340可以还包括在存储盘312-315中的盘切片。可以以4+1RAID 5的形式来组织用户数据存储单元340中的盘切片。例如,用户数据存储单元340中的四个盘切片可以用于存储数据,而另一盘切片可以用于存储校验数据。因此,可以基于存储盘312-315中的盘切片中的数据来恢复第二盘切片307中存储的数据。
在一些实施例中,用户数据存储单元340中的盘切片可以互为镜像,例如1+1镜像。在这种情况下,可以直接读取镜像盘切片中所存储的数据。
在用盘切片309替代第二盘切片307后,第二盘切片307可以从用户数据存储单元340被移除,并且盘切片309可以被添加到用户数据存储单元340。应当理解,以上关于替换第二盘切片307的操作可以应用于故障存储盘311中用于存储用户数据的其他盘切片,例如盘切片304-306。
返回参考图2,如果在框240处,存储管理器120确定持续时间未达到大于第二阈值,则在一些实施例中方法200可以进行到框260。例如,如果在第二计时器到期之前故障存储盘311从故障恢复,则方法200可以进行到框260。如果在故障存储盘311从故障恢复时,在框250处执行的对第一盘切片301的替代或对故障存储盘311中的其他元数据盘切片的替代尚未完成,则可以继续第一盘切片301或其他元数据盘切片的替代。
在一些实施例中,如果在故障期间存在与第二盘切片307相关的更新,则在框260处,存储管理器120可以更新第二盘切片307中所存储的用户数据。例如,如果在故障期间,存在来自上层的针对第二盘切片307中所存储的用户数据的I/O请求(诸如,写请求),则第二盘切片307中所存储的用户数据可能需要被更新。例如,存储管理器120可以确定包括第二盘切片307的用户数据存储单元340。然后,可以基于用户数据存储单元340所包括的其他盘切片在故障期间的更新,来更新第二盘切片307中所存储的用户数据。换言之,在框260处,执行对用户数据存储单元340的重建。
返回参考图2,如果在框220处,存储管理器120确定持续时间未达到第一阈值,则在一些实施例中,方法200可以进行到框270。例如,如果在第一计时器到期之前故障存储盘311从故障恢复,则方法200可以进行到框270。
在一些实施例中,如果在故障期间存在与第一盘切片301和/或第二盘切片307相关的更新,则在框260处,存储管理器120可以更新第一盘切片301中所存储的元数据和/或第二盘切片307中所存储的用户数据。例如,如果在故障期间,来自上层的I/O请求使得第一盘切片301中的元数据所指示的信息发送改变,则第一盘切片301中所存储的元数据可能需要被更新。例如,存储管理器120可以确定包括第一盘切片301的元数据存储单元330。然后,可以基于元数据存储单元330所包括的其他盘切片332-335在故障期间的更新,来更新第一盘切片301中所存储的元数据。对第二盘切片307的更新与上文参考框260的描述相同。因此,在框270处,执行对元数据存储单元330和用户数据存储单元340的重建。在故障期间未被改变的存储单元可以不被重建。
以上针对第一盘切片301描述的操作可以应用于故障存储盘311中用于存储元数据的任一盘切片,并且针对第二盘切片307描述的操作可以应用于故障存储盘311中用于存储用户数据的任一盘切片。
从以上描述能够看出,本公开的实施例提出了一种管理存储盘的方案。在所提出的方案中,针对不同逻辑层应用不同长度的故障监测窗口,以在故障发生时对用于不同逻辑层的盘切片进行差异化处理。以此方式,元数据层的退化时间能够被有效降低。因此,该方案能够有效提高元数据层的数据的可靠性。另外,与简单地减小故障监测窗口相比,该方案可以不增加不紧要的盘切片的替换。
图4示出了可以用来实现本公开的实施例的示例设备400的示意性框图。如图所示,设备400包括中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的计算机程序指令或者从存储单元408加载到随机访问存储器(RAM)403中的计算机程序指令,来执行各种适当的动作和处理。在RAM 403中,还可存储设备400操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
设备400中的多个部件连接至I/O接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元401执行上文所描述的各个方法和处理,例如方法200。例如,在一些实施例中,方法200可以被实现为计算机软件程序或计算机程序产品,其被有形地包含于机器可读介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由ROM 402和/或通信单元409而被载入和/或安装到设备400上。当计算机程序加载到RAM 403并由CPU401执行时,可以执行上文描述的方法200的一个或多个步骤。备选地,在其他实施例中,CPU401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法200。
根据本公开的一些实施例,提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开的方法。
本领域的技术人员应当理解,上述本公开的方法的各个步骤可以通过通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本公开不限制于任何特定的硬件和软件结合。
应当理解,尽管在上文的详细描述中提及了设备的若干装置或子装置,但是这种划分仅仅是示例性而非强制性的。实际上,根据本公开的实施例,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
以上所述仅为本公开的可选实施例,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的保护范围之内。

Claims (13)

1.一种管理存储盘的方法,包括:
监测故障存储盘的故障的持续时间,所述故障存储盘包括用于存储元数据的第一盘切片和用于存储用户数据的第二盘切片;
响应于所述持续时间达到第一阈值,用第一未故障存储盘中的第一可用盘切片替代所述第一盘切片;以及
响应于所述持续时间达到大于所述第一阈值的第二阈值,用第二未故障存储盘中的第二可用盘切片替代所述第二盘切片。
2.根据权利要求1所述的方法,其中用所述第一可用盘切片替代所述第一盘切片包括:
从包括多个存储盘的存储资源池中确定所述第一未故障存储盘,所述多个存储盘中的每个存储盘被划分成多个盘切片;
从所述第一未故障存储盘中分配空闲盘切片作为所述第一可用盘切片;
确定所述第一盘切片中所存储的元数据;以及
将确定的所述元数据写入所述第一可用盘切片。
3.根据权利要求2所述的方法,其中确定所述第一盘切片中所存储的元数据包括:
确定包括所述第一盘切片的元数据存储单元,所述元数据存储单元还包括在与所述故障存储盘不同的存储盘中的至少一个盘切片;以及
基于所述至少一个盘切片中所存储的数据,确定所述第一盘切片中所存储的所述元数据。
4.根据权利要求1所述的方法,其中监测所述持续时间包括:
响应于所述故障的发生,通过启动有效期为所述第一阈值的第一计时器和有效期为所述第二阈值的第二计时器,来监测所述持续时间。
5.根据权利要求1所述的方法,还包括:
响应于所述故障存储盘从所述故障恢复并且所述持续时间未达到所述第二阈值,确定包括所述第二盘切片的用户数据存储单元,所述用户数据存储单元还包括在与所述故障存储盘不同的存储盘中的至少一个盘切片;以及
基于所述至少一个盘切片在所述故障期间的更新,更新所述第二盘切片中所存储的所述用户数据。
6.根据权利要求1所述的方法,其中用所述第二可用盘切片替代所述第二盘切片包括:
从包括多个存储盘的存储资源池中确定所述第二未故障存储盘,所述多个存储盘中的每个存储盘被划分成多个盘切片;
从所述第二未故障存储盘中分配空闲盘切片作为所述第二可用盘切片;
确定所述第二盘切片中所存储的用户数据;以及
将确定的所述用户数据写入所述第二可用盘切片。
7.一种电子设备,包括:
处理器;以及
与所述处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被处理器执行时使所述设备执行动作,所述动作包括:
监测故障存储盘的故障的持续时间,所述故障存储盘包括用于存储元数据的第一盘切片和用于存储用户数据的第二盘切片;
响应于所述持续时间达到第一阈值,用第一未故障存储盘中的第一可用盘切片替代所述第一盘切片;以及
响应于所述持续时间达到大于所述第一阈值的第二阈值,用第二未故障存储盘中的第二可用盘切片替代所述第二盘切片。
8.根据权利要求7所述的设备,其中用所述第一可用盘切片替代所述第一盘切片包括:
从包括多个存储盘的存储资源池中确定所述第一未故障存储盘,所述多个存储盘中的每个存储盘被划分成多个盘切片;
从所述第一未故障存储盘中分配空闲盘切片作为所述第一可用盘切片;
确定所述第一盘切片中所存储的元数据;以及
将确定的所述元数据写入所述第一可用盘切片。
9.根据权利要求8所述的设备,其中确定所述第一盘切片中所存储的元数据包括:
确定包括所述第一盘切片的元数据存储单元,所述元数据存储单元还包括在与所述故障存储盘不同的存储盘中的至少一个盘切片;以及
基于所述至少一个盘切片中所存储的数据,确定所述第一盘切片中所存储的所述元数据。
10.根据权利要求7所述的设备,其中监测所述持续时间包括:
响应于所述故障的发生,通过启动有效期为所述第一阈值的第一计时器和有效期为所述第二阈值的第二计时器,来监测所述持续时间。
11.根据权利要求7所述的设备,还包括:
响应于所述故障存储盘从所述故障恢复并且所述持续时间未达到所述第二阈值,确定包括所述第二盘切片的用户数据存储单元,所述用户数据存储单元还包括在与所述故障存储盘不同的存储盘中的至少一个盘切片;以及
基于所述至少一个盘切片在所述故障期间的更新,更新所述第二盘切片中所存储的所述用户数据。
12.根据权利要求7所述的设备,其中用所述第二可用盘切片替代所述第二盘切片包括:
从包括多个存储盘的存储资源池中确定所述第二未故障存储盘,所述多个存储盘中的每个存储盘被划分成多个盘切片;
从所述第二未故障存储盘中分配空闲盘切片作为所述第二可用盘切片;
确定所述第二盘切片中所存储的用户数据;以及
将确定的所述用户数据写入所述第二可用盘切片。
13.一种计算机程序产品,所述计算机程序产品被有形地存储在计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1至6中任一项所述的方法。
CN202010360999.6A 2020-04-30 2020-04-30 用于管理存储盘的方法、电子设备和计算机程序产品 Pending CN113590016A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010360999.6A CN113590016A (zh) 2020-04-30 2020-04-30 用于管理存储盘的方法、电子设备和计算机程序产品
US16/994,918 US11226881B2 (en) 2020-04-30 2020-08-17 Responding to a fault of a disk which stores metadata and user data in different disk slices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010360999.6A CN113590016A (zh) 2020-04-30 2020-04-30 用于管理存储盘的方法、电子设备和计算机程序产品

Publications (1)

Publication Number Publication Date
CN113590016A true CN113590016A (zh) 2021-11-02

Family

ID=78236979

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010360999.6A Pending CN113590016A (zh) 2020-04-30 2020-04-30 用于管理存储盘的方法、电子设备和计算机程序产品

Country Status (2)

Country Link
US (1) US11226881B2 (zh)
CN (1) CN113590016A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090172248A1 (en) * 2007-12-27 2009-07-02 Guangqing You Management of a flash memory device
US20100106907A1 (en) * 2008-10-16 2010-04-29 Fujitsu Limited Computer-readable medium storing data management program, computer-readable medium storing storage diagnosis program, and multinode storage system
US20180300212A1 (en) * 2017-04-17 2018-10-18 EMC IP Holding Company LLC Method, device and computer readable storage media for rebuilding redundant array of independent disks
US20190129817A1 (en) * 2017-10-27 2019-05-02 EMC IP Holding Company LLC Method, device and computer program product for managing a storage system
US20190324875A1 (en) * 2018-04-20 2019-10-24 EMC IP Holding Company LLC Method and apparatus for failure recovery of storage device

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363420B2 (en) * 2003-12-15 2008-04-22 Nortel Networks Limited Method and file structures for managing data on a flash disk
US8493405B2 (en) * 2006-05-24 2013-07-23 Panasonic Corporation Image control device and image display system for generating an image to be displayed from received imaged data, generating display information based on the received image data and outputting the image and the display information to a display
JP5217967B2 (ja) * 2008-11-28 2013-06-19 富士通株式会社 故障ノード切り離し処理プログラム、故障ノード切り離し方法及びストレージシステム
US8065558B2 (en) * 2009-03-24 2011-11-22 Lsi Corporation Data volume rebuilder and methods for arranging data volumes for improved RAID reconstruction performance
JP5532987B2 (ja) * 2010-02-05 2014-06-25 富士通株式会社 スイッチ装置、スイッチ制御方法、及びストレージシステム
US8429455B2 (en) * 2010-07-16 2013-04-23 Hitachi, Ltd. Computer system management method and management system
US9007087B2 (en) * 2012-10-11 2015-04-14 Hamilton Sundstrand Corporation System and method for automated failure detection of hold-up power storage devices
US10101945B1 (en) * 2013-05-29 2018-10-16 EMC IP Holding Company LLC Method and apparatus for enhancing command burst tolerance
US9152353B1 (en) * 2013-09-30 2015-10-06 Emc Corporation Verifying the consistency of slice allocation metadata
US9984090B1 (en) 2014-03-13 2018-05-29 EMC IP Holding Company LLC Method and system for compressing file system namespace of a storage system
US10922277B1 (en) 2015-06-29 2021-02-16 EMC IP Holding Company LLC Logging file system metadata changes using a single log hold per cached block of metadata
US9804939B1 (en) * 2015-09-30 2017-10-31 EMC IP Holding Company LLC Sparse raid rebuild based on storage extent allocation
CN107220148B (zh) 2016-03-21 2020-12-04 伊姆西Ip控股有限责任公司 针对独立磁盘冗余阵列的重建方法和设备
CN107526537B (zh) 2016-06-22 2020-03-20 伊姆西Ip控股有限责任公司 用于锁定存储系统中的存储区域的方法和系统
CN107526536B (zh) 2016-06-22 2020-11-27 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和系统
CN109725831B (zh) 2017-10-27 2022-06-10 伊姆西Ip控股有限责任公司 管理存储系统的方法、系统和计算机可读介质
CN110058953B (zh) 2018-01-18 2023-02-28 伊姆西Ip控股有限责任公司 用于改变存储系统的类型的方法、设备和存储介质
CN110058791B (zh) * 2018-01-18 2022-05-10 伊姆西Ip控股有限责任公司 存储系统以及相应的方法和计算机可读介质
CN110413205B (zh) 2018-04-28 2023-07-07 伊姆西Ip控股有限责任公司 用于向磁盘阵列进行写入的方法、设备和计算机可读存储介质
CN110413218B (zh) * 2018-04-28 2023-06-23 伊姆西Ip控股有限责任公司 用于存储系统中的故障恢复的方法、装置和计算机程序产品
JP7081344B2 (ja) * 2018-07-02 2022-06-07 富士通株式会社 監視装置,監視制御方法および情報処理装置
US10860483B2 (en) 2019-04-30 2020-12-08 EMC IP Holding Company LLC Handling metadata corruption to avoid data unavailability
US11093317B1 (en) 2020-01-27 2021-08-17 EMC IP Holding Company LLC Managing uncorrectable user data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090172248A1 (en) * 2007-12-27 2009-07-02 Guangqing You Management of a flash memory device
US20100106907A1 (en) * 2008-10-16 2010-04-29 Fujitsu Limited Computer-readable medium storing data management program, computer-readable medium storing storage diagnosis program, and multinode storage system
US20180300212A1 (en) * 2017-04-17 2018-10-18 EMC IP Holding Company LLC Method, device and computer readable storage media for rebuilding redundant array of independent disks
US20190129817A1 (en) * 2017-10-27 2019-05-02 EMC IP Holding Company LLC Method, device and computer program product for managing a storage system
US20190324875A1 (en) * 2018-04-20 2019-10-24 EMC IP Holding Company LLC Method and apparatus for failure recovery of storage device

Also Published As

Publication number Publication date
US20210342235A1 (en) 2021-11-04
US11226881B2 (en) 2022-01-18

Similar Documents

Publication Publication Date Title
CN111104244B (zh) 用于在存储阵列组中重建数据的方法和设备
US10606491B2 (en) Providing redundancy in a virtualized storage system for a computer system
CN109725822B (zh) 用于管理存储系统的方法、设备和计算机程序产品
EP3916557B1 (en) Memory error processing method and device
US10409493B1 (en) Online system checkpoint alert and handling
US7739677B1 (en) System and method to prevent data corruption due to split brain in shared data clusters
US7930588B2 (en) Deferred volume metadata invalidation
US20100306466A1 (en) Method for improving disk availability and disk array controller
US10664358B1 (en) Ensure volume consistency for online system checkpoint
US11449400B2 (en) Method, device and program product for managing data of storage device
US11449402B2 (en) Handling of offline storage disk
CN112148204B (zh) 用于管理独立冗余盘阵列的方法、设备和介质
US20070192454A1 (en) Consolidating session information for a cluster of sessions in a coupled session environment
US9286175B2 (en) System and method of write hole protection for a multiple-node storage cluster
US6363457B1 (en) Method and system for non-disruptive addition and deletion of logical devices
CN113377569A (zh) 用于恢复数据的方法、设备和计算机程序产品
CN113535073B (zh) 管理存储单元的方法、电子设备和计算机可读存储介质
EP4027243A1 (en) Data recovery method and related device
CN111124251B (zh) 用于i/o控制的方法、装置以及计算机可读介质
US10936206B1 (en) Handling a device in a latency state in a redundant storage system
CN113590016A (zh) 用于管理存储盘的方法、电子设备和计算机程序产品
US11481275B2 (en) Managing reconstruction of a malfunctioning disk slice
US20130110789A1 (en) Method of, and apparatus for, recovering data on a storage system
CN113391937A (zh) 用于存储管理的方法、电子设备以及计算机程序产品
KR19980047273A (ko) 레이드 레벨 5 시스템에서 캐쉬 관리 방법

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