一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

减少计算存储环境中的重建时间的制作方法

2021-10-29 20:42:00 来源:中国专利 TAG:重建 减少 环境 时间 计算

减少计算存储环境中的重建时间


背景技术:
发明领域
1.本发明总体上涉及计算系统,并且更具体地涉及用于在使用计算处理器的计算存储环境中减少重建时间的各种实施例。
2.相关技术的描述
3.计算系统可以在工作场所、家中或学校中找到。计算机系统可以包括数据存储系统或磁盘存储系统,以处理和存储数据。存储系统可以包括一个或多个磁盘驱动器,这些磁盘驱动器可以配置在阵列中,例如独立磁盘冗余阵列(raid)拓扑。在raid系统中,数据以各种配置冗余存储在多个磁盘上,以便在发生硬件或软件故障时提供数据安全性。
4.随着技术领域每年呈指数增长,并且越来越多的关键数据存储在诸如raid之类的存储系统上,重建故障磁盘驱动器的需求变得越来越重要。因此,数据存储领域的进步需求非常重要。


技术实现要素:

5.提供了用于减少处理器在计算存储环境中的重建时间的各种实施例。在一个实施例中,仅作为示例,提供了一种在raid 6计算存储环境中通过处理器再次加快重建时间的方法。独立磁盘冗余阵列(raid)

6中的一个或多个磁盘驱动器故障可以通过每个条带(stripe)保持至少三个奇偶校验带(strip)并根据一个或多个磁盘驱动器故障使用至少三个奇偶校验带中的一个或多个来重建。
6.根据一个方面,提供了一种由处理器在计算系统中恢复数据的方法,包括:通过每个条带保持至少三个奇偶校验带并根据一个或多个磁盘驱动器故障使用至少三个奇偶校验带中的一个或多个在独立磁盘冗余阵列(raid)

6中重建一个或多个磁盘驱动器故障。
7.根据另一方面,提供了一种用于计算环境中的数据恢复的系统,包括:一个或多个具有可执行指令的计算机,当执行该指令时,该指令使系统:通过每个条带保持至少三个奇偶校验带并根据一个或多个磁盘驱动器故障使用至少三个奇偶校验带中的一个或多个在独立磁盘冗余阵列(raid)

6中重建一个或多个磁盘驱动器故障。
8.根据另一方面,提供了一种用于通过处理器在计算系统中恢复数据的计算机程序产品,该计算机程序产品包括具有其上存储计算机可读程序代码部分的非暂时性计算机可读存储介质,计算机可读程序代码部分包括:可执行部分,通过每个条带保持至少三个奇偶校验带并根据一个或多个磁盘驱动器故障使用至少三个奇偶校验带中的一个或多个在独立磁盘冗余阵列(raid)

6中重建一个或多个磁盘驱动器故障。
附图说明
9.现在将仅通过示例并参考以下附图来描述本发明的优选实施例:
10.图1是描绘根据本发明实施例的示例性云计算节点的框图。
11.图2是描绘根据本发明实施例的示例性云计算环境的附加框图。
12.图3是描述根据本发明实施例的抽象模型层的附加框图。
13.图4是描绘根据本发明实施例的独立磁盘冗余阵列(raid)

6拓扑中的条带的框图;
14.图5是描绘根据本发明实施例的将独立磁盘冗余阵列(raid)

6拓扑结构与增强型独立磁盘冗余阵列(raid)

6拓扑结构进行比较的框图;
15.图6是根据本发明实施例的列出磁盘故障组合和使用增强型独立磁盘冗余阵列(raid)

6重建各种磁盘故障组合的表格图;
16.图7是根据本发明实施例的列出磁盘故障组合的表格并使用增强型独立磁盘冗余阵列(raid)

