CN103946846B - 使用虚拟驱动作为用于raid组的热备用的方法和系统 - Google Patents

使用虚拟驱动作为用于raid组的热备用的方法和系统 Download PDF

Info

Publication number
CN103946846B
CN103946846B CN201280057558.2A CN201280057558A CN103946846B CN 103946846 B CN103946846 B CN 103946846B CN 201280057558 A CN201280057558 A CN 201280057558A CN 103946846 B CN103946846 B CN 103946846B
Authority
CN
China
Prior art keywords
virtual drive
virtual
raid groups
data storage
storage device
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.)
Active
Application number
CN201280057558.2A
Other languages
English (en)
Other versions
CN103946846A (zh
Inventor
J·S·库尔卡尼
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.)
MediaTek Inc
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN103946846A publication Critical patent/CN103946846A/zh
Application granted granted Critical
Publication of CN103946846B publication Critical patent/CN103946846B/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/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/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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1057Parity-multiple bits-RAID6, i.e. RAID 6 implementations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1059Parity-single bit-RAID5, i.e. RAID 5 implementations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种方法,该方法包括识别针对第一数据存储设备的故障指示,该第一数据存储设备是存储阵列内的第一RAID组的成员。该方法还可以包括经由存储阵列外部的处理器识别被定义成包括在第二RAID组中定义的至少一个逻辑存储卷的虚拟驱动。该虚拟驱动可以被部署来充当第一RAID组内的虚拟热备用以替代第一数据存储设备。

Description

