CN112084061A - 减少相同raid级别的raid阵列中的数据丢失事件 - Google Patents
减少相同raid级别的raid阵列中的数据丢失事件 Download PDFInfo
- Publication number
- CN112084061A CN112084061A CN202010512614.3A CN202010512614A CN112084061A CN 112084061 A CN112084061 A CN 112084061A CN 202010512614 A CN202010512614 A CN 202010512614A CN 112084061 A CN112084061 A CN 112084061A
- Authority
- CN
- China
- Prior art keywords
- raid
- storage
- array
- risk
- storage drive
- 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
Links
- 238000003491 array Methods 0.000 title abstract description 37
- 238000003860 storage Methods 0.000 claims abstract description 305
- 238000000034 method Methods 0.000 claims abstract description 104
- 238000004590 computer program Methods 0.000 claims abstract description 8
- 238000013500 data storage Methods 0.000 claims abstract description 7
- 230000008569 process Effects 0.000 claims description 16
- 230000004931 aggregating effect Effects 0.000 claims 1
- 238000012544 monitoring process Methods 0.000 claims 1
- 230000009471 action Effects 0.000 description 36
- 238000010586 diagram Methods 0.000 description 20
- 230000015654 memory Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 239000007787 solid Substances 0.000 description 7
- 230000007704 transition Effects 0.000 description 6
- 230000002776 aggregation Effects 0.000 description 5
- 238000004220 aggregation Methods 0.000 description 5
- 239000000835 fiber Substances 0.000 description 5
- 230000002265 prevention Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013480 data collection Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1084—Degraded mode, e.g. caused by single or multiple storage removals or disk failures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1092—Rebuilding, e.g. when physically replacing a failing disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1096—Parity calculation or recalculation after configuration or reconfiguration of the system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开的实施例涉及减少相同RAID级别的RAID阵列中的数据丢失事件。公开了一种用于减少具有相同RAID级别的独立磁盘冗余阵列(RAID)中的数据丢失事件的方法。在一个实施例中,这种方法在数据存储环境中识别具有共同RAID级别的一组RAID。该方法还在该组RAID中识别故障风险高于阈值的较高风险存储驱动器和故障风险低于阈值的较低风险存储驱动器。该方法在RAID中将较高风险存储驱动器与较低风险存储驱动器交换,从而将较高风险存储驱动器更均匀地分配到整个RAID中。还公开了相应的系统和计算机程序产品。
Description
技术领域
本发明涉及用于减少独立磁盘的冗余阵列中的数据丢失事件的系统和方法。
背景技术
RAID(即,独立磁盘冗余阵列)是一种通过冗余提供增强的存储功能和可靠性的存储技术。通过将多个存储驱动器组件(例如磁盘驱动器和/或固态驱动器)组合到一个逻辑单元中来创建RAID。然后使用称为“RAID级别”的各种技术将数据分布在驱动器上。目前包括RAID级别1到6的标准RAID级别是一组基本的RAID配置,这些配置使用条带化(striping)、镜像和/或奇偶校验来提供数据冗余。每种配置都提供两个关键目标之间的平衡:(1)提高数据可靠性和(2)提高I/O性能。
当前,最常用的RAID级别是RAID-5和RAID-6,它们都利用具有分布式奇偶校验值的块级条带化。RAID-5阵列配置为从单个驱动器故障中恢复,而RAID-6阵列可以从两个同时的驱动器故障中恢复。因此,与RAID-5阵列相比,RAID-6阵列提供了更强大的冗余数据保护。
在现场,已经观察到驱动器故障与介质错误相结合会导致大多数数据丢失事件。例如,RAID-5阵列中的驱动器故障与该阵列中另一个存储驱动器上的介质错误的结合会导致数据丢失。尽管当两个存储驱动器同时发生故障时RAID-5阵列将丢失数据,但是最常见的是由单个驱动器故障以及介质错误导致的数据丢失。相比之下,由于RAID-6阵列利用的额外奇偶校验值,在上述两种情况下将预防数据丢失。
鉴于前述内容,需要用于减少独立磁盘冗余阵列中的数据丢失事件的系统和方法。还需要用于提供关于由特定RAID级别(例如,RAID-5,RAID-6等)导致或阻止的数据丢失的更好的报告和统计的系统和方法。在某些情况下,这样的系统和方法可以用于鼓励用户过渡到更鲁棒的RAID级别(例如,RAID-6),或者提供证据表明先前向更鲁棒(robust)的RAID级别的过渡已经预防了数据丢失。
发明内容
响应于当前技术水平,特别是响应于当前可用系统和方法尚未完全解决的现有技术中的问题和需求,开发了本发明。因此,已经开发了本发明的实施例以减少独立磁盘冗余阵列(RAID)中的数据丢失事件。根据以下描述和所附权利要求,本发明的特征和优点将变得更加完全明显,或者可以通过以下所述的本发明的实践而获知。
与前述一致,公开了一种用于减少具有相同RAID级别的独立磁盘冗余阵列(RAID)中的数据丢失事件的方法。在一个实施例中,这种方法在数据存储环境中识别具有共同RAID级别的一组RAID。该方法还在该组RAID中识别故障风险高于阈值的较高风险存储驱动器和故障风险低于阈值的较低风险存储驱动器。该方法在RAID中将较高风险存储驱动器与较低风险存储驱动器交换,从而将较高风险存储驱动器更均匀地分配到整个RAID中。与前述一致,公开了一种用于在包括独立磁盘冗余阵列(RAID)的存储环境中报告数据丢失事件的方法。在一个实施例中,这种方法监控数据存储环境中的存储驱动器故障。对于在存储环境中检测到的存储驱动器故障,该方法报告发生存储驱动器故障的RAID类型以及由于该存储驱动器故障而导致RAID中是否发生数据丢失。在某些实施例中,该方法报告如果将RAID类型转换为更鲁棒的RAID类型是否可以预防数据丢失。在其他或相同实施例中,该方法报告是否通过RAID类型预防了数据丢失。
本文还公开并要求保护相应的系统和计算机程序产品。
附图说明
为了容易理解本发明的优点,将通过参考附图中示出的特定实施例来对以上简要描述的本发明进行更具体的描述。应当理解这些附图仅描绘了本发明的典型实施例,因此不应认为是对本发明范围的限制,将通过使用附图以附加的特征和细节来描述和解释本发明,其中:
图1是示出其中可以实现根据本发明的系统和方法的网络环境的一个示例的高级框图;
图2是示出其中可以实现一个或多个RAID的存储系统的一个实施例的高级框图;
图3示出了报告模块,该报告模块配置为报告与存储环境中的存储驱动器故障相关的信息,并可选地报告是否可以通过使用提供更鲁棒的数据保护的RAID预防某些数据丢失,或者是否通过使用提供更鲁棒的数据保护的RAID预防数据丢失;
图4是示出报告模块和各种相关子模块的高级框图;
图5示出了动作模块,该动作模块在提供更不鲁棒的数据保护的RAID阵列和提供更鲁棒的数据保护的RAID阵列之间交换存储驱动器,以降低数据丢失的风险;
图6示出了将较高风险存储驱动器更均匀地分布在某个RAID级别的RAID上,以降低数据丢失的风险;
图7示出了动作模块从RAID阵列中移除较高风险存储驱动器,以降低数据丢失的风险;
图8是示出动作模块和各种相关子模块的高级框图;
图9是示出用于减少在包括不同RAID级别的RAID阵列的存储环境中的数据丢失风险的方法的一个实施例的流程图;和
图10是示出用于确定RAID阵列是否可以被转换为更鲁棒的RAID级别的方法的一个实施例的流程图。
具体实施方式
将容易理解,如本文的附图中一般性描述和示出的,本发明的部件可以以多种不同的配置来布置和设计。因此,如附图所示,对本发明的实施例的以下更详细的描述并非旨在限制所要求保护的本发明的范围,而仅是根据本发明的当前设想的实施例的某些示例的代表。参考附图将最好地理解当前描述的实施例,其中,相同的部分始终用相同的数字表示。
本发明可以是系统,方法和/或计算机程序产品。计算机程序产品可以包括其上具有用于使处理器执行本发明的方面的计算机可读程序指令的计算机可读存储介质。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Java、Smalltalk、C++等,以及传统的过程式编程语言—诸如“C”语言或类似的编程语言。
计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
参照图1,示出了网络环境100的一个示例。呈现网络环境100以示出可以实现根据本发明的系统和方法的环境的一个示例。网络环境100通过示例而非限制的方式呈现。实际上,除了所示的网络环境100之外,本文公开的系统和方法可以适用于各种各样的不同的网络环境。
如图所示,网络环境100包括通过网络104互连的一台或多台计算机102、106。网络104可以例如包括局域网(LAN)104、广域网(WAN)104、因特网104、内联网104等。在某些实施例中,计算机102、106可以包括客户端计算机102和服务器计算机106(在本文中也称为“主机”106或“主机系统”106)。通常,客户端计算机102发起通信会话,而服务器计算机106等待并响应来自客户端计算机102的请求。在某些实施例中,计算机102和/或服务器106可以连接到一个或多个内部或外部直接附加的存储系统112(例如,硬盘驱动器、固态驱动器、磁带驱动器等的阵列)。这些计算机102、106和直接附加的存储系统112可以使用诸如ATA、SATA、SCSI、SAS、光纤通道等协议来通信。
在某些实施例中,网络环境100可以包括位于服务器106后的存储网络108,例如存储区域网络(SAN)108或LAN 108(例如,当使用网络附加存储时)。该网络108可以将服务器106连接到一个或多个存储系统110,例如硬盘驱动器或固态驱动器的阵列110a、磁带库110b、单个硬盘驱动器110c或固态驱动器110c、磁带驱动器110d、CD-ROM库等。为了访问存储系统110,主机系统106可以通过从主机106上的一个或多个端口到存储系统110上的一个或多个端口的物理连接进行通信。连接可以通过交换机、光纤、或类似直接连接。在某些实施例中,服务器106和存储系统110可以使用诸如光纤通道(FC)或iSCSI之类的联网标准进行通信。
参照图2,示出了包含硬盘驱动器204和/或固态驱动器204的阵列的存储系统110a的一个示例。示出了存储系统110a的内部组件,因为在某些实施例中,RAID阵列可以全部或部分地在这种存储系统110a内实现。如图所示,存储系统110a包括存储控制器200、一个或多个开关202以及一个或多个存储驱动器204,例如硬盘驱动器204和/或固态驱动器204(例如,基于闪存的存储驱动器204)。存储控制器200可以使一个或多个主机106(例如,运行诸如z/OS,zVM等操作系统的开放系统和/或大型机服务器106)访问一个或多个存储驱动器204中的数据。
在选定的实施例中,存储控制器200包括一个或多个服务器206。存储控制器200还可以包括主机适配器208和设备适配器210,以将存储控制器200分别连接到主机设备106和存储驱动器204。多个服务器206a、206b可以提供冗余以确保数据始终可用于连接的主机106。因此,当一个服务器206a发生故障时,另一服务器206b可以承担发生故障的服务器206a的I/O负载,以确保I/O能够在主机106和存储驱动器204之间继续。该过程可以称为“故障转移”。
在选定的实施例中,每个服务器206可以包括一个或多个处理器212和存储器214。存储器214可以包括易失性存储器(例如,RAM)以及非易失性存储器(例如,ROM、EPROM、EEPROM、硬盘、闪存等)。在某些实施例中,易失性和非易失性存储器可以存储在处理器212上运行并且用于访问存储驱动器204中的数据的软件模块。服务器206可以托管这些软件模块的至少一个实例。这些软件模块可以管理对存储驱动器204中的逻辑卷的所有读取和写入请求。
具有类似于图2中所示架构的存储系统110a的一个示例是IBM DS8000TM企业存储系统。DS8000TM是一种提供磁盘和固态存储的高性能、大容量的存储控制器,旨在支持连续操作。然而,本文公开的技术不限于IBM DS8000TM企业存储系统110a,而是可以在任何可比较或类似的存储系统110中实现,而与制造商、产品名称或与系统110相关联的组件或组件名称无关。可以从本发明的一个或多个实施例中受益的任何存储系统都被认为属于本发明的范围。因此,仅以示例而非限制的方式介绍了IBM DS8000TM。
在某些实施例中,存储系统110a的存储驱动器204可以被配置在一个或多个RAID阵列中以提供期望水平的可靠性和/或I/O性能。如前所述,目前最常用的RAID级别是RAID-5和RAID-6。这些RAID级别利用具有分布式奇偶校验值的块级条带化。RAID-5阵列配置为可以从单个驱动器故障中恢复,而RAID-6阵列可以从两个同时的驱动器故障中恢复。因此,与RAID-5阵列相比,RAID-6阵列提供了更鲁棒的冗余数据保护。
在现场,已经观察到驱动器故障与介质错误结合会导致大多数数据丢失事件。例如,RAID-5阵列中的驱动器故障与同一阵列中另一个存储驱动器204上的介质错误相结合将导致数据丢失。尽管当两个存储驱动器204同时发生故障时RAID-5阵列也会丢失数据,但是最常见的是由于单个驱动器故障和介质错误而导致的数据丢失。相反,由于在RAID-6阵列中使用了额外的奇偶校验值,因此在上述两种情况下,RAID-6阵列都可以预防数据丢失。鉴于前述内容,需要系统和方法来减少独立磁盘冗余阵列中的数据丢失事件。还需要系统和方法来提供关于由特定RAID级别导致的数据丢失的更好的报告和统计信息。在某些情况下,这样的系统和方法可用于鼓励用户过渡到更鲁棒的RAID级别(例如RAID-6),或者提供证据表明先前向更鲁棒的RAID级别的过渡就保护数据来说已经产生收益。
参考图3,在根据本发明的某些实施例中,可以在主机系统102或其他系统中提供报告模块300,以减少RAID阵列中的数据丢失事件。该报告模块300可以被配置为提供关于由特定RAID级别(例如,RAID-5或RAID-6阵列)导致的数据丢失的更好的报告和统计。在某些实施例中,由报告模块300提供的报告和统计可以用于鼓励用户过渡到更鲁棒的RAID级别(例如,RAID-6),或者提供证据表明先前向更鲁棒的RAID级别的过渡已经预防了数据丢失。
例如,如图3所示,当RAID-5阵列304a中发生故障306a(即存储驱动器故障306a)时,报告模块300可以确定是否由于该故障而发生数据丢失。例如,如果故障的存储驱动器204在RAID-5阵列304a中的另一存储驱动器204上伴随有介质错误,则可能导致数据丢失。在这种情况下,报告模块300可以记录RAID-5阵列304a中的故障306a以及所导致的数据丢失。报告模块300可以将该事件报告给用户。在某些实施例中,报告模块300可以指示如果RAID-5阵列304a被转换成RAID-6阵列304b,是否可以预防数据丢失。
类似地,在某些实施例中,当在RAID-6阵列304b中发生故障306b(即存储驱动器故障306b)时,报告模块300可以确定是否由于RAID-6架构而预防了数据丢失建筑。例如,如果故障的存储驱动器204伴随有介质错误或另一个故障的存储驱动器204,但是RAID-6阵列304b仍然能够恢复、重建并预防数据丢失,则报告模块300可以记录该信息。报告模块300可以将事件306b报告给用户并指示由于RAID阵列是RAID-6阵列304b而预防了数据丢失,并且如果RAID阵列是RAID-5阵列304a,则可能指示发生数据丢失。
相反,动作模块302可以采取各种动作来减轻在包括多个RAID阵列304的存储环境中数据丢失的风险。将结合图5至7讨论这种动作的示例。图8是示出动作模块302和各种相关子模块的高级框图。
参照图4,示出了报告模块300和相关子模块的高级框图。报告模块300和相关子模块可以以硬件、软件、固件或其组合来实现。报告模块300和相关子模块通过示例而非限制的方式呈现。在不同的实施例中,可以提供更多或更少的子模块。例如,一些子模块的功能可以被组合成单个或更少数量的子模块,或者单个子模块的功能可以被分布在多个子模块上。
如图所示,报告模块300可以包括故障检测模块402、数据收集模块404、数据丢失确定模块406、预防确定模块408、聚合模块410和通信模块412中的一个或多个。
故障检测模块402可被配置为检测存储系统110a中的故障306,例如参与RAID阵列404的多个存储驱动器204中的一个的故障306。当发生此类故障306时,数据收集模块404可以收集有关故障306的数据。例如,数据收集模块404可以确定发生故障的存储驱动器204的数目420,发生故障的存储驱动器204的类型(例如,品牌、型号、存储容量,性能特性、制造商规范等),发生故障的存储驱动器204的寿命以及发生故障306的RAID类型(例如,RAID是RAID-5还是RAID-6阵列)。
数据丢失确定模块406可以被配置为确定故障306是否导致数据丢失。例如,如果存储驱动器故障306伴随有RAID-5阵列304a中另一存储驱动器204上的介质错误或另一存储驱动器204的故障306,则数据可能丢失。数据丢失确定模块406可以确定是否发生了这种数据丢失。
相反,预防确定模块408可以确定是否已经预防了由数据丢失确定模块406检测到的数据丢失。例如,如果RAID-5阵列304a被转换为RAID-6阵列304b,则RAID-5阵列304a中不会发生数据丢失,预防确定模块408可以检测到这种情况。替代地或附加地,预防确定模块408可以确定RAID阵列404的配置是否实际上预防了数据丢失。例如,如果RAID-6阵列304b经历了故障306,该故障306没有导致数据丢失,但是如果RAID阵列是RAID-5阵列304a则将导致数据丢失,预防确定模块408可以检测到这种情况。
聚合模块410可以跨存储环境和RAID阵列404聚合统计信息。例如,对于在存储环境中发生的每个存储驱动器故障306,聚合模块410可以聚合诸如涉及的RAID(例如RAID-5,RAID-6等)、发生故障的存储驱动器204的数目、是否预防了数据丢失、发生故障的存储驱动器类型、发生故障的存储驱动器204的寿命等等的信息。在某些实施例中,聚合模块310可以聚合诸如如果将RAID-5阵列304a转换为RAID-6阵列304b,是否可以预防RAID-5阵列304a中发生的数据丢失的信息。类似地,聚集模块410可以聚集诸如在RAID-6阵列304b中发生并且没有导致数据丢失的存储驱动器故障306是否会在RAID-5阵列304a中发生故障的情况下引起数据丢失的信息。
通信模块412可以将由其他子模块402、404、406、408、410生成和收集的信息传达给用户。这可以帮助用户确定如何配置存储环境,尤其是如何在存储环境中配置RAID阵列404。例如,当观察到使用RAID-6阵列304b可以预防各种数据丢失事件时,用户可以决定将各种RAID-5阵列304a转换为RAID-6阵列304b。类似地,在观察到RAID-6阵列304b预防的数据丢失事件后,通信模块412提供的信息可以验证用户先前将RAID-5阵列304a转换为RAID-6阵列304b的决定。在某些实施例中,存储服务/硬件的供应商可以使用该信息来通过显示客户真实世界的利用RAID-6阵列304b避免或将避免数据丢失的示例来说服客户转换为或利用RAID-6阵列304b。
参考图5,如前所述,动作模块302可以采取各种动作来减轻存储环境中数据丢失的风险。在某些实施例中,动作模块302可以维护关于存储环境(例如,存储系统110a)中的存储驱动器204的统计,以便确定哪些存储驱动器204具有最大的故障风险。例如,动作模块302可以确定存储驱动器204在给定时间段(例如,一个月)内发生故障的可能性有多大。在某些实施例中,该可能性表示为在给定时间段内存储驱动器204将发生故障的机会百分比。动作模块302然后可以确定在该时间段内哪些存储驱动器204具有超过所选阈值(例如,百分之二十五)的故障风险。如图5所示,这些存储驱动器204可以被指定为较高风险存储驱动器204,如图5所示,低于阈值的存储驱动器204可以被指定为较低风险存储驱动器204。
然后,动作模块302可以采取动作来减轻存储环境中,尤其是在存储环境的特定RAID阵列304中数据丢失的风险。这样做时,动作模块302可以考虑RAID阵列304的RAID级别。例如,RAID-5阵列304a在保护数据方面不如RAID-6阵列304b鲁棒。因此,与RAID-6阵列304b中的较高风险存储驱动器204相比,RAID-5阵列304a中的较高风险存储驱动器204更可能引起数据丢失。因此,动作模块302可以采取动作来降低或平衡整个RAID阵列304上的风险,以便最小化数据丢失的机会。
例如,如图5所示,在某些实施例中,动作模块302可以分析存储环境中的RAID阵列304,以确定哪些RAID阵列304包含较高风险存储驱动器204以及包含的较高风险存储驱动器204的数目。使用该信息,动作模块302可以考虑RAID级别,以降低数据丢失风险和/或更均匀地将数据丢失风险分布在RAID阵列304之间的方式在RAID-5阵列304a和RAID-6阵列304b之间交换存储驱动器204。
例如,图5示出了其中包含较高风险存储驱动器204a的RAID-5阵列304a。因为RAID-5阵列304a提供的保护性不如RAID-6阵列304b,并且只能承受单个存储驱动器故障而不会丢失数据,所以动作模块302可以交换RAID-5阵列304a中的较高风险存储驱动器204a和RAID-6阵列304b中的较低风险存储驱动器204b。这将导致RAID-6阵列304b中存在单个较高风险存储驱动器204a。如前所述,RAID-6阵列304b可以从两个同时发生的驱动器故障中恢复而不会引起数据丢失,因此能够更好地处理较高风险存储驱动器204a的故障。
当在RAID阵列304之间交换存储驱动器204时,动作模块302可以使用备用存储驱动器204c分三步进行。例如,在图5的示例中,可以将较高风险存储驱动器204a中的数据复制到备用存储驱动器204c,然后可以将备用存储驱动器204c并入RAID-5阵列304a中以替换较高风险存储驱动器204a。然后可以将较低风险存储驱动器204b中的数据复制到较高风险存储驱动器204a(现在是备用的)中,然后可以将较高风险存储驱动器204a合并到RAID-6阵列304b中。然后可以将存储驱动器204c(现在是RAID-5阵列304a的一部分)中的数据复制到较低风险存储驱动器204b(现在是备用的)中,然后将较低风险存储驱动器204b合并到RAID-5阵列304a。这完成了较高风险存储驱动器204a与较低风险存储驱动器204b的交换。
在某些实施例中,可以使用智能重建过程将数据从一个存储驱动器204复制到另一存储驱动器。即使数据正在被复制到该驱动器中,这种智能重建过程可以通过保持存储驱动器204用作备用驱动器的能力来减少数据丢失的风险。在某些实施例中,当将数据从第一存储驱动器204复制到第二存储驱动器204(例如,备用存储驱动器204)时,智能重建过程可以为第一存储驱动器204创建位图。每个位可以表示第一存储驱动器204上的存储空间的一部分(例如,一个兆字节区域)。然后,智能重建过程可以开始将数据从第一存储驱动器204复制到第二存储驱动器204。在复制每个部分时,其相关联位可以被记录在位图中。
如果在进行数据复制过程的同时接收到对第一存储驱动器204的部分的写入,则智能重建过程可以检查位图,以确定关联的部分中的数据是否已经复制到第二存储驱动器204。如果不是,则智能重建过程可以简单地将数据写入第一存储驱动器204的相应部分。否则,在将数据写入第一存储驱动器204之后,也可以将数据复制到第二存储驱动器204。一旦将所有部分从第一存储驱动器204复制到第二存储驱动器204,RAID阵列300就可以开始使用第二存储驱动器204代替第一存储驱动器204。这将第一存储驱动器204从RAID阵列300释放。
替代地,智能重建过程可以利用水印而不是位图来跟踪哪些数据已经从第一存储驱动器204复制到第二存储驱动器204。在这样的实施例中,部分可以以指定的顺序从第一存储驱动器204复制到第二存储驱动器204。水印可跟踪复制过程已经在各部分中进行了多远。如果在复制过程中接收到对第一存储驱动器204的部分的写入,则智能重建过程可以检查水印以确定该部分中的数据是否已经被复制到第二存储驱动器204。如果尚未复制,智能重建过程可以将数据写入第一存储驱动器204。否则,在将数据写入第一存储驱动器204之后,智能重建过程也可以将数据复制到第二存储驱动器204。一旦所有部分已经从第一存储驱动器204复制到第二存储驱动器204,RAID阵列300可以开始使用第二存储驱动器204代替第一存储驱动器204。这将第一存储驱动器204从RAID阵列300释放。
参照图6,在某些实施例中,动作模块302可以以降低存储环境中数据丢失风险的方式在RAID阵列304上分配较高风险存储驱动器204。例如,图6示出了两个RAID-5阵列304a,每个RAID-5阵列包括多个较高风险存储驱动器204。在该示例中,RAID-5阵列304a1包括单个较高风险存储驱动器204,而RAID-5阵列304a2包括三个较高风险存储驱动器204。为了减少RAID-5阵列304a1、304a2中数据丢失的风险,动作模块302可以通过交换来自RAID-5阵列304a2的较高风险存储驱动器204e和来自RAID-5阵列304a1的较低风险存储驱动器204d在RAID-5阵列304a上更均匀地分配较高风险存储驱动器204。交换之后,每个RAID-5阵列304a将包含两个较高风险存储驱动器204。交换可能发生在此示例中所示的相同RAID级别和/或不同RAID级别的RAID阵列304上。
参照图7,在某些实施例中,如果存储驱动器204的故障风险超过指定的阈值(例如百分之五十),则动作模块302可以简单地从RAID阵列304中删除存储驱动器204而无需将其置于另一个存储驱动器204中。为此,动作模块302可以将较高风险存储驱动器204与备用存储驱动器204交换。例如,如图7所示,如果较高风险存储驱动器204f发生故障的风险高于百分之五十,则动作模块302可以将数据从较高风险存储驱动器204f复制到备用存储驱动器204g,并将备用存储驱动器204g合并到RAID阵列304b中。然后可以标记较高风险的存储驱动器204f,以将其替换为新的备用存储驱动器204。
参考图8,示出了动作模块302和相关子模块的高级框图。动作模块302和相关子模块可以以硬件、软件、固件或其组合来实现。动作模块302和相关子模块通过示例而非限制的方式呈现。在不同的实施例中,可以提供更多或更少的子模块。例如,一些子模块的功能可以被组合成单个或更少数量的子模块,或者单个子模块的功能可以被分布在多个子模块上。
如图所示,动作模块302包括一个或多个统计收集模块800、故障预测模块802、阈值模块804、参数模块806、交换模块808、分配模块810、转换模块812和删除模块814。
统计收集模块800可以被配置为收集存储环境中的存储驱动器204的统计信息。例如,统计收集模块800可以被配置为收集诸如存储环境中的存储驱动器204的寿命、存储环境中的存储驱动器204的类型(例如,品牌、型号、存储容量、性能特征等)、存储驱动器204的工作负载等。使用这些统计,故障预测模块802可以预测存储环境中的存储驱动器204何时将发生故障。在某些实施例中,这表示为存储驱动器204将在指定时间段(例如一个月)内发生故障的机会百分比。例如,动作模块302可以使用统计信息来确定存储驱动器204在一个月内有百分之二十五的故障机会。
相比之下,阈值模块804可以指定一个将存储驱动器204视为较高风险存储驱动器204的阈值。例如,任何下个月发生故障风险超过百分之二十五的存储驱动器204可以被认为是较高风险存储驱动器204。相反,参数模块806可以建立与降低存储环境中数据丢失风险相关的各种参数。例如,参数可以指示某个RAID级别的RAID阵列304不包含超过一定数目的较高风险存储驱动器204。例如,参数模块806可以指示RAID-5阵列304a应当包含零个较高风险存储驱动器204,并且RAID-6阵列304b由于具有更鲁棒的数据保护,因此可以包含多达两个较高风险存储驱动器204。
动作模块302然后可以尝试强制执行参数。例如,交换模块808可以尝试在RAID-5阵列304a和RAID-6阵列304b之间交换存储驱动器204,以降低存储环境中数据丢失的风险。在某些情况下,这可能涉及将较高风险存储驱动器204从RAID-5阵列304a移至RAID-6阵列304b,以及将较低风险存储驱动器204从RAID-6阵列304b移至RAID-5阵列304a。在某些实施例中,交换模块808可以尝试将所有较高风险存储驱动器204从RAID-5阵列304a移至RAID-6阵列304b。相反,分配模块810可以尝试在特定RAID级别的RAID阵列304之间更均匀地分配较高风险存储驱动器204。例如,假设较高风险存储驱动器204不能移至RAID-6阵列304b,则分配模块810可以尝试在RAID-5阵列304a上更均匀地分布较高风险存储驱动器204。
为了进一步降低存储环境中数据丢失的风险,转换模块812可以用于将RAID阵列304从一个RAID级别转换为另一RAID级别。例如,如果对于RAID-5阵列304a而言数据丢失的风险太高并且不能以其他方式降低该风险,则转换模块812可以将RAID-5阵列304a转换为RAID-6阵列304b。最后,如果较高风险存储驱动器204发生故障的风险过高(例如,高于百分之五十),则删除模块814可以用备用存储驱动器204替换较高风险存储驱动器204并标记较高风险存储驱动器204从存储环境中删除。
图9示出了用于减少由不同RAID级别的RAID阵列组成的存储环境中数据丢失的风险的方法900的一个实施例。在某些实施例中,这种方法900可以由先前描述的动作模块302执行。在该示例中,存储环境包括RAID-5阵列304a和RAID-6阵列304b的集合,尽管方法900也可以与其他RAID级别的RAID阵列304一起使用。方法900仅仅是可以由动作模块302执行的方法的一个示例,并且不旨在进行限制。
一旦将存储驱动器204归类为较高风险存储驱动器204或较低风险存储驱动器204,方法900就可以尝试在RAID阵列304之间移动存储驱动器204或执行其他动作,以降低存储环境中数据丢失的风险。如图所示,方法900最初确定902存储环境中的任何RAID-5阵列304a是否包含较高风险存储驱动器204(例如,具有高于特定百分比的故障风险的存储驱动器204)。如果是,则方法900确定904存储环境中的任何RAID-6阵列304b是否包含较低风险存储驱动器204。如果是,则方法900尝试在RAID阵列304之间交换存储驱动器204。
更具体地说,方法900在具有最小数目的较高风险存储驱动器204的存储环境中找到906RAID-6阵列304b。方法900还找到908具有最大数目的较高风险存储驱动器204的RAID-5阵列304a。然后,方法900将RAID-5阵列304a中的较高风险存储驱动器204与RAID-6阵列304b中的较低风险存储驱动器204交换910。然后,方法900重复步骤902、904、906、908、910,直到存储环境中没有RAID-5阵列304a包含任何较高风险存储驱动器204或直到存储环境中没有RAID-6阵列304b包含较低风险存储驱动器204为止。如果在步骤902中存储环境中没有更多RAID-5阵列304a包含较高风险存储驱动器204,则方法900结束。
另一方面,如果方法900在步骤904确定存储环境中没有更多RAID-6阵列304b包含较低风险存储驱动器204(它们仅包含较高风险存储驱动器204),则然后,方法900尝试在存储环境中的RAID-5阵列304a之间分配912较高风险存储驱动器204。即,方法900试图通过在RAID-5阵列304a之间交换存储驱动器204来在存储环境中的RAID-5阵列304a之间更均匀地分配912较高风险存储驱动器204。可以执行该操作以进一步降低存储环境中数据丢失的风险。
在RAID-5阵列304a之间更均匀地分配912较高风险存储驱动器204之后,方法900可以确定913是否仍然存在一些RAID-5阵列304a包含太多较高风险存储驱动器204(例如,多于一个)。在这样的情况下,方法900可以将RAID-5阵列304a转换914为RAID-6阵列304b以降低数据丢失的风险。图10中示出了用于确定是否可以将RAID阵列转换为更鲁棒的RAID级别的方法1000的一个实施例。
类似地,方法900还可以确定916存储环境中的任何RAID-5阵列304a是否包含非常高风险存储驱动器204(例如,具有高于高阈值的故障风险的存储驱动器204)。如果是这样,则方法900可以将这些非常高风险存储驱动器204与备用存储驱动器204交换918。在执行这些动作之后,方法900结束。可以周期性或响应于某些条件来重复方法900,以减少/平衡存储环境中数据丢失的风险。
图10是示出用于确定是否可以将RAID阵列304转换为更鲁棒的RAID级别(例如,是否可以将RAID-5阵列304a转换为RAID-6阵列304b)的方法1000的一个实施例的流程图。如图所示,方法1000最初确定1002RAID阵列(例如RAID-5阵列304a)中的较高风险存储驱动器204的数目是否高于阈值(例如一个)。如果否,则方法1000阻止1012将RAID阵列304转换为更鲁棒的RAID级别。
如果在步骤1002中RAID阵列304中的较高风险存储驱动器204的数目大于阈值,则方法1000确定1004存储环境是否在RAID系统304中包含足够数目的该类型的备用存储驱动器204。如果否,则方法1000可能不能将RAID阵列304转换为更鲁棒的RAID级别,从而限制1012执行。
如果在步骤1004中,存储环境包含足够数量的备用存储驱动器204,以将RAID阵列304转换为更鲁棒的RAID级别,则方法1000可以检查其他标准。例如,假设RAID阵列304是RAID-5阵列304a并且更鲁棒的RAID级别是RAID-6,则方法1000可以确定1006对RAID-5阵列304a的降级速率是否低于阈值(例如,每秒500K I/O操作)。在某些实施例中,降级速率可以指数据从高速缓存(存储器214中)降级到RAID阵列304的速率。通常,降级到RAID-5阵列304a比降级到RAID-6阵列304b更有效。因为降级到RAID-5阵列304a需要进行四个操作(1、升级(staging)数据,2、升级奇偶校验值,3、降级数据,以及4、降级奇偶校验值),而降级到RAID-6阵列304b需要进行六个操作(1、升级数据,2、升级第一奇偶校验值,3、升级第二奇偶校验值,4、降级数据,5、降级第一奇偶校验值,6、降级第二奇偶校验值)。因此,如果与RAID-5阵列304a相关的降级速率很高,则将RAID-5阵列304a转换为RAID-6阵列304b可能会对RAID阵列的性能产生负面影响。因此,在某些实施例中,如果到RAID-5阵列304a的降级速率高于所选阈值,则方法1000可以避免1012将RAID-5阵列304a转换为RAID-6阵列304b。
如果在步骤1006中RAID阵列304的降级速率低于阈值,则方法1000确定1008RAID阵列304是否与高性能类别相关联。这样的高性能类别可以与高性能数据相关联。如上所述,降级到RAID-6阵列304b可能比降级到RAID-5阵列304a效率低。因此,将RAID-5阵列304a转换为RAID-6阵列304b可能会损害RAID-5阵列304a上的数据的I/O性能,特别是在数据是高性能数据的情况下。因此,在某些实施例中,如果RAID阵列304与高性能类别相关联,则方法1000可以避免1012将RAID阵列304转换为更鲁棒的RAID级别。
在所示的实施例中,如果满足标准1002、1004、1006、1008中的每一个,则方法1000将RAID阵列304转换1010到更鲁棒的RAID级别,例如将RAID-5阵列304a转换成RAID-6阵列304b。所示出的标准仅通过示例而非限制的方式给出。在其他实施例中,方法1000可以包括更少、额外或不同的标准,以确定是否以及何时将某个RAID级别的RAID阵列转换为更鲁棒的RAID级别。
已经主要结合减少在由RAID-5和RAID-6阵列304组成的存储环境中数据丢失的风险来讨论了本文公开的系统和方法。然而,本文公开的系统和方法不限于此RAID-5和RAID-6阵列304,也可以与具有其他RAID级别的RAID阵列304(例如,RAID-10阵列)一起使用。因此,本文公开的系统和方法不限于RAID-5和RAID-6阵列304。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
Claims (17)
1.一种用于减少具有相同独立磁盘冗余阵列(RAID)级别的RAID中的数据丢失事件的方法,该方法包括:
在数据存储环境中,具有共同RAID级别的一组RAID;
在该组RAID中,识别故障风险高于阈值的较高风险存储驱动器和故障风险低于阈值的较低风险存储驱动器;以及
在RAID中将较高风险存储驱动器与较低风险存储驱动器交换,从而将较高风险存储驱动器更均匀地分配到RAID上。
2.根据权利要求1所述的方法,其中,识别较高风险存储驱动器包括收集统计信息以识别具有较高故障风险的存储驱动器。
3.根据权利要求2所述的方法,其中,所述统计信息包括存储驱动器寿命和存储驱动器类型中的至少一项。
4.根据权利要求1所述的方法,其中,所述交换包括使用智能重建过程进行交换,所述智能重建过程使得即使数据正在被复制到存储驱动器,也能够将该存储驱动器用作备用驱动器。
5.根据权利要求1所述的方法,其中,所述故障风险表示为存储驱动器在指定时间段内将发生故障的机会百分比。
6.根据权利要求1所述的方法,其中,所述RAID级别是从包括RAID-5,RAID-6和RAID-10的组中选择的。
7.根据权利要求6所述的方法,其中,将较高风险存储驱动器更均匀地分布在所述RAID上包括:将尽可能多的相同数目的较高风险存储驱动器并入每个RAID中。
8.根据权利要求1所述的方法,还包括:
监控数据存储环境中的存储驱动器故障;
对于在数据存储环境中检测到的存储驱动器故障,报告发生存储驱动器故障的RAID类型以及由于该存储驱动器故障而导致RAID中是否发生数据丢失。
9.根据权利要求8所述的方法,其中,报告还包括报告如果将RAID类型转换为更鲁棒的RAID类型是否可以预防数据丢失。
10.根据权利要求8所述的方法,其中,报告还包括报告是否通过RAID类型预防了数据丢失。
11.根据权利要求8所述的方法,其中,报告还包括报告与存储驱动器故障相关联的存储驱动器的寿命。
12.根据权利要求8所述的方法,其中,报告还包括报告与存储驱动器故障相关联的发生故障的存储驱动器的数目。
13.根据权利要求8所述的方法,其中,报告还包括报告与存储驱动器故障相关联的发生故障的存储驱动器的类型。
14.根据权利要求8所述的方法,其中,报告还包括针对在数据存储环境中检测到的每个存储驱动器故障,聚合发生存储驱动器故障的RAID类型以及由于存储驱动器故障而导致RAID中是否发生数据丢失。
15.一种用于减少具有相同独立磁盘冗余阵列(RAID)级别的RAID中的数据丢失事件的计算机程序产品,包括其中包含有计算机可用程序代码的计算机可读介质,该计算机可用程序配置为由至少一个处理器执行时执行根据权利要求1至14的任一方法的操作的代码。
16.一种用于减少具有相同独立磁盘冗余阵列(RAID)级别的RAID中的数据丢失事件的系统,该系统包括:
至少一个处理器;
至少一个存储设备,耦合到所述至少一个处理器并存储用于在所述至少一个处理器上执行的指令,所述指令使所述至少一个处理器执行根据权利要求1至14的任一方法的操作的代码。
17.一种用于减少具有相同独立磁盘冗余阵列(RAID)级别的RAID中的数据丢失事件的设备,包括执行根据权利要求1至14的任一方法的操作的装置。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/442,500 | 2019-06-15 | ||
US16/442,500 US11074118B2 (en) | 2019-06-15 | 2019-06-15 | Reporting incidents of data loss in RAID arrays |
US16/442,501 | 2019-06-15 | ||
US16/442,501 US11442826B2 (en) | 2019-06-15 | 2019-06-15 | Reducing incidents of data loss in raid arrays having the same raid level |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112084061A true CN112084061A (zh) | 2020-12-15 |
Family
ID=73734969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010512614.3A Pending CN112084061A (zh) | 2019-06-15 | 2020-06-08 | 减少相同raid级别的raid阵列中的数据丢失事件 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112084061A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050114728A1 (en) * | 2003-11-26 | 2005-05-26 | Masaki Aizawa | Disk array system and a method of avoiding failure of the disk array system |
CN102012847A (zh) * | 2010-12-06 | 2011-04-13 | 创新科存储技术有限公司 | 一种改进的磁盘阵列重建方法 |
CN102521058A (zh) * | 2011-12-01 | 2012-06-27 | 北京威视数据系统有限公司 | Raid组磁盘数据预迁移方法 |
CN103970481A (zh) * | 2013-01-29 | 2014-08-06 | 国际商业机器公司 | 重建存储器阵列的方法和装置 |
CN106933490A (zh) * | 2015-12-29 | 2017-07-07 | 伊姆西公司 | 控制对磁盘阵列进行读写操作的方法和装置 |
CN108205423A (zh) * | 2016-12-20 | 2018-06-26 | 华为技术有限公司 | 一种物理硬盘磨损均衡方法、装置及系统 |
CN108228396A (zh) * | 2016-12-21 | 2018-06-29 | 伊姆西Ip控股有限责任公司 | 用于处理驱动器的错误的方法和设备 |
US10082965B1 (en) * | 2016-06-30 | 2018-09-25 | EMC IP Holding Company LLC | Intelligent sparing of flash drives in data storage systems |
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 |
CN109542687A (zh) * | 2018-11-23 | 2019-03-29 | 新华三技术有限公司 | 一种raid级别转换方法及装置 |
-
2020
- 2020-06-08 CN CN202010512614.3A patent/CN112084061A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050114728A1 (en) * | 2003-11-26 | 2005-05-26 | Masaki Aizawa | Disk array system and a method of avoiding failure of the disk array system |
CN102012847A (zh) * | 2010-12-06 | 2011-04-13 | 创新科存储技术有限公司 | 一种改进的磁盘阵列重建方法 |
CN102521058A (zh) * | 2011-12-01 | 2012-06-27 | 北京威视数据系统有限公司 | Raid组磁盘数据预迁移方法 |
CN103970481A (zh) * | 2013-01-29 | 2014-08-06 | 国际商业机器公司 | 重建存储器阵列的方法和装置 |
CN106933490A (zh) * | 2015-12-29 | 2017-07-07 | 伊姆西公司 | 控制对磁盘阵列进行读写操作的方法和装置 |
US10082965B1 (en) * | 2016-06-30 | 2018-09-25 | EMC IP Holding Company LLC | Intelligent sparing of flash drives in data storage systems |
CN108205423A (zh) * | 2016-12-20 | 2018-06-26 | 华为技术有限公司 | 一种物理硬盘磨损均衡方法、装置及系统 |
CN108228396A (zh) * | 2016-12-21 | 2018-06-29 | 伊姆西Ip控股有限责任公司 | 用于处理驱动器的错误的方法和设备 |
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 |
CN109542687A (zh) * | 2018-11-23 | 2019-03-29 | 新华三技术有限公司 | 一种raid级别转换方法及装置 |
Non-Patent Citations (1)
Title |
---|
李振华;楼向雄;: "固态硬盘RAID阵列技术进展", 世界科技研究与发展, no. 01, pages 33 - 38 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200394112A1 (en) | Reducing incidents of data loss in raid arrays of differing raid levels | |
CN109726033B (zh) | 提供raid数据保护的方法、数据存储系统和计算机可读介质 | |
US9304860B2 (en) | Arranging data handling in a computer-implemented system in accordance with reliability ratings based on reverse predictive failure analysis in response to changes | |
Ma et al. | RAIDShield: characterizing, monitoring, and proactively protecting against disk failures | |
CN109725822B (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
US7574623B1 (en) | Method and system for rapidly recovering data from a “sick” disk in a RAID disk group | |
US9104604B2 (en) | Preventing unrecoverable errors during a disk regeneration in a disk array | |
US20080256397A1 (en) | System and Method for Network Performance Monitoring and Predictive Failure Analysis | |
JP2007265409A (ja) | コンピュータ実施方法、データ処理システム、およびコンピュータ・プログラム(アモルファスraid) | |
US20070101188A1 (en) | Method for establishing stable storage mechanism | |
CN110750213A (zh) | 一种硬盘管理方法及装置 | |
US10929037B2 (en) | Converting a RAID to a more robust RAID level | |
CN112148204A (zh) | 用于管理独立冗余盘阵列的方法、设备和计算机程序产品 | |
CN113377569A (zh) | 用于恢复数据的方法、设备和计算机程序产品 | |
CN113811862A (zh) | 存储驱动器的动态性能等级调整 | |
US11074118B2 (en) | Reporting incidents of data loss in RAID arrays | |
US11442826B2 (en) | Reducing incidents of data loss in raid arrays having the same raid level | |
CN112084060A (zh) | 减少不同raid级别的raid阵列中的数据丢失事件 | |
CN113391945B (zh) | 用于存储管理的方法、电子设备以及计算机程序产品 | |
US10768822B2 (en) | Increasing storage capacity in heterogeneous storage arrays | |
US11748196B2 (en) | Adaptive parity rotation for redundant arrays of independent disks | |
CN112084061A (zh) | 减少相同raid级别的raid阵列中的数据丢失事件 | |
CN102147714B (zh) | 一种网络存储系统的管理方法及装置 | |
JP7558208B2 (ja) | ストレージ・ドライブの動的パフォーマンス・クラス調節 | |
CN113811846B (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 |