6重建各种磁盘故障组合的表格图;
17.图8是描绘在可以实现本发明实施例的用于通过处理器减少计算存储环境中的重建时间的示例性方法的附加流程图;和
18.图9是描绘同样可以在其中实现本发明实施例的用于通过处理器减少计算存储环境中的重建时间的示例性方法的附加流程图。
具体实施方式
19.独立磁盘冗余阵列(“raid”)是由单个阵列控制器控制并组合以实现比单个大驱动器更高的传输速率的硬盘驱动器的阵列或组。即使由一个适配器控制多个驱动器,raid设备对于数据处理系统来说也是一个驱动器。根据配置,raid设备将通过单个硬盘驱动器提高数据处理系统的保护级别和存储容量。raid系统的主要功能是为数据处理系统增加数据的可用性、保护和存储容量。
20.raid技术通常根据特定raid分类(raid 1、2、3、4、5或6)的格式跨驱动器分布数据。特定文件的副本或部分数据可能会写入多个磁盘驱动器上的段中,这一过程称为“条带化”。通过将数据和指令存储在多个驱动器上,控制器能够将读取和写入命令并行调度到多个驱动器,从而提高了更高的数据传输速率。
21.当raid的一个磁盘出现故障时,必须重新生成来自该故障磁盘的数据,例如,使用来自该组中剩余磁盘的纠错信息进行重建。也就是说,当raid的磁盘驱动器组件出现故障时,可以重建raid以恢复数据冗余。这可以通过用备用磁盘驱动器组件替换故障磁盘驱动器组件并在备用磁盘驱动器组件上复制和/或重新生成丢失的数据来实现。理想情况下,raid将尽可能迅速地重建,以最大限度地减少另一个磁盘驱动器组件发生故障并导致永久性数据丢失的可能性。
22.当由于磁盘故障而重建raid时,由于资源竞争,读/写响应时间受到负面影响。如果将更多资源专用于重建raid,则i/o性能会受到影响。如果更多资源专用于服务i/o请求,则重建时间会延长。较长的重建时间会增加发生故障并导致永久性数据丢失的可能性。因此,在计算存储环境中,特别是在raid6拓扑中,减少重建时间(例如,更快的重建时间)对于提高计算效率至关重要。
23.在一个实施例中,仅作为示例,提供了一种同样由处理器用于在独立磁盘冗余阵列(raid)

6计算存储环境中更快重建时间的方法。raid

6中的一个或多个磁盘驱动器故障可以通过将第一个奇偶校验带分配给条带的第一部分,将第二个奇偶校验带分配给条带的
第二部分并将第三个奇偶校验带分配给整个条带,基于一个或多个故障磁盘/条带的位置,根据定义的顺序重建第一部分或第二部分。第一个奇偶校验带为p奇偶校验带,第二个奇偶校验带为p奇偶校验带,第三个奇偶校验带为q奇偶校验带。
24.首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
25.云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
26.特征包括:
27.按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
28.广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理pda)对云的使用。
29.提供者的计算资源被归入资源池并通过多租户(multi

tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
30.迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
31.可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
32.服务模型如下:
33.软件即服务(saas):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
34.平台即服务(paas):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
35.基础架构即服务(iaas):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
36.部署模型如下:
37.私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
38.共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
39.公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
40.混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
41.云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
42.现在参考图1,其中显示了根据本发明一个实施例的云计算节点的示例的示意图。图1显示的云计算节点10仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功能和使用范围带来任何限制。总之,云计算节点10能够被用来实现和/或执行以上所述的任何功能。
43.云计算节点10具有计算机系统/服务器12,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器12一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。
44.计算机系统/服务器12可以在由计算机系统执行的计算机系统/服务器可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器12可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
45.如图1所示,云计算节点10中的计算机系统/服务器12以通用计算设备的形式示出。计算机系统/服务器12的组件可包括但不限于一个或多个处理器或处理单元16、系统存储器28和将包括系统存储器28在内的各种系统组件耦合到处理器16的总线18。
46.总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。
47.计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
48.系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质(例如vcr,dvr,raid阵列,usb硬盘
驱动器,光盘记录器,闪存设备和/或任何其他用于存储和/或处理数据的数据处理和存储元件)。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd

rom,dvd

rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
49.具有一组(至少一个)程序模块42的程序/实用工具40作为示例(但不限于)可以存储在存储器28中。存储器28还可以包括操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
50.计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan)、广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器12一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
51.现在参考图2,其中显示了根据本发明一个实施例的示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(pda)或移动电话54a,台式电脑54b、笔记本电脑54c和/或汽车计算机系统54n。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这允许云的消费者无需在本地计算设备上维护资源,云计算环境50就能提供基础架构即服务、平台即服务和/或软件即服务。应当理解,图2显示的各类计算设备54a

n仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
52.现在参考图3,其中显示了根据本发明一个实施例的云计算环境50(图2)提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图3所示,提供下列层和对应功能:
53.硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机61;基于risc(精简指令集计算机)体系结构的服务器62;服务器63;刀片服务器64;存储设备65;网络和网络组件66。软件组件的例子包括:网络应用服务器软件67以及数据库软件68。
54.虚拟层70提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器71、虚拟存储72、虚拟网络73(包括虚拟私有网络)、虚拟应用和操作系统74,以及虚拟客户端75。
55.在一个示例中,管理层80可以提供下述功能:资源供应功能81:提供用于在云计算
环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能82:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能83:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能84:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(sla)计划和履行功能85:为根据sla预测的对云计算资源未来需求提供预先安排和供应。
56.工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:映射和导航91;软件开发和生命周期管理92;虚拟课堂教育交付93;数据分析处理94;交易处理95;并且,在本发明所示实施例的上下文中,各种工作负载和功能96用于减少raid 6计算存储环境中的重建时间,例如在硬件和软件层60中。此外,减少raid 6计算存储环境中的重建时间(例如在硬件和软件层60中),可以包括诸如性能工作负载分析、性能配置文件分析、重建一个或多个磁盘驱动器和其他计算存储相关功能的操作。本领域的普通技术人员将理解,用于减少raid 6计算存储环境中的重建时间的工作负载和功能96也可以与各种抽象层的其他部分结合工作,例如硬件和软件60、虚拟化70、管理80和其他工作负载90(例如数据分析处理94)中的那些,以实现本发明所示实施例的各种目的。
57.应当注意,在raid 5拓扑中,raid 5跨多个数据驱动器读取和写入数据段并且将奇偶校验写入到相同的数据磁盘。奇偶校验数据(“p”)永远不会与其保护的数据存储在同一驱动器上,从而允许并发读取和写入操作。在五驱动器raid 5配置的任何条带中,所有驱动器都包含数据信息和奇偶校验信息。如果其中一个数据驱动器发生故障,则剩余的四个数据驱动器和每个剩余的奇偶校验可用于重新生成用户数据,从而改进改进数据保护。
58.替代地,raid 6通过提供两个奇偶校验带(例如,p奇偶校验带和q奇偶校验带)来改进raid 5的数据保护,如图4所示。即,图4描绘了raid 6拓扑(具有n个驱动器),示出了在单个条带410中具有8个条带(例如,条带1

6、p奇偶校验带和q奇偶校验带)的raid6。在一个实施例中,图1

3中的组件、模块、服务、应用和/或功能中的一个或多个可以在图4中使用。此外,在与先前在图1

3中描述的相同的描述意义上,许多功能块也可以被认为是功能的“模块”。为简洁起见,在此描述的其他实施例中采用的类似元件、组件、模块、服务、应用和/或功能的重复描述被省略。
59.如块420中所示,一个或多个条带可以包括在一个或多个磁盘驱动器(“驱动器”)中,例如驱动器a

h。也就是说,raid 5和raid6都使用条带化,这意味着数据在驱动器上循环写入,例如驱动器a

h,并且每个驱动器的角色轮换,以便条带1

6、p和q分布在所有驱动器上,如描述raid 6拓扑的块420中所示。
60.在一个实施例中,raid 6拓扑是一种磁盘冗余方案,用于获得磁盘阵列的高可靠性。在n个驱动器的配置中,raid 6使用2个驱动器进行奇偶校验:p奇偶校验带(或“p奇偶校验驱动器”)和q奇偶校验带(或“q奇偶校验驱动器”)。p奇偶校验可以使用xor运算来计算并且q奇偶校验可以使用奇偶校验和reed