使用虚拟驱动作为用于RAID组的热备用的方法和系统
背景技术
在本说明书内公开的一个或多个实施例涉及数据存储系统。
在存储子系统中,通常将硬盘驱动(HDD)分组在一起形成独立盘冗余组(RAID)。存在常常被使用的几种类型的RAID方案。这些方案由后面跟随编号的词语“RAID”(例如,“RAID 0”、“RAID 1”、“RAID 2”、“RAID 3”等)来标识。
除了在没有奇偶校验或镜像的情况下跨多个HDD实现块级拆分的RAID 0之外,RAID是通过冗余来工作以增加存储子系统的可靠性的存储技术。例如,在RAID 1组中,通过在多个HDD上对数据进行镜像来提供容错能力。在RAID 5组中,跨多个HDD实现块级拆分,并跨多个HDD分发奇偶信息。该奇偶信息能够用来在HDD中的一个HDD出故障的情况下重新构建RAID组。因此,可用存储量等于X(n-1),其中X是在每个单独HDD上可用的存储量,并且n是RAID组中的HDD的数目。在RAID 6组中,跨多个HDD实现块级拆分,并跨多个HDD分发双奇偶校验信息。该奇偶校验信息能够用来在HDD中的两个HDD出故障的情况下重新构建RAID组。因此,可用存储量等于X(n-2)。
发明内容
在本说明书内公开的一个或多个实施例涉及使用虚拟驱动作为RAID组中的虚拟热备用(hot spare)。实施例可以包括一种方法,该方法包括识别针对第一数据存储设备的故障指示,该第一数据存储设备是存储阵列内的第一RAID组的成员。该方法还可以包括经由存储阵列外部的处理器识别虚拟驱动,该虚拟驱动被定义成包括在第二RAID组中 定义的至少一个逻辑存储卷。该虚拟驱动可以被部署来充当第一RAID组内的虚拟热备用以替代第一数据存储设备。
另一实施例可以包括一种方法,该方法包括识别针对第一数据存储设备的故障指示,该第一数据存储设备是第一存储阵列的第一RAID组的成员。该方法还可以包括经由处理器部署虚拟驱动来充当第一RAID组内的虚拟热备用以替代第一数据存储设备。该虚拟驱动可以是下述数据存储卷,该数据存储卷被定义成包括在至少第二存储阵列中的至少一个其他RAID组中定义的多个逻辑存储卷。
另一实施例可以包括一种系统。该系统可以包括被配置成发起可执行操作的处理器。这类操作可以包括在存储阵列外部识别针对第一数据存储设备的故障指示,该第一数据存储设备是存储阵列内的第一RAID组的成员。该操作还可以包括识别被定义成包括在第二RAID组中定义的至少一个逻辑存储卷的虚拟驱动,以及部署该虚拟驱动来充当第一RAID组内的虚拟热备用以替代第一数据存储设备。
另一实施例可以包括计算机程序产品。该计算机程序产品可以包括具有用其体现的计算机可读程序代码的计算机可读存储介质。该计算机可读程序代码可以被配置成执行在本说明书内公开的各种操作和/或功能。
附图说明
图1是示出根据本发明的一个实施例的云计算节点的处理系统/服务器的框图。
图2描绘了根据本发明的一个实施例的云计算环境。
图3描绘了由根据本发明的一个实施例的云计算环境提供的功能抽象层。
图4描绘了根据本发明的一个实施例的存储系统。
图5描绘了根据本发明的一个实施例的存储阵列。
图6描绘了根据本发明的一个实施例的跨各RAID组定义的逻辑存储卷到虚拟驱动的分配。
图7是示出根据本发明的另一实施例的方法的流程图。
具体实施方式
首先应当明白,尽管本公开包括关于云计算的详细描述,但是这里所记载的教导的实现方式却不限于云计算环境。而是,本发明的实施例能够结合现在已知的或以后开发的任何其它类型的计算环境而被实现。
云计算是一种服务交付模型,用于使得能够对共享的可配置计算资源(例如网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)池进行方便、按需的网络访问。可配置计算资源能够以最小的管理成本或者最少的与服务提供者的交互而被快速供应和释放。这种云模型可以包括至少五个特征,至少三个服务模型和至少四个部署模型。
特征如下:
按需自助式服务:云消费者能够单方面自动地按需提供计算能力,诸如服务器时间和网络存储,而无需与服务提供者进行人工交互。
广泛的网络接入:能力可在网络上获取,并且是通过标准机制访问的,标准机制通过不同种类瘦客户端平台或厚客户端平台(例如,移动电话、膝上型电脑、和PDA)促进使用。
资源池:将提供者的计算资源归入资源池以使用多租户(multi-tenant)模型服务于多重消费者,不同的物理资源和虚拟资源按照需要被动态地分配和再分配。因为消费者一般不控制甚至不知道所提供的资源的确切位置,但是可能能够在较高的抽象级别上指定位置(例如国家、州或数据中心),所以有一种位置独立感。
迅速的弹性:能力能够迅速和有弹性地(有时是自动地)被提供以快速地扩展并且快速地释放以快速地缩减。对于消费者来说,可用于提供的能力常常显得是无限的,并且在任何时候都能获取任何量的能力。
可测量的服务:云系统通过利用适于服务(例如存储、处理、带宽和活动用户帐号)类型的某种抽象级别的计量能力,自动地控制和优化 资源使用。可以监测、控制和报告资源使用情况,为所利用的服务的提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如web浏览器的瘦客户端接口(例如,基于web的电子邮件)从各种客户端设备访问应用。除了可能的有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对所部署的应用具有控制权,并且对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行可以包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和所部署的应用具有控制权,并且可能对选择网络组件(例如,主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织管理,也可以由第三方管理,可以存在于组织内,也可以存在于组织外。
共同体云:云基础架构被若干个组织共享,并且支持有共同利害关系(例如,使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由多个组织或第三方管理,并且可以存在于组织内,也可以存在于组织外。公共云:云基础架构可用于公众或大型产业群,并由出售云服务的组织拥有。
混合云:云基础架构是两个或更多的云(私有云、共同体云或公共云)的合成,这些云依然是独特的实体,但是通过使数据和应用能够移 植的标准化技术或私有技术(例如,用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础结构。
现在参考图1,示出了云计算节点的示例的框图。云计算节点100仅仅是适当云计算节点的一个示例,并且并不旨在于建议关于本文所述发明的实施例的使用范围或功能的任何限制。总之,云计算节点100能够被实现和/或执行以上所述的任何功能。
这里的云计算节点100可以是处理系统/服务器110,其可与许多其他通用或专用计算系统环境或配置一起操作。可适合于与处理系统/服务器110一起使用的众所周知的计算系统、环境和/或配置的示例包括但不限于个人计算机系统、服务器计算机系统、控制节点、存储区域网(SAN)控制器,薄客户端、厚客户端、手持或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子设备、网络PC、迷你计算机系统﹑大型计算机系统和包括上述系统或设备中的任何一种的分布式云计算技术环境等。
可在由计算机系统或其他处理系统执行的诸如程序模块之类的计算机系统可执行指令的一般语境下描述处理系统/服务器110。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。处理系统/服务器110可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质上。
如图1中所示,云计算节点100中的处理系统/服务器110是以通用计算设备的形式示出的。处理系统/服务器110的部件可以包括但不限于一个或多个处理器或处理单元116(例如,一个或多个处理器或控制器)、系统存储器128以及包括系统存储器128的各种系统部件耦合到处理器116的总线118。
总线118表示几种类型的总线结构中的任一种中的一个或多个,包括存储器总线或者存储器控制器、外围总线、图形加速端口、和处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线、微通道体系结构(MAC)总线,增强型ISA(EISA)总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
处理系统/服务器110通常可包括多种计算机可读存储介质。这些介质可以是能够被处理系统/服务器110访问的任意可获得的介质,并且其包括易失性和非易失性介质,可移除的和不可移除的介质。系统存储器128可以包括易失性存储器形式的计算机可读存储介质,例如随机存取存储器(RAM)130和/或高速缓存存储器132。处理系统/服务器110可以进一步包括其它可移除/不可移除的、易失性/非易失性计算机可读存储介质。仅以示例的方式,可提供用于从和向至少一个非易失性计算机可读存储介质读取和写入的存储系统134。非易失性计算机可读存储介质的示例是存储数据的计算机可读存储设备,也可称为“数据存储设备”。计算机可读存储设备的示例能够包括但不限于包括非易失性存储介质(例如,“硬盘驱动”或HDD)、非易失性固态介质(例如,“固态驱动”或“SSD”)、非易失性磁光介质等的设备。尽管未示出,但是可以提供用于从和向可移除非易失性磁盘(例如“软盘”)进行读取和写入的磁盘驱动、用于从或向可移除非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)进行读取或写入的光盘驱动、用于从或向可移除非易失性固态驱动进行读取或写入的固态驱动。在这种情况下,可以通过一个或多个数据介质接口将每个连接到总线118,诸如光纤信道接口、串行高级技术附件(SATA)接口、光纤信道接口、小型计算机系统接口(SCSI)接口、串行附加SCSI(SAS)接口等。
存储器128可包括至少一个计算机程序产品,其包括具有用其体现的计算机可读程序代码的非易失性计算机可读存储介质。计算机可读程序代码可以包括被配置成执行本发明的实施例的功能的一组(例如,至少一个)程序模块。具有一组(至少一个)程序模块142的程序/实用工 具140,可以存储在存储器128中,这样的程序/实用工具140例如还包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据。该操作系统、一个或者多个应用程序、其它程序模块以及程序数据中的每一个或其一些组合可以包括联网环境的实现。程序模块142通常执行这里所描述的实施例中的功能和/或方法。
处理系统/服务器110也可以与一个或多个外部设备114(例如键盘、指向设备、显示器124等)通信,还可与使得用户能与处理系统/服务器110交互的一个或者多个设备通信;和/或与使得处理系统/服务器110能与一个或多个其它计算设备进行通信的任何设备(例如,网卡、调制解调器等等)通信。此类通信能够经由输入/输出(I/O)接口122发生。此外,处理系统/服务器110能够经由网络适配器120与诸如局域网(LAN)、广域网(WAN)和/或公共网络(例如,因特网)之类的一个或多个网络通信。如所述,网络适配器120能够经由总线118与处理系统/服务器110的其他部件通信。应理解的是虽然未示出,但可以与处理系统/服务器110相结合地使用其他硬件和/或软件部件。示例包括但不限于:伪代码、设备驱动器、冗余处理单元、外部盘驱动阵列、RAID系统、磁带机以及数据档案储存系统等。
现在参考图2,描绘了示例性云计算环境200。如图所示,云计算环境200包括云消费者使用的本地计算设备可以与其通信的一个或者多个云计算节点100,本地计算设备诸如例如是个人数字助理(PDA)或蜂窝电话202,台式计算机204、笔记本计算机206和/或汽车计算机系统208。节点100之间可以相互通信。可以在一个或者多个网络中将节点100进行物理或虚拟分组(未示出),该一个或多个网络诸如是私有云、共同体云、公共云或混合云或者它们的组合。这允许云计算环境200提供云的消费者无需在本地计算设备上针对其维护资源的基础架构即服务、平台即服务和/或软件即服务。应当理解,图2中所示的各类计算设备202-208仅仅是示意性的,并且计算节点100以及云计算环境200可以通过任意类型网络和/或网络可寻址连接与任意类型的计算设备(例如使用web浏览器)通信。
现在参考图3,示出了云计算环境200(图2)提供的一组300功能抽象层。首先应当理解,图3中所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如所描述的,提供了以下层和对应功能。
硬件和软件层302可以包括硬件和软件部件。硬件部件的示例包括但不限于:主机,在一个示例中为系统、基于RISC(精简指令集计算机)体系结构的服务器,在一个示例中为IBM系统;IBM系统;IBM系统;存储系统(例如,存储阵列、网络附着存储(NAS)等);以及联网部件。联网部件可以包括多种路由器、交换机、网络适配器等中的任何一个。
软件部件的示例包括网络应用服务器软件,在一个示例中为IBM 应用服务器软件、以及存储阵列控制软件,在一个示例中为IBM SAN卷控制器,其能够在IBMSVC存储引擎上执行。(IBM、zSeries、pSeries、xSeries、BladeCenter、WebSphere和DB2是在全世界各辖区内注册的国际商业机器公司的商标)。
虚拟化层304可以提供一个抽象层,从该层可以提供下列虚拟实体的示例:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
在一个示例中,管理层306可以提供下述功能。资源供应提供被用于在云计算环境中执行任务的计算资源和其它资源的动态获取。存储管理在云计算环境内管理虚拟存储,在本文中将更详细地讨论其某些方面。用户门户为消费者和系统管理员提供对云计算环境的访问。服务水平管理提供云计算资源分配和管理,使得所需的服务水平被满足。服务水平协议(SLA)计划和履行为根据SLA预测了对其的未来需求的云计算资源提供预先安排和获取。
工作负载层308可以提供可对其使用云计算环境的功能的示例。可从该层提供的工作负载和功能的示例包括:地图绘制与导航;软件开发及生命周期管理;数据分析处理;交易处理;以及数据存储/递送。
根据本文所述的实施例,存储管理器可以向存储阵列部署虚拟驱动以用作云计算环境内的虚拟热备用。在图示中,如果存在指示RAID组中的物理数据存储设备已出故障或即将要出故障的故障指示,则可以向RAID组部署虚拟驱动以充当用于该RAID组中的故障数据物理数据存储设备的虚拟热备用,同时RAID组在云计算环境中仍是活动的,并且能够将先前存储在故障数据存储设备上的数据恢复至虚拟驱动。在RAID5组中,例如,能够处理被存储到未出故障的其他数据存储设备的RAID奇偶信息和数据以将数据重新构建到虚拟驱动。以这种方式,在数据存储设备故障的情况下能够避免数据丢失。此外,在数据正被重新构建到虚拟驱动时不需要使RAID组离线。
可以将被用作虚拟热备用的虚拟驱动分配为在其中包含了故障物理存储设备的存储阵列外的逻辑存储卷。例如,可以由存储管理器或控制节点来定义虚拟驱动。
使用存储虚拟化,可以将虚拟驱动定义成包括被包含在云存储环境内的任何数目的存储阵列内的存储空间。例如,可以将虚拟驱动定义成包括被包含在其中存在故障数据存储设备的存储阵列和/或一个或多个其他存储阵列中的存储空间。在这方面,可在故障物理数据存储设备位于其中的存储阵列中包含被分配以供在虚拟驱动内使用的一些存储空间(但是并不包括至少部分地被定义在故障数据存储设备上的存储卷),并且可以在一个或多个其他存储阵列中包含一些存储空间。此外,可以在其他存储阵列中的一个或多个中包含被分配以供在虚拟驱动中使用的所有存储空间。因此,如本文所述的存储空间的虚拟化提供与在云存储环境中活动的各种RAID组一起使用的非常鲁棒且灵活的数据保护系统。
如本文所使用的术语“虚拟驱动”意指跨一个或多个存储阵列定义的数据存储卷。在图示中,虚拟驱动可以包括在一个或多个RAID组中定义的一个或多个逻辑存储卷。每个此类逻辑存储卷可以被分配逻辑单元号(LUN)。如本文所使用的术语“虚拟热备用”意指将被部署以用于代替RAID组中的物理数据存储设备(例如,HDD、SSD等)的虚拟驱 动,并且其被配置成在RAID组保持活动时及在物理上从其中安装了数据存储设备的存储柜(enclosure)中移除了物理数据存储设备之前或之后替代数据存储设备。如本文所使用的存储阵列包括一个或多个RAID组。如本文所使用的RAID组包括在包括多个物理数据存储设备的RAID配置中的多个数据储存器。
图4描述了根据本发明的一个实施例的在云计算环境中、例如在SAN中提供的存储系统400。存储系统400可以包括一个或多个控制节点402。可以使用任何适当处理系统/设备、诸如图1中所述的处理系统110来实现控制节点402。控制节点402可以接收并处理针对存储要求的客户端请求404,并作为用于这样的客户端请求404到存储系统400的网关来进行操作。控制节点402还可以响应于客户端请求404而配置要提供的存储空间的类型和量以及提供其他存储相关服务。
存储系统400还可以包括以通信的方式被链接到控制节点402的一个或多个存储管理器410、412。可以使用任何适当处理系统/设备、诸如图1中所述的处理系统110来实现存储管理器410、412。存储管理器410、412可以是IBM SAN卷控制器或者被适当地配置成执行本文所述的过程和功能的任何其他适当存储管理器。每个存储管理器410、412可以管理一个或多个存储阵列和/或NAS420、430、440、450。例如,存储管理器410可以管理存储阵列420内的多个RAID组422、424、426、存储阵列430内的多个RAID组432、434、436、438以及NAS440内的一个或多个RAID组,诸如RAID组442。同样地,存储管理器412可以管理其他存储阵列和/或NAS内的一个或多个RAID组。在这里,应注意的是每个存储阵列和/或NAS可以包括不超过其各自RAID容量的任何数目的RAID组。
每个RAID组422-426、432-438、442可以包括多个数据存储设备。每个数据存储设备可以被分配用于识别各RAID组内的数据存储设备的地址或其他适当标识符。数据存储设备可以是经由SATA控制接口而被控制的SATA驱动、经由SCSI控制接口而被控制的SCSI驱动、经由SAS控制接口而被控制的SAS驱动、经由光纤信道控制接口而被控制的 光纤信道驱动或适合于在RAID组中使用的任何其他驱动。可以将数据存储设备配置成使用多种适当协议、例如iSCI、FCOE、NAS、FC等中的任何一个进行通信。
出于说明性目的,图5描述了根据本发明的一个实施例的存储阵列430的示例。存储阵列430可以包括一个或多个RAID组432-438,其中的每一个包括相应的多个物理数据存储设备502、504、506、508。可以通过一个或多个存储控制器530、532来管理这些RAID组432-438。
RAID组432-438中的一个或多个可以具有在其中定义了存储空间的一个或多个逻辑存储卷512、514、516、518、520、522、524、526、528。可以跨相应LUN所标识的相应物理数据存储设备502-508来定义逻辑存储卷512-528。这些逻辑存储卷512-528中的一个或多个可以被分配以用作被分配给一个或多个相应虚拟驱动的存储空间。举例来说,特定虚拟驱动可以包括逻辑存储卷512、逻辑存储卷526和/或在存储阵列430外定义的一个或多个逻辑存储卷。同样地,可以将逻辑存储卷528分配给另一虚拟驱动等。逻辑存储卷512-528到虚拟驱动的分配可以在存储阵列430外部被处理。在图示中,再次参考图4,存储管理器410、412和/或控制节点402可以向各虚拟驱动分配逻辑存储卷512-528以及在其他存储阵列和/或NAS中定义的逻辑存储卷。
当故障指示指出数据存储设备已出故障或即将要出故障时,每个存储管理器410、412和/或控制节点402可以充分利用云计算(例如,云存储)的益处来向RAID组422-426、432-438、442提供保护。例如,存储管理器410、412和/或控制节点402可以使用虚拟驱动作为可用于RAID组422-426、432-438、442的虚拟热备用,如在本文中将更详细地描述的那样。
在图示中,可以定义一个或多个虚拟驱动以使用在由存储管理器410和/或控制节点402管理的存储阵列420、430和NAS440中的一个或多个中定义的逻辑存储卷。具体地,可以将跨存储阵列420、430和NAS440中的一个或多个定义的一个或多个逻辑存储卷分配给特定虚拟驱动。此外,可以将其他逻辑存储卷分配给其他虚拟驱动。
图6描绘了根据本发明的一个实施例的跨各RAID组422-426、432-438、442定义的逻辑存储卷到虚拟驱动602、604、606、608的分配。举例来说,可以将第一虚拟驱动602定义成包括在存储阵列420的RAID组422、426中定义的逻辑存储卷610、612,可以将第二虚拟驱动604定义成包括在存储阵列420的RAID组426中定义的逻辑存储卷614和在存储阵列430的RAID组434-436中定义的逻辑存储卷518、524,可以将第三虚拟驱动606定义成包括在存储阵列430的RAID组432-436中定义的逻辑存储卷514、520、526,并且可以将第四虚拟驱动608定义成包括在NAS440的RAID组442中定义的逻辑存储卷616。这些分配仅仅是出于示例性目的而提出的,并且虚拟驱动可以包括在图4的存储系统400内的任何地方定义的一个或多个逻辑存储卷中的任何一个逻辑存储卷。
虚拟驱动602-608不需要是相同大小的。在图示中,假设存储系统400(图4)包括具有不同存储容量的物理数据存储设备,例如400GB、500GB、750GB和1TB。对于每个容量水平而言,可以定义具有该存储容量的一个或多个虚拟驱动602-608。例如,可以将一个或多个虚拟驱动602-608定义成具有400GB的存储容量,可以将一个或多个虚拟驱动602-608定义成具有500GB的存储容量,可以将一个或多个虚拟驱动602-608定义成具有750GB的存储容量,并且可以将一个或多个虚拟驱动602-608定义成具有1TB的存储容量。此外,应注意的是虚拟驱动可以但不必具有与虚拟驱动将作为虚拟热备用而替代的故障物理数据存储设备相同的存储量。例如,虚拟驱动可以具有比故障物理数据存储设备更大的存储量,但是并不是虚拟驱动上的所有量都需要被使用。
此外,提供用于虚拟驱动602-608的逻辑存储卷514-526、610-616的RAID组422-426、432-438、442不必是相同类型的RAID组。例如,RAID组422-426、432-438、442中的各种RAID组可以实施不同的RAID方案(例如,RAID0、RAID1、RAID2、RAID3、RAID4、RAID5、RAID6、RAID7、RAID8、RAID9、RAID10等),但情况不必如此。此外,RAID组422-426、432-438、442中的各种RAID组可以利用不同 类型的数据存储设备(例如,光纤信道HDD或SSD、SATA HDD或SSD、SCSI HDD或SSD、SAS HDD或SSD等),但再次地,这并不是必要的。此外,跨其定义虚拟驱动602-608的RAID组422-426、432-438、442内的数据存储设备不必在针对其部署虚拟驱动602-608以充当虚拟热备用的RAID组内是相同类型的数据存储设备。例如,假设RAID组422利用光纤信道驱动,并且RAID组432-438利用SATA驱动。可以部署虚拟驱动604以充当用于RAID组422的虚拟热备用,即使RAID组422使用与RAID组432-438不同类型的驱动也是如此。
当虚拟驱动602-606使用跨各RAID组定义的多个逻辑存储卷时,RAID组422-426、432-438、442中的各RAID组每个都可以贡献被分配作为虚拟驱动602-606的总存储量的一部分。举例来说,如果将虚拟驱动606定义成具有400GB的存储容量,则RAID组432可以提供200GB的存储空间以供虚拟驱动606使用,RAID组434可以提供100GB的存储空间以供虚拟驱动606使用,并且RAID组436可以提供100GB的存储空间以供虚拟驱动606使用。在这方面,分配给虚拟驱动606的存储空间的量不必跨每个RAID组432-436都是一致的。虽然存储阵列430内的每个RAID组432-438都可以为虚拟驱动606贡献存储量,但情况不必如此。例如,RAID组432-436可以提供逻辑存储卷以供在虚拟驱动606中使用,而RAID组438并不这样做。
此外,RAID组422-426、432-438、442可以具有在其上定义的其他逻辑存储卷。例如,如果特定RAID组432具有1.6TB的总存储容量,则可以将100GB分配为用于虚拟驱动604的一部分的存储空间,可以将200GB分配为用于虚拟驱动606的一部分的存储空间,并且可以将其余的1.1TB分配给其他虚拟存储驱动和/或用于其他存储使用。
在一个实施例中,例如使用由存储管理器410(图4)或以通信的方式链接到存储管理器410的另一处理系统提供的一个或多个存储实用工具,虚拟驱动602-608可以由诸如系统管理员之类的用户来定义,并且被标识为可用作虚拟热备用。虚拟驱动602-608可以被控制节点402保持在预留池中,使得虚拟驱动602-608被只读地使能以保护虚拟驱动 602-608不被用于数据存储直至虚拟驱动602-608被分配作为虚拟热备用来使用。用户可以向特定存储阵列420、430或NAS提供此类保护,或者可以选择不提供保护,取决于虚拟驱动602-608相对于其他要求的优先级。
在另一实施例中,存储管理器410可以例如在需要时动态地定义虚拟驱动602-608,并指定虚拟驱动602-608可作为虚拟热备用来使用。在这方面,存储管理器410可以包括虚拟驱动管理模块460(图4)以定义和管理虚拟驱动。在其中控制节点402管理虚拟驱动602-608的分配的实施例中,控制节点402可以向存储管理器410传达事件以触发虚拟驱动管理模块460来创建被请求的虚拟驱动602-608。
虚拟驱动602-608可以被存储阵列和NAS420、430、440、450用作虚拟热备用以至少临时地替代存储系统400内的故障数据存储设备。如本文所使用的术语“故障存储设备”意指已出故障或者针对其存在即将发生的故障的指示的存储设备。在这方面,存储阵列和NAS420、430、440、450的存储控制器、诸如存储控制器530、532(图5)可以被配置成将数据存储设备故障事件传达至控制节点402和/或存储管理器412、412,并将控制节点402和/或存储管理器412、412的端口视作用于RAID存储管理的目标端口。
举例来说,再次参考图4,在正常操作中,RAID组422可以持续正常地运行(例如,在RAID组422内不存在故障数据存储设备)。在这种情况下,控制节点402(或存储管理器410)的一个或多个端口可以作为存储发起方被呈现给存储阵列420,在这种情况下,存储阵列420的一个或多个端口可以被呈现为存储目标。换言之,控制节点402(或存储管理器410)可以以常规方式从存储阵列420请求在RAID组422中可用的存储资源。
控制节点402(或存储管理器410)可以监视存储阵列420、430和NAS440以用于性能和故障分析。当控制节点402(或存储管理器410)识别到指示RAID组、诸如RAID组422内的数据存储设备已出故障或即将要出故障的故障指示时,控制节点402(或存储管理器410)可以生成用于触发虚拟驱动602-608被选择或创建以供用作虚拟热备用来替代故障数据存储设备的事件。这样的事件可以指示故障数据存储设备是其中的成员的存储阵列420和RAID组422、故障数据存储设备的驱动类型、故障数据存储设备的存储容量以及故障数据存储设备的地址。
响应于该事件,控制节点402(或存储管理器410)可以在云计算环境中搜索可用虚拟驱动602-608(图6),并选择至少具有与故障数据存储设备相同的存储量的虚拟驱动602-608。在这样做时,控制节点402(或存储管理器410)可以与存储系统400内的其他存储管理器450以及云计算环境内的其他存储系统的存储管理器和/或控制节点通信。然后可以提供(例如,分配和使用)所选虚拟驱动602-608来充当虚拟热备用以至少临时地替代故障数据存储设备。在另一实施例中,当存储管理器410接收到故障数据存储设备报警时,存储管理器410可以动态地创建将被部署以充当虚拟热备用的虚拟驱动602-608。例如,存储管理器可以识别存储系统400内的未使用逻辑存储卷,并将适当数目的这些未使用逻辑存储卷分配给虚拟驱动602-608。
当选择虚拟驱动602-608时,控制节点402可以忽略使用由具有故障存储设备的RAID组422提供的存储空间的虚拟驱动和/或逻辑存储卷。例如,可以将虚拟驱动602识别为不可用。当创建虚拟驱动时,可以将RAID组422排除作为将为虚拟驱动提供逻辑存储卷的潜在候选。
当例如虚拟驱动604之类的虚拟驱动被选择或创建以被部署来充当虚拟热备用时,可以评估虚拟驱动604以确定虚拟驱动604是否健全(healthy)。换言之,可以进行虚拟驱动604是否适合于用作虚拟热备用的确定。例如,可以评估RAID组432-438以确定该RAID组本身是否目前具有任何故障数据存储设备或者针对其存在即将发生的故障的指示。如果是这样,可以将虚拟驱动604识别为是不健全的,并且可以选择另一虚拟驱动。
假设虚拟驱动604是健全的,虚拟驱动604可以自动地被读/写使能并被部署来充当RAID组422内的逻辑存储卷以替代故障数据存储设备。此外,可以将故障存储设备的地址映射到虚拟驱动604。该地址可 以包括柜号和/或端口/插槽号或者适合于识别存储设备的任何其他地址。在图示中,可以为每个虚拟驱动602-608分配地址,并且控制节点402可以在逻辑上将所选和/或所创建的虚拟驱动的地址映射到故障存储设备的RAID组地址。在这方面,管理其中定义了虚拟驱动604的存储阵列/NAS的控制节点402(或存储管理器410)的一个或多个端口能够表现为针对存储阵列420的存储目标。因此,可以将控制节点402的端口既呈现为发起方又呈现为针对存储阵列420的目标。
然后,可以识别针对故障存储设备RAID组422定义的RAID类型,并且可以通过将此类数据重新构建到虚拟驱动604来恢复来自故障存储设备的数据。在执行上述过程时不必将RAID组422去激活,之后也不需要。由于本文所述的部署涉及到虚拟驱动604的使用,并且RAID组422在部署过程期间和之后能够保持活动,所以可将该虚拟驱动视为虚拟热备用。
可预期的是在某个点处,将用新数据存储设备来替代故障数据存储设备。当向RAID组422添加新数据存储设备时,可以为新数据存储设备分配先前分配给故障数据存储设备的相同地址。此外,来自虚拟驱动604的数据被重新构建到新数据存储设备。例如,可以将来自虚拟驱动604的数据镜像到新数据存储设备,或者可以使用常规逻辑存储卷重建算法从RAID组422中的其他逻辑存储卷重新构建数据。然后可以移除先前分配给故障存储设备的地址到虚拟驱动604的地址的映射,并且可以使虚拟驱动604返回至可用虚拟驱动池。另外,虚拟驱动604可以被只读地使能。在另一实施例中,由RAID组432-438提供给虚拟驱动604的数据存储空间可以从虚拟驱动被解除分配,并被释放以供其他使用。
图7是示出根据本发明的另一实施例的方法700的流程图。在步骤702处,(例如,云存储)环境中的存储管理器或控制节点可以识别针对第一数据存储设备的故障指示,该第一数据存储设备是第一RAID组的成员。例如,管理相应存储阵列内的第一RAID组的存储控制器可以识别数据存储设备故障或即将发生的故障,并向可能在存储阵列外部的存储管理器或控制节点发送事件(例如,作为消息)。如所述,存储管 理器或控制节点可以包括执行适当计算机可读程序代码以实现本文所述过程和功能的至少一个处理器。
在步骤704处,可以搜索云计算环境以识别至少一个可用虚拟驱动,并且可以选择虚拟驱动。所选虚拟驱动可以具有与故障数据存储设备相同的存储容量或更多存储容量。在另一实施例中,当识别到故障指示时,可以自动地创建虚拟驱动。如所述,可以将虚拟驱动定义成包括来自一个或多个RAID组的逻辑存储卷。
在步骤706处,可以关于所选(或所创建)虚拟驱动是否健全而进行确定。例如,可以进行虚拟驱动是否包括来自包括故障物理存储设备或包括另一故障存储设备的RAID组的逻辑存储卷的确定,在该情况下可以将虚拟驱动识别为是不健全的。如果虚拟驱动不是健全的,则过程可以返回至步骤704,并可以选择(或创建)另一虚拟驱动。如果所选虚拟驱动是健全的,则在步骤708处,存储控制器或控制节点可以部署所选虚拟驱动来充当第一RAID组内的虚拟热备用以替代第一数据存储设备。例如,存储控制器或控制节点可以向虚拟驱动分配地址并且可以对虚拟驱动进行读/写使能。
在步骤710处,存储控制器或控制节点还可以将故障存储设备的地址映射到分配给虚拟驱动的地址。在这方面,存储管理器或控制节点可以更新存储控制器,使得存储管理器或控制节点表现为针对故障物理数据存储设备而不是故障数据存储设备本身的地址的目标。可以通过将来自存储管理器或控制节点的适当配置消息传递至存储管理器来执行这样的更新。
在步骤712处,可以将来自故障存储设备的数据重新构建到虚拟驱动。例如,RAID阵列中的存储控制器可以将数据重新构建到故障物理存储设备的地址,该地址已被映射到虚拟驱动的地址。
参考判定框714,当用另一物理数据存储设备来替代故障数据存储设备时,在步骤716处,可以将虚拟驱动的数据重新构建到替代数据存储设备。例如,存储管理器或控制节点可以更新存储控制器,使得新物理数据存储设备是用于存储设备地址的目标,并且可以从包含在RAID 组内的其他物理数据存储设备上的数据和奇偶信息重新构建数据。此外,存储管理器或控制节点可以更新存储控制器,并且可以移除物理数据存储设备地址到虚拟驱动的映射。
在步骤718处,可以使虚拟驱动返回至可用虚拟驱动池,并且可以对虚拟驱动进行只读使能。
本说明书通篇使用相同的附图标记来指示相同项目。附图中的流程图和框图示出了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系结构、功能和操作。在这点上,流程图或框图中的每个框可以代表模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。还应注意的是,在一些替代实现方式中,框中所标注的功能可以以不同于附图中所标注的顺序发生。例如,两个连续示出的框实际上可以基本上并行地被执行,或者这些框有时也可以按相反的顺序被执行,这依所涉及的功能而定。还应注意的是,框图和/或流程图图示中的每个框、以及框图和/或流程图图示中的框的组合,可以通过执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
在此使用的术语仅是为了描述特定实施例的目的,且不旨在于限制本发明。本文所使用的单数形式“一”和“该”旨在于也包括复数形式,除非上下文另外明确地指出。还将理解,当在说明书中使用时,术语“包括”和/或“包含”指明存在所述的特征、整体、步骤、操作、元件和/或组件,但不排除存在或附加一个或多个其他特征、整体、步骤、操作、元件、组件和/或其群组。
以下权利要求中的所有装置或步骤加功能元件的相应结构、材料、动作以及等效物旨在于包括用于与其他权利要求要素相结合地执行功能的任何结构、材料或动作,如具体地要求保护的那样。呈现本发明的说明是为了示出和描述的作用,但并非旨在于是穷尽的或将本发明限于所公开的形式。许多修改和变化对本领域普通技术人员来说是明显的,且不脱离本发明的范围和精神。选择和描述实施例是为了最佳地解释本 发明的原理和实际应用,并使得本领域其他普通技术人员能够针对适于所考虑的特定用途的具有各种修改的各种实施例来理解本发明。

Claims (23)

1.一种使用虚拟驱动作为RAID组中的虚拟热备用的方法,包括:
识别针对第一数据存储设备的故障指示,所述第一数据存储设备是存储阵列内的第一RAID组的成员;
经由所述存储阵列外部的处理器来识别虚拟驱动,所述虚拟驱动被定义成包括在第二RAID组中定义的至少一个第一逻辑存储卷;
确定所述虚拟驱动是否健全;以及
部署所述虚拟驱动来充当所述第一RAID组内的虚拟热备用以替代所述第一数据存储设备,其中,部署所述虚拟驱动来充当所述第一RAID组内的虚拟热备用包含只有在所述虚拟驱动健全的情况下才部署所述虚拟驱动。
2.权利要求1所述的方法,其中部署所述虚拟驱动来充当所述第一RAID组内的所述虚拟热备用包括:
向所述虚拟驱动分配地址;
所述方法还包括:
将所述第一数据存储设备的地址映射到被分配给所述虚拟驱动的所述地址。
3.权利要求1所述的方法,其中:
所述虚拟驱动被定义成包括在至少第三RAID组中定义的至少一个第二逻辑存储卷,其中所述第一逻辑存储卷和所述第二逻辑存储卷中的每一个逻辑存储卷贡献被分配给所述虚拟驱动的总存储量的相应的一部分。
4.权利要求1所述的方法,其中:
经由第一类型的控制接口来控制所述第一数据存储设备;以及
经由不同于所述第一类型的控制接口的第二类型的控制接口来控制所述第二RAID组中的至少第二数据存储设备。
5.权利要求4所述的方法,其中:
所述第一类型的控制接口是光纤信道控制接口;并且
所述第二类型的控制接口是选自由SATA控制接口、SCSI控制接口和SAS控制接口组成的组中的控制接口。
6.权利要求1所述的方法,其中确定所述虚拟驱动是否健全包括:
确定所述第二RAID组是否包括已出故障的或者针对其存在即将发生的故障的指示的第二数据存储设备。
7.权利要求1所述的方法,还包括:
响应于识别到所述故障指示而自动地定义所述虚拟驱动。
8.权利要求1所述的方法,其中:
部署所述虚拟驱动来充当所述第一RAID组内的所述虚拟热备用包括对所述虚拟驱动进行读/写使能;并且
所述虚拟驱动在所述虚拟驱动被部署之前被只读使能。
9.权利要求1所述的方法,还包括:
识别所述第一数据存储设备已经被另一数据存储设备替代的指示;以及
使所述虚拟驱动返回至可用虚拟驱动池。
10.权利要求9所述的方法,还包括:
当所述虚拟驱动被返回至所述可用虚拟驱动池时,对所述虚拟驱动进行只读使能。
11.一种使用虚拟驱动作为RAID组中的虚拟热备用的方法,包括:
识别针对第一数据存储设备的故障指示,所述第一数据存储设备是第一存储阵列的第一RAID组的成员;
确定所述虚拟驱动是否健全;以及
经由处理器部署虚拟驱动来充当所述第一RAID组内的虚拟热备用以替代所述第一数据存储设备,其中所述虚拟驱动是被定义成包括在至少第二存储阵列中的至少一个其他RAID组中定义的多个逻辑存储卷的数据存储卷,并且部署所述虚拟驱动来充当所述第一RAID组内的虚拟热备用包含只有在所述虚拟驱动健全的情况下才部署所述虚拟驱动。
12.一种使用虚拟驱动作为RAID组中的虚拟热备用的系统,包括:
被配置成识别针对第一数据存储设备的故障指示的组件,所述第一数据存储设备是存储阵列内的第一RAID组的成员;
被配置成经由存储阵列外部的处理器来识别虚拟驱动的组件,所述虚拟驱动被定义成包括在第二RAID组中定义的至少一个第一逻辑存储卷;
被配置成部署所述虚拟驱动来充当所述第一RAID组内的虚拟热备用以替代所述第一数据存储设备的组件;以及
被配置成确定所述虚拟驱动是否健全的组件;
其中,被配置成部署所述虚拟驱动来充当所述第一RAID组内的所述虚拟热备用的组件包括被配置成只有在所述虚拟驱动健全的情况下才部署所述虚拟驱动的组件。
13.权利要求12所述的系统,其中被配置成部署所述虚拟驱动来充当所述第一RAID组内的所述虚拟热备用的组件包括:
被配置成向所述虚拟驱动分配地址的组件;
所述系统还包括:
被配置成将所述第一数据存储设备的地址映射到被分配给所述虚拟驱动的所述地址的组件。
14.权利要求12所述的系统,其中:
所述虚拟驱动被定义成包括在至少第三RAID组中定义的至少一个第二逻辑存储卷,其中所述第一逻辑存储卷和所述第二逻辑存储卷中的每一个逻辑存储卷贡献被分配给所述虚拟驱动的总存储量的相应的一部分。
15.权利要求12所述的系统,其中:
经由第一类型的控制接口来控制所述第一数据存储设备;并且
经由不同于所述第一类型的控制接口的第二类型的控制接口来控制所述第二RAID组中的至少第二数据存储设备。
16.权利要求15所述的系统,其中:
所述第一类型的控制接口是光纤信道控制接口;并且
所述第二类型的控制接口是选自由SATA控制接口、SCSI控制接口和SAS控制接口组成的组中的控制接口。
17.权利要求12所述的系统,其中被配置成确定所述虚拟驱动是否健全的组件包括:
被配置成确定所述第二RAID组是否包括已出故障的或者针对其存在即将发生的故障的指示的第二数据存储设备的组件。
18.权利要求12所述的系统,还包括:
被配置成响应于识别到所述故障指示而自动地定义所述虚拟驱动的组件。
19.权利要求12所述的系统,其中:
被配置成部署所述虚拟驱动来充当所述第一RAID组内的所述虚拟热备用的组件包括被配置成对所述虚拟驱动进行读/写使能的组件;以及
所述虚拟驱动在所述虚拟驱动被部署之前被只读使能。
20.权利要求12所述的系统,还包括:
被配置成识别所述第一数据存储设备已经被另一数据存储设备替代的指示的组件;以及
被配置成使所述虚拟驱动返回至可用虚拟驱动池的组件。
21.权利要求20所述的系统,还包括:
被配置成当所述虚拟驱动被返回至所述可用虚拟驱动池时,对所述虚拟驱动进行只读使能的组件。
22.一种使用虚拟驱动作为RAID组中的虚拟热备用的系统,包括:
被配置成识别针对第一数据存储设备的故障指示的组件,所述第一数据存储设备是存储阵列的第一RAID组的成员;
被配置成确定所述虚拟驱动是否健全的组件;以及被配置成部署虚拟驱动来充当所述第一RAID组内的虚拟热备用以替代所述第一数据存储设备的组件,其中所述虚拟驱动是被定义成包括在至少第二存储阵列中的至少一个其他RAID组中定义的多个逻辑存储卷的数据存储卷,并且部署所述虚拟驱动来充当所述第一RAID组内的虚拟热备用包含只有在所述虚拟驱动健全的情况下才部署所述虚拟驱动。
23.一种使用虚拟驱动作为RAID组中的虚拟热备用的系统,包括:
处理器,被配置成发起可执行操作,包括:
在存储阵列外部识别针对第一数据存储设备的故障指示,所述第一数据存储设备是所述存储阵列内的第一RAID组的成员;
识别虚拟驱动,所述虚拟驱动被定义成包括在第二RAID组中定义的至少一个逻辑存储卷;
确定所述虚拟驱动是否健全;以及
部署所述虚拟驱动来充当所述第一RAID组内的虚拟热备用以替代所述第一数据存储设备,其中部署所述虚拟驱动来充当所述第一RAID组内的虚拟热备用包含只有在所述虚拟驱动健全的情况下才部署所述虚拟驱动。
CN201280057558.2A 2011-11-23 2012-08-17 使用虚拟驱动作为用于raid组的热备用的方法和系统 Active CN103946846B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/303,683 2011-11-23
US13/303,683 US8959389B2 (en) 2011-11-23 2011-11-23 Use of a virtual drive as a hot spare for a raid group
PCT/CN2012/080279 WO2013075519A1 (en) 2011-11-23 2012-08-17 Use of virtual drive as hot spare for raid group

Publications (2)

Publication Number Publication Date
CN103946846A CN103946846A (zh) 2014-07-23
CN103946846B true CN103946846B (zh) 2017-08-15

Family

ID=48428116

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280057558.2A Active CN103946846B (zh) 2011-11-23 2012-08-17 使用虚拟驱动作为用于raid组的热备用的方法和系统

Country Status (5)

Country Link
US (2) US8959389B2 (zh)
CN (1) CN103946846B (zh)
DE (1) DE112012004318T5 (zh)
GB (1) GB2511681B (zh)
WO (1) WO2013075519A1 (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8959389B2 (en) 2011-11-23 2015-02-17 International Business Machines Corporation Use of a virtual drive as a hot spare for a raid group
TWI507891B (zh) * 2012-03-23 2015-11-11 Egis Technology Inc 具雲端儲存空間管理功能之電子裝置、雲端儲存系統、其方法及其電腦程式產品
US8805989B2 (en) * 2012-06-25 2014-08-12 Sungard Availability Services, Lp Business continuity on cloud enterprise data centers
KR101242458B1 (ko) * 2012-09-13 2013-03-12 효성아이티엑스(주) 지능형 분산 스토리지 서비스 시스템 및 방법
US20140149787A1 (en) * 2012-11-29 2014-05-29 Lsi Corporation Method and system for copyback completion with a failed drive
DE112013006414T5 (de) * 2013-05-15 2015-10-01 Hitachi, Ltd. Computersystem und Betriebsmittelmanagementverfahren
KR20150000074A (ko) * 2013-06-21 2015-01-02 한국전자통신연구원 가상 머신 고장 디스크 복구 방법 및 장치
CN105893188B (zh) * 2014-09-30 2018-12-14 伊姆西公司 用于加速磁盘阵列的数据重构的方法和装置
JP6319043B2 (ja) * 2014-10-24 2018-05-09 株式会社デンソー エジェクタ式冷凍サイクル
US10866768B2 (en) * 2014-12-12 2020-12-15 Advanced Micro Devices, Inc. Storage location assignment at a cluster compute server
US9971621B1 (en) * 2015-02-02 2018-05-15 Amazon Technologies, Inc. Hotpooling virtual machines
CN105893181B (zh) * 2016-03-30 2019-05-28 苏州美天网络科技有限公司 云端恢复硬盘数据方法
CN105893180B (zh) * 2016-03-30 2019-02-19 苏州美天网络科技有限公司 硬盘数据采用云端进行恢复的方法
CN106411832A (zh) * 2016-03-30 2017-02-15 苏州美天网络科技有限公司 云端认证硬盘恢复方法
CN108153622B (zh) * 2016-12-06 2021-08-31 华为技术有限公司 一种故障处理的方法、装置和设备
CN113407122B (zh) * 2016-12-21 2023-08-25 伊姆西Ip控股有限责任公司 Raid重建的方法和设备
US10089026B1 (en) * 2016-12-29 2018-10-02 EMC IP Holding Company LLC Virtual drive based RAID groups
CN109426432B (zh) * 2017-08-22 2020-12-15 华为技术有限公司 独立磁盘冗余阵列的创建方法、装置及设备
US10581969B2 (en) * 2017-09-14 2020-03-03 International Business Machines Corporation Storage system using cloud based ranks as replica storage
US10721304B2 (en) 2017-09-14 2020-07-21 International Business Machines Corporation Storage system using cloud storage as a rank
US10372363B2 (en) 2017-09-14 2019-08-06 International Business Machines Corporation Thin provisioning using cloud based ranks
CN111966540B (zh) 2017-09-22 2024-03-01 成都华为技术有限公司 存储介质的管理方法、装置及可读存储介质
US10481828B2 (en) * 2017-10-10 2019-11-19 Seagate Technology, Llc Slow drive detection
JP6734251B2 (ja) 2017-11-30 2020-08-05 株式会社日立製作所 システム及びその制御方法並びにプログラム
US10733052B2 (en) 2017-12-21 2020-08-04 International Business Machines Corporation Accelerated rebuilding of storage arrays
US10783049B2 (en) * 2018-02-26 2020-09-22 International Business Machines Corporation Virtual storage drive management in a data storage system
JP6751423B2 (ja) * 2018-07-31 2020-09-02 株式会社日立製作所 ストレージ装置及びその制御方法
US10496316B1 (en) * 2018-10-31 2019-12-03 EMC IP Holding Company LLC Forming storage containers from extents having different widths within a group of storage devices
US11163497B2 (en) * 2019-07-31 2021-11-02 EMC IP Holding Company LLC Leveraging multi-channel SSD for application-optimized workload and raid optimization
CN113221937A (zh) * 2021-02-24 2021-08-06 山东万博科技股份有限公司 基于人工智能判断的应急处理系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1991734A (zh) * 2005-10-11 2007-07-04 普安科技股份有限公司 用于数据存储虚拟化子系统的池备用物
CN101256529A (zh) * 2007-02-26 2008-09-03 国际商业机器公司 管理数据阵列中的冗余的方法和系统

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2912802B2 (ja) * 1993-10-14 1999-06-28 富士通株式会社 ディスクアレイ装置の故障対処方法および装置
US5666512A (en) 1995-02-10 1997-09-09 Hewlett-Packard Company Disk array having hot spare resources and methods for using hot spare resources to store user data
US6453334B1 (en) * 1997-06-16 2002-09-17 Streamtheory, Inc. Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching
US6895467B2 (en) 2001-10-22 2005-05-17 Hewlett-Packard Development Company, L.P. System and method for atomizing storage
US8402346B2 (en) 2001-12-28 2013-03-19 Netapp, Inc. N-way parity technique for enabling recovery from up to N storage device failures
US7873700B2 (en) 2002-08-09 2011-01-18 Netapp, Inc. Multi-protocol storage appliance that provides integrated support for file and block access protocols
US7107385B2 (en) 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US7457982B2 (en) 2003-04-11 2008-11-25 Network Appliance, Inc. Writable virtual disk of read-only snapshot file objects
US7383378B1 (en) 2003-04-11 2008-06-03 Network Appliance, Inc. System and method for supporting file and block access to storage object on a storage appliance
US7958165B1 (en) 2003-11-18 2011-06-07 Unisys Corporation Converting logical aspects of common warehouse model to design elements for relational database
JP4493321B2 (ja) * 2003-11-19 2010-06-30 株式会社日立製作所 ディスクアレイ装置及びデータ退避方法
JP4634049B2 (ja) * 2004-02-04 2011-02-16 株式会社日立製作所 ディスクアレイ装置における異常通知制御
US8041888B2 (en) 2004-02-05 2011-10-18 Netapp, Inc. System and method for LUN cloning
AU2005304759B2 (en) 2004-11-05 2012-05-17 Drobo, Inc. Dynamically expandable and contractible fault-tolerant storage system permitting variously sized storage devices and method
US20080126839A1 (en) * 2006-09-19 2008-05-29 Satish Sangapu Optimized reconstruction and copyback methodology for a failed drive in the presence of a global hot spare disc
CN101414273B (zh) 2008-11-28 2010-08-11 中国移动通信集团四川有限公司 存储系统raid冗余的数据风险评估方法
US8065558B2 (en) * 2009-03-24 2011-11-22 Lsi Corporation Data volume rebuilder and methods for arranging data volumes for improved RAID reconstruction performance
US8417989B2 (en) * 2010-10-15 2013-04-09 Lsi Corporation Method and system for extra redundancy in a raid system
CN101980137B (zh) 2010-10-19 2012-05-30 成都市华为赛门铁克科技有限公司 廉价磁盘冗余阵列重构方法、装置及系统
US8959389B2 (en) 2011-11-23 2015-02-17 International Business Machines Corporation Use of a virtual drive as a hot spare for a raid group

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1991734A (zh) * 2005-10-11 2007-07-04 普安科技股份有限公司 用于数据存储虚拟化子系统的池备用物
CN101256529A (zh) * 2007-02-26 2008-09-03 国际商业机器公司 管理数据阵列中的冗余的方法和系统

Also Published As

Publication number Publication date
WO2013075519A1 (en) 2013-05-30
DE112012004318T5 (de) 2014-08-14
GB2511681A (en) 2014-09-10
US8972778B2 (en) 2015-03-03
CN103946846A (zh) 2014-07-23
US8959389B2 (en) 2015-02-17
GB201410274D0 (en) 2014-07-23
US20130132768A1 (en) 2013-05-23
GB2511681B (en) 2018-06-27
US20130132769A1 (en) 2013-05-23

Similar Documents

Publication Publication Date Title
CN103946846B (zh) 使用虚拟驱动作为用于raid组的热备用的方法和系统
US10310760B1 (en) Layering communication fabric protocols
US11581943B2 (en) Queues reserved for direct access via a user application
US10990306B1 (en) Bandwidth sharing for paired storage systems
US11567810B1 (en) Cost optimized workload placement
US11068389B2 (en) Data resiliency with heterogeneous storage
US11093146B2 (en) Automatic load rebalancing of a write group
US10831935B2 (en) Encryption management with host-side data reduction
US11438279B2 (en) Non-disruptive conversion of a clustered service from single-chassis to multi-chassis
US11941288B1 (en) Servicing write operations in a cloud-based storage system
US11263095B1 (en) Managing a data analytics pipeline
US20230185657A1 (en) Cloud-based Providing of One or More Corrective Measures for a Storage System
US11652884B2 (en) Customized hash algorithms
US20190171365A1 (en) Hybrid data tiering
US11210133B1 (en) Workload mobility between disparate execution environments
US11604583B2 (en) Policy based data tiering
US11714572B2 (en) Optimized data resiliency in a modular storage system
US11481261B1 (en) Preventing extended latency in a storage system
US20220050797A1 (en) Multi-Channel Communications Between Controllers In A Storage System
US20200257453A1 (en) Efficient Resource Upgrade
US11392555B2 (en) Cloud-based file services
US11847025B2 (en) Storage system parity based on system characteristics
US20220043577A1 (en) Synchronously Replicating Data Using Virtual Volumes
US11128448B1 (en) Quorum-aware secret sharing
CN105872031B (zh) 存储系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200828

Address after: China Taiwan Hsinchu Science Park Hsinchu city Dusing Road No. 1

Patentee after: MEDIATEK Inc.

Address before: Armank, New York, USA

Patentee before: International Business Machines Corp.