solomon码来计算。此外,在一个实施例中,对于raid 6中的数据保护,raid 6包括2个奇偶校验带并始终防止2次故障。p奇偶校验和q奇偶校验保护相同的条带/驱动器。每个条带具有p奇偶校验和q奇偶校验。仅作为示例,具有这种配置的raid 6设备可以被描述为具有多行和多列数据驱动器,每行和每列以奇偶校验驱动器结束。此类方法不同于仅使用单个奇偶校验带的raid 5。
61.因此,raid 6相对于raid 5的优势在于能够经受住两次磁盘故障。这样,与raid 5相比,raid 6配置提高了计算存储系统的数据百分比、存储效率和可用性(例如,99.999%的最低存储系统要求)。然而,raid 6的缺点是增加的写入开销和增加的容量开销。
62.在一个实施例中,在选择raid 6配置(条带和条带大小)时,应当考虑以下因素中的一个或多个。1)容量开销(p和q)。例如,在raid6中,当有更多条带(“n”任意数量)时,容量效率更高。这也会直接影响驱动器的耐用性。2)raid重建时间。例如,条带越多,重建故障驱动器必须读取的数据就越多。3)物理驱动器的数量。例如,条带的数量不能大于物理驱动器的数量。4)计算机存储系统所需的可靠性。例如,在raid 6中,只有三个驱动器同时发生故障,才会丢失数据。可靠性是驱动器故障率和重建时间的一个因素。硬盘容量越大,n越大(因为读取的数据越多),重建时间越长。数据丢失的概率是第一个驱动器发生故障的概率乘以在第一个驱动器的重建时间内另外两个驱动器发生故障的概率。驱动器的故障率通常使用两个指标来衡量。第一个指标是平均故障间隔时间(“mtbf”)(例如,故障是每个驱动器)。第二个指标是不可纠正的比特错误率(“uber”)(例如,每比特一个故障)。因此,在容量开销和可靠性之间存在内在的权衡。此外,重建时间是存储系统可靠性的关键因素。重建花费的时间越长,计算机系统就越容易丢失数据。
63.因此,本发明的优选实施例提供了对raid 6的增强型修改,减少了单个驱动器故障的重建时间,以及在许多情况/实例中双驱动器故障的重建时间。双驱动器重建时间是以延长修复每个条带两个故障条带所需的时间为代价的。也就是说,根据优选实施例,本发明可以在每个条带中保存三个奇偶校验带,但与三重奇偶校验raid不同,优选实施例使用两个奇偶校验带(“p”),例如p1和p2,其中p1是条带前半部分的奇偶校验,p2是条带后半部分的奇偶校验。q可能保持它在raid 6中的定义。这样修改是一个增强型raid 6,其中“增强型”的语言表示与raid 6相比使用了额外的p。
64.现在转向图5,图500描绘了raid 6拓扑结构510与增强型raid 6(例如,修改的raid 6或“raid 6p”)520的比较。如图所示,可以看到与每个功能块相关的描述信息500。在一个实施例中,图1

4中描述的组件、模块、服务、应用和/或功能中的一个或多个可以在图5中使用。为简洁起见,在此描述的其他实施例中采用的类似元件、组件、模块、服务、应用和/或功能的重复描述被省略。
65.在一个实施例中,本发明通过每个条带保持三个奇偶校验带来提供增强型raid 6(520)。与三重奇偶校验raid相比,本发明的优选实施例提供仅使用两个奇偶校验(“p”)。在一个实施例中,第一奇偶校验(例如,(“p1”)、p

条带1或奇偶校验带1)可以是条带前半部分的奇偶校验。第二奇偶校验(例如,(“p2”)、p

条带2或奇偶校验带2)可以是条带后半部分的奇偶校验。q是raid 6中定义的所有数据条带上的reed

solomon。因此,增强型raid 6,例如增强型raid 6(520),添加的p表示与raid 6相比使用的额外p。因此,可以假设增强型raid 6(例如增强型raid 6(520))的成本是重建驱动器所需的读取次数的一个因素。
66.更具体地,在图5中,上面一行是传统的raid 6,例如raid6(510),其中n为10并且开销等于20%(例如,2/10)。下面一行是增强型raid 6,例如增强型raid 6(520),其中n等于15,具有20%的相同开销(例如,3/15)。为了说明和比较,该解决方案通过有意选择一个示例来与等效开销进行比较,以比较增强型raid 6(520)与非增强型raid 6(510)的重建时间。术语“p

条带”用于指示由单个奇偶校验(“p”)驱动器覆盖的条带的选定部分,例如p1覆
盖条带的第一部分或第一p

条带和/或p2覆盖条带的第二部分或第二p

条带。一个p

条带包含(n

1)/2个条带,其中一个是p,而(n

1)/2

1是数据。
67.需要注意的是,raid 6(510)的核心结构保留在增强型raid6(520)中,因为p等于p1异或函数p2(例如,),其可用于执行任何raid 6重建。因此,增强型raid 6(520)的优点可包括以下各项。1)任何条带(q除外)中的单个故障都可以更快地重建,因为必须重建一个p

条带。2)双重故障的可能性降低了,因为同一条带中的两个故障(单独的p

条带)现在只是增强型raid 6(520)中的单个故障。双重故障只有在同一个p

条带有两个故障或一个p

条带有一个错误而q有一个错误时才会发生。3)三个驱动器故障时丢失的数据量低于非增强型raid 6(510),因为只有当来自同一p

条带的三个条带,或来自同一p

条带的两个条带和来自q的条带丢失时,数据才会丢失。
68.使用以上示例(例如,n等于8 2与n等于12 3相比),增强型raid 6(520)中单个故障的重建时间仅为非增强型raid 6(510)的80%。应该注意的是,尽管示例都讨论了每条带2个p

条带的情况,但是本发明可以适用于每条带任何数量的p

条带。因此,如本文所示,增强型raid 6(520)中的每个p

条带都变成raid 5配置。例如,增强型raid 6(520)具有raid 5配置,因为p1覆盖条带中的第一部分或第一个p

条带,以及第二个raid 5配置,因为p2覆盖条带中的第二部分或第二个p

条带,这在重建表600中进一步说明。
69.现在转向图6,表600描绘了使用增强型raid 6(例如图5的增强型raid 6(520))的磁盘故障组合列表磁盘和重建各种磁盘故障组合。在一个实施例中,图1

5描述的组件、模块、服务、应用和/或功能中的一个或多个可以在图6中使用。为简洁起见,省略了在此描述的其他实施例。
70.具体地,表600示出了特定故障驱动器的驱动器故障、损坏的带和重建顺序。例如,表600图示了增强型raid 6(520)拓扑的重建操作。表600描述了根据定义的顺序重建的可能驱动器故障的每种组合。为了进一步说明,表600中使用了以下定义。“d{i}”表示来自p

条带的数据条i∈{1,2}。q是q奇偶校验带。“dp{i}”是来自p

条带的数据或p奇偶校验带i∈{1,2}。“p{i}”是p

条带的奇偶校验i∈{1,2}。
[0071]“p”是条带的奇偶校验,等于p1和p2的异或(例如,不存储p)。因此,表600列出了所有可能的故障组合并指定了该特定驱动器故障的重建类型。应该注意的是,在表600中,任何仅涉及p

条带1(例如,d1和p1)的情况都与p

条带2同等相关。
[0072]
例如,对于单个驱动器故障,如果损坏的条带是d1,则重建是重建raid 5的p

条带1。或者,如果更正的条带是p1,则重建是重建raid 5的p

条带1。
[0073]
对于两个驱动器故障,如果损坏的条带是dp1和q,则重建是重建raid 5的p或d的p

条带1并重建raid 6中的q的条带。如果损坏的条带是dp1(例如,奇偶校验中的“dp1”数据)和dp2,则重建raid 5的两个p

条带。如果损坏的条带是p1和d1,则重建是从条带中的其他d和q重建d1,并从特定p

条带中的d重建p1。或者,如果有两个损坏的条带(例如,2乘以d1),p是通过对p1和p2进行异或计算(例如,p1 xor p2),并且使用raid 6使用p、q和d重建条带。
[0074]
对于三个驱动器故障,如果存在多个损坏的条带(例如,3乘以dl),则p

条带1丢失。如果有多个损坏的条带(例如,3乘以d1)或q和两个损坏的条带(例如,2乘以d1),p

条带1丢失或q可能会根据d2重新计算并可能重写p1以进行重建。如果有多个损坏的条带(例如,
2乘以dp1和dp2,则重建raid 5的p

条带2并重建raid 6的p

条带1。如果损坏的文件是q和dp1(例如,在p

条带1中的任何地方)和dp2(例如,在p

条带2中的任何地方),raid 5的p

条带1重建,raid 5的p

条带2重建,raid 6的q

条带重建。
[0075]
重建顺序(重建的最佳顺序)
[0076]
因此,由于raid中的条带化,当驱动器发生故障时,将存在表600中的情形的组合。表600说明了不同raid配置的重建时间。例如,在非增强型raid 6(510)中,重建操作是先重建有两个故障的条带,然后修复只有一个故障的条带。然而,如表600所示,增强型raid6520拓扑描述了更多组合。因此,增强型raid 6重建的首选/最佳顺序如下。对于3个驱动器故障,每个p

条带中的q和一个dp被重建。对于2个驱动器故障,1)重建q和一个dp(处理丢失q和一个dp的情况),和/或2)重建来自同一p

条带的dp。对于一个驱动器故障,重建q和/或重建dp。即不同raid配置的重建时间可能如下。1)3个故障

a)q和每个p

条带中的一个dp,和/或b)一个p

条带中的2个dp和另一个p

条带中的一个。2)2个故障一a)q和一个dp,和/或b)来自同一p

条带的2个dp。1)1个故障

a)q和/或b)dp。应当注意,“a)”和“b)”选项是条带的不同情况或“状态”。以上所有状态都可能有条带。
[0077]
重建时间
[0078]
应当注意,关于重建时间,非增强型raid 6(510)和增强型raid6(520)之间的比较取决于raid条带的大小。如前所述,执行非增强型raid 6(510)和增强型raid 6(520)之间的比较,使得raid开销相等(例如,对于非增强型raid 6(510),n等于8 2,对于增强型raid6(520),n等于12 3)。
[0079]
因此,对于单个故障,增强型raid 6(520)将仅重建一个p

条带。与使用上述示例的非增强型raid 6(510)相比,这导致重建时间缩短了20%。对于双重故障,需要进行权衡。增强型raid 6(520)在有很多驱动器时具有较短的总重建时间,但在驱动器较少时具有较长的重建时间。这是因为两个故障驻留在同一p

条带中的机会减少了。
[0080]
此外,另一个折衷是在增强型raid 6(520)中仅重建出现两次故障的条带的时间更长。因此,图7的表700提供了增强型raid 6(520)的不同配置(其中n等于12 3)与非增强型raid 6(510)(其中n等于8 2)相比的示例性样本重建时间)。
[0081]
三重故障丢失的数据量
[0082]
在一个实施例中,当由于两个原因而出现三重故障时,增强型raid 6(520)丢失的数据比raid 6(510)少。首先,与raid 6(510)不同,增强型raid 6(520)条带在出现三个故障时并不总是丢失数据。其次,当出现三重故障时,增强型raid 6(520)中只会丢失一个p

条带。
[0083]
性能
[0084]
应当注意,增强型raid 6(520)(其中n等于12 3)与非增强型raid 6(510)(其中n等于8 2)之间的性能是相同的。在一个实施例中,顺序写入具有相同的吞吐量(对于相等开销的配置)。此外,每秒输入/输出操作(“iops”)是相等的,因为随机写入仍然需要读取和写入p和q。
[0085]
现在转向图8,描绘用于减少计算环境中的重建时间的示例性方法的附加流程图800,在该方法中同样可以实现本发明的各种实施例。在一个实施例中,图1

7中描述的组件、模块、服务、应用和/或功能中的一个或多个可以在图8中使用。功能800可以被实现为作
为机器上的指令执行的方法,其中指令包含在至少一种计算机可读介质或一种非暂时性机器可读存储介质上。功能800可以在块802中开始。
[0086]
独立磁盘冗余阵列(raid)

6中的一个或多个磁盘驱动器故障可以通过每个条带保留至少三个奇偶校验带,同时仅使用三个奇偶校验带中的两个奇偶校验带在raid 6中重建一个或多个驱动器故障,如块804。也就是说,所有3个奇偶校验带都被使用,但根据一个或多个损坏条的位置在不同情况下使用。此外,如果损坏的条带dp1、dp2和q出现故障,则将使用所有三个奇偶校验带。功能800可以结束,如在块806中。
[0087]
现在转向图9,描绘用于减少计算环境中的重建时间的示例性方法的附加流程图900,在该方法中同样可以实现本发明的各种实施例。在一个实施例中,图1

7中描述的组件、模块、服务、应用和/或功能中的一个或多个可以在图9中使用。功能900可以被实现为作为机器上的指令执行的方法,其中指令被包括在至少一个计算机可读介质或一个非暂时性机器可读存储介质上。功能900可以在块902中开始。
[0088]
n个奇偶校验带的第一奇偶校验带(其中n可以是正整数或定义的值)可以在raid 6存储系统中的条带的第一奇偶校验条带中使用/保持,如在块904中。n个奇偶校验带中的第二奇偶校验带可以在raid 6存储系统中的条带的第二奇偶校验条带中使用/保持,如块906。n个奇偶校验带中的第三个奇偶校验带可以在raid 6存储系统中的条带的末端使用/保持,如块908。可以确定/检测raid 6存储系统的一个或多个条带中的一个或多个磁盘驱动器故障,如块910。具有一个或多个磁盘驱动器故障并且与第一奇偶校验带、第二奇偶校验带或其组合相关联的一个或多个条带可以根据定义的重建顺序来构建,如在块912中。功能900可以结束,如在块914中。
[0089]
在一个实施例中,结合图8

9的至少一个框和/或作为其一部分,方法800和/或900的操作可以包括以下中的每一个。方法800和/或900的操作可以使用/保持条带的第一奇偶校验条带中的n个三个奇偶校验带(例如,至少3个奇偶校验带)中的第一奇偶校验带,使用/保持条带的第二奇偶校验条带中的n个三个奇偶校验带的第二奇偶校验带,和/或在条带的末端使用/保持n个三个奇偶校验带的第三奇偶校验带。第一奇偶校验带是第一奇偶校验条带的p奇偶校验带,第二奇偶校验带是p奇偶校验带,第三奇偶校验带是整个带的q奇偶校验带。
[0090]
方法800和/或900的操作可以重建具有单个磁盘驱动器故障并与n个三个奇偶校验带中的第一个奇偶校验带相关联的条带的选定部分,和/或根据定义的重建顺序重建具有一个或多个磁盘驱动器故障并与n个三个奇偶校验带中的一个或多个相关联的条带。
[0091]
方法800和/或900的操作可以在发生单个磁盘驱动器故障时为单个磁盘故障重建q奇偶校验带、数据带或单个奇偶校验带;在发生至少两个磁盘驱动器故障时重建q奇偶校验带和数据带,或单个奇偶校验带,或至少两个数据带,或出现在与两个奇偶校验带中的一个或多个相关联的类似p

条带中的奇偶校验带,和/或在发生至少三个或更多磁盘驱动器故障时,在与两个奇偶校验带相关联的条带的每个部分中重建q奇偶校验带和数据带。
[0092]
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0093]
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是——但不限于——电存储设备、磁存储设备、光存储
设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd

rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0094]
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0095]
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言

诸如smalltalk、c 等,以及过程式编程语言

诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络

包括局域网(lan)或广域网(wan)

连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
[0096]
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0097]
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0098]
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的
指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0099]
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