存储系统及数据管理方法

文档序号:9240001阅读:348来源:国知局
存储系统及数据管理方法
【技术领域】
[0001]本发明涉及通过多个存储装置构成RAID (Redundant Array of IndependentDisks:独立磁盘冗余阵列)组的存储系统,优选适用于对RAID组中的数据进行管理的存储系统及数据管理方法。
【背景技术】
[0002]以往,通过存储系统中的多个存储装置构成RAID (Redundant Array ofIndependent Disks)组,并将基于RAID组而生成的逻辑卷向上级装置(例如主机计算机)提供。
[0003]作为与RAID有关的技术,在专利文献I中公开有与分散式RAID有关的技术。分散式RAID是指,使包含常规数据和用于复原常规数据的冗余数据的条带(stripe)列分散到向容量池提供存储区域的多个存储装置来进行管理的技术。
[0004]现有技术文献
[0005]专利文献
[0006]专利文献1:美国专利申请公开第2010/0107003号说明书

【发明内容】

[0007]在普通的存储装置中,在构成存储冗余数据的RAID组的某一存储装置发生故障的情况下,使用冗余数据等对保存在发生了故障的存储装置中的数据进行复原(重建:rebuild)。近年来,随着存储装置不断大容量化,存在重建所需的时间变得长时间化的问题。在专利文献I中,公开了分散于向容量池提供存储区域的多个存储装置来进行管理的技术。根据专利文献1,通过使重建负荷分散而能够缩短重建所需的时间。
[0008]但是,在发生对于容量池内的驱动器而超过冗余度(例如RAIDl的情况下为1,RAID6的情况下为2)的故障的情况下,数据丢失区域波及到与容量池对应的虚拟卷整体,存在从备份数据的恢复时间变得长时间化的问题。作为解决该问题的简单方法,考虑通过将池分割为多个而将数据丢失带来的影响局部化的方法,但存在导致主机I/O的负荷分散性和重建的负荷分散性降低的问题。
[0009]本发明是考虑到以上方面而研发的,提供一种能够将数据丢失带来的影响局部化,并防止主机I/o的负荷分散性和重建的负荷分散性降低的存储系统及数据管理方法。
[0010]为了解决上述技术课题,在本发明中提供一种存储装置,经由网络与请求数据的输入输出的主机计算机连接,其特征在于,具有:多个存储设备;和控制部,其将上述多个存储设备的规定的存储区域作为包含一个以上的虚拟卷的虚拟卷组而向上述主机计算机提供,上述控制部由上述多个存储设备构成一个以上的数据组,该数据组具有一个以上的冗余度,上述控制部将包含上述多个数据组的存储池的存储区域向上述虚拟卷的存储区域的一部分提供,将构成向上述虚拟卷分配的上述数据组的上述存储设备的组合限定为两个以上的固定数量的组合,将以上述固定数量的组合出现的上述存储设备均等地分散于上述存储池内的存储区域,并以上述虚拟卷组为单位使用向上述虚拟卷分配的上述存储设备的固定数量的不同组合。
[0011]根据上述结构,将构成向虚拟卷分配的页的驱动器的组合限定为两个以上的固定数量的组合(以下将该量表述为C),且定义成将该驱动器的组合均等分散于池内的驱动器。而且,按每个虚拟卷或每个虚拟卷的集合,使用不同组合(个数c相同)。
[0012]例如,对于R个物理奇偶校验组(PPG),设置与其对应的虚拟的R个虚拟奇偶校验组(VPG)。在虚拟奇偶校验组(VPG)中,以c个的循环实施固定模式(驱动器的组合为c种、c种下的平均每个驱动器的累计包裹配置量为Ceiling(C/R)以下,按每个虚拟奇偶校验组(VPG)随机改变c种驱动器组合(共计R种))的数据配置。而且,虚拟卷基于决定的优先度,对特定的虚拟奇偶校验组(VPG)优先分配页。
[0013]由此,能够维持主机I/O负荷、进而重建负荷的均衡,且能够将数据丢失区域局部化于特定的虚拟卷。
[0014]发明效果
[0015]根据本发明,能够将数据丢失的影响局部化,防止主机I/O和重建的负荷分散性的降低,从而提高存储系统整体的可用性。
【附图说明】
[0016]图1是说明本发明的第I实施方式的计算机系统的概要的概念图。
[0017]图2是表示该实施方式的计算机系统的逻辑结构的概念图。
[0018]图3是表示该实施方式的驱动器的数据结构的概念图。
[0019]图4是表示该实施方式的数据映射构造的概念图。
[0020]图5是表示该实施方式的数据映射构造的概念图。
[0021]图6是表示该实施方式的共享存储器的内容的框图。
[0022]图7是表示该实施方式的本地存储器的内容的框图。
[0023]图8是表不该实施方式的池管理表的一例的图表。
[0024]图9是表不该实施方式的虚拟备用管理表的一例的图表。
[0025]图10是表不该实施方式的驱动器状态表的一例的图表。
[0026]图11是表不该实施方式的高速缓冲管理表的一例的图表。
[0027]图12是表不该实施方式的页映射表的一例的图表。
[0028]图13是表不该实施方式的优先度表的一例的图表。
[0029]图14A是表不该实施方式的数据映射表的一例的图表。
[0030]图14B是表不该实施方式的数据映射表的一例的图表。
[0031]图15是表不该实施方式的SEED表的一例的图表。
[0032]图16是表示该实施方式的预读执行驱动器目录表的一例的图表。
[0033]图17A是表不该实施方式的备用转换表的一例的图表。
[0034]图17B是表不该实施方式的备用转换表的一例的图表。
[0035]图18是表示该实施方式的主机I/O处理的流程的流程图。
[0036]图19是表示该实施方式的集写处理的流程的流程图。
[0037]图20是表示该实施方式的页转换处理的流程的流程图。
[0038]图21是表示该实施方式的LP转换处理的流程的流程图。
[0039]图22是表示该实施方式的PL转换处理的流程的流程图。
[0040]图23是表示该实施方式的VP/PV转换处理的流程的流程图。
[0041]图24A是表示该实施方式的备用转换处理的流程的流程图。
[0042]图24B是表示该实施方式的备用逆转换处理的流程的流程图。
[0043]图25是表示该实施方式的包裹映射表生成处理的流程的流程图。
[0044]图26是表示该实施方式的备用映射表生成处理的流程的流程图。
[0045]图27是表示该实施方式的重建处理的流程的流程图。
[0046]图28是表示该实施方式的复原对象的数据预读处理的流程的流程图。
[0047]图29A是表示该实施方式的数据映射的例子的概念图。
[0048]图29B是表示该实施方式的数据映射的例子的概念图。
[0049]图29C是表示该实施方式的数据映射的例子的概念图。
[0050]图30是表示本发明的第2实施方式的计算机系统的共享存储器及本地存储器的内容的框图。
[0051]图31是表不该实施方式的DG互换指针表的内容的图表。
[0052]图32是表示该实施方式的PPG增设处理的流程的流程图。
[0053]图33是表示该实施方式的PPG减设处理的流程的流程图。
[0054]图34是表示该实施方式的VP/PV转换处理的流程的流程图。
[0055]图35是表示该实施方式的包裹再均衡处理的流程的流程图。
[0056]图36是表示该实施方式的数据互换处理的流程的流程图。
[0057]图37是表示该实施方式的增设时包裹变更映射确定处理的流程的流程图。
[0058]图38是表示该实施方式的减设时包裹变更映射确定处理的流程的流程图。
[0059]图39是表示该实施方式的页再均衡处理的流程的流程图。
[0060]图40A是表示该实施方式的增设时的包裹映射的变形例的概念图。
[0061]图40B是表示该实施方式的减设时的包裹映射的变形例的概念图。
【具体实施方式】
[0062]关于以下附图,详细说明本发明的一个实施方式。
[0063]此外,以下说明的实施方式不限定权利要求书所涉及的发明,另外在实施方式中说明的各要素及其组合不必全部为发明的解决方案所必须的。
[0064]此外,在以下说明中,存在用“aaa表”的表述来说明各种信息的情况,但各种信息也可以用表以外的数据构造来表述。也能够为了表示不依存于数据构造这一情况而将“aaa表”称作“aaa信息”。
[0065]另外,在以下说明中,存在以“程序”为主语来说明处理的情况,但程序由处理器(例如CPU (Central Processing Unit))执行,从而一边适当地使用存储资源(例如存储器)及/或通信接口设备(例如端口)一边进行已决定的处理,因此处理的主语也可以是程序。以程序为主语而说明的处理可以是处理器或具有该处理器的计算机(例如,管理计算机、主机计算机、存储装置等)所进行的处理。另外,控制器可以是处理器自身,也可以包含进行控制器所执行的处理的一部分或全部的硬件电路。程序可以从程序源安装到各控制器中。程序源可以是例如程序分发服务器或存储介质。
[0066](I)第I实施方式
[0067](1-1)计算机系统的概要
[0068]参照图1,说明包含存储系统的计算机系统的概要。如图1所示,存储系统例如由上级存储装置(第2存储装置)100构成。另外,存储系统可以包含作为第I存储装置的一例的外部存储装置40。
[0069]在上级存储装置100的DKU160中,具有多个作为第I存储装置的一例的下级存储装置180。上级存储装置100对由多个下级存储装置180的存储区域构成的容量池(以下称作池)进行管理。另外,上级存储装置100使用池的区域来构成RAID组。S卩,上级存储装置100使用构成池的区域的多个下级存储装置180来构成作为多个虚拟的RAID组的虚拟奇偶校验组(VPG)。
[0070]虚拟奇偶校验组的存储区域由多个子存储区域列构成。各子存储区域列横跨构成虚拟奇偶校验组的多个存储装置(下级存储装置及/或外部存储装置),由与多个存储装置对应的多个子存储区域构成。在此,将一个子存储区域称作“条带”,将由多个条带构成的一列称作“条带列”。通过多个条带列而构成RAID组的存储区域。
[0071]在RAID中存在若干级别(以下称作“RAID级别”)。例如,在RAID5中,由与RAID5对应的主机计算机指定的写对象的数据被分割成规定尺寸的数据(以下,为了便于说明而称作“数据单位”),各数据单位被分割为多个数据要素,多个数据要素被写入到多个条带中。另外,在RAID5中,为了对由于存储装置发生故障而无法从该存储装置读出的数据要素进行重建,针对各数据单位,生成被称作“奇偶校验位”的冗余的信息(以下,“冗余码”),并将该冗余码也写入到同一条带列的条带中。例如,在构成RAID组的存储装置的数量为4的情况下,在与其中的三个存储装置对应的三个条带中,写入构成数据单位的三个数据要素,并在与剩余一个存储装置对应的条带中写入冗余码。以下,在不区分数据要素和冗余码的情况下,有时也将两者分别称作条带数据要素。
[0072]另外,在RAID6中,在由于构成RAID组的多个存储装置中的两个存储装置发生故障等原因而导致无法读出构成数据单位的多个数据要素中的两个数据要素的情况下,为了能够将这两个数据要素复原,对各数据单位生成两种冗余码(称作P奇偶校验位、Q奇偶校验位),并将各个冗余码写入到同一条带列的条带中。
[0073]另外,作为上述说明以外的RAID级别,例如,也存在RAIDl?4。另外,作为数据的冗余化技术,也存在三重镜像(Triplicat1n)、使用三个奇偶校验位的三重奇偶校验技术等。另外,关于冗余码的生成技术,也存在使用伽罗瓦运算的Reed-solomon码、EVEN-ODD等各种技术。在本实施方式中,主要说明RAID5、6,但其不限定本发明,能够通过置换而应用上述的方法。
[0074]上级存储装置100在下级存储装置180中的某一下级存储装置180发生故障的情况下,例如,通过以下所示的处理,将发生故障的存储装置180所保存的数据要素复原。
[0075]作为第I处理,微处理器(图中标记为MP) 121将用于复原发生故障的下级存储装置180所保存的数据要素而需要的数据(例如,其他数据要素及奇偶校验位)从保存该数据的多个下级存储装置180获取,并经由接口设备(例如,BEPK140)的传输缓存器142而保存到高速缓冲存储器(CM) 131中。然后,通过BEPK140的奇偶校验运算器141,基于高速缓冲存储器(CM) 131的数据对数据要素进行复原,并将该数据要素保存到规定的下级存储装置180中。
[0076](1-2)计算机系统的硬件结构
[0077]接下来,说明计算机系统的硬件结构。如图1所示,计算机系统包含一台以上的主机计算机(以下,称作主机)10、管理服务器20和上级存储装置100。主机计算机10、管理服务器20和上级存储装置100经由网络30而连接。网络30可以是局域网,也可以是广域网。另外,可以在上级存储装置100上连接一个以上的外部存储装置40。外部存储装置40包含一个以上的存储设备。存储设备是非易失性的存储介质,例如,是磁盘、闪存器、其他半导体存储器。
[0078]主机10是例如执行应用程序的计算机,从上级存储装置100读出利用于应用程序的数据,或向上级存储装置100写入由应用程序生成的数据。
[0079]管理服务器20是用于根据管理者的输入而执行对计算机系统进行管理的管理处理的计算机。管理服务器20设定成,通过管理者对输入设备的操作,受理在复原数据时执行的数据复原处理的种类的设定,并使上级存储装置100执行所受理的数据复原处理。
[0080]上级存储装置100具有:一个以上的前端封装(FEPK) 110、维护接口(维护I/F) 115、一个以上的微处理器封装(MPPK) 120、一个以上的高速缓冲存储器封装(CMPK) 130、一个以上的后端封装(BEPK) 140、内部网络150、和一个以上的盘单元(DKU) 160。FEPK110、维护I/F115、MPPK120, CMPK130及BEPK140经由内部网络150而连接。BEPK140经由多条系统的总线而与DKU160连接。
[0081]FEPKl 10是接口设备的一例,具有一个以上的端口 111。端口 111将上级存储装置100经由网络30等与各种装置连接。维护I/F115是用于将上级存储装置100与管理服务器20连接的接口。
[0082]MPPK120具有作为第I控制设备的一例的微处理器(MP) 121、和本地存储器(LM) 122。本地存储器122存储各种程序和各种信息。微处理器121执行保存在本地存储器122中的程序而执行各种处理。微处理器121经由BEPK140而将各种指令(例如SCSI中的读指令和写指令等)向DKU160的下级存储装置180发送。另外,微处理器121经由FEPKl 10而将各种指令向外部存储装置40发送。
[0083]CMPK130具有高速缓冲存储器(CM) 131。高速缓冲存储器131暂时保存从主机10向下级存储装置180等写入的数据(写数据)、和从下级存储装置180读出的数据(读数据)。
[0084]BEPK140具有奇偶校验运算器141、作为第2控制设备的一例的传输缓存器(DXBF) 142、和后端控制器(BE控制器)143。
[0085]奇偶校验运算器141为例如小型的处理器,在下级存储装置180发生故障时生成用于重建因该故障而无法读出的数据要素的冗余码(以下,奇偶校验位)。奇偶校验运算器141针对例如由RAID5构成的RAID组的数据单位,通过取构成数据单位的多个数据要素的逻辑异或而生成P奇偶校验位。另外,奇偶校验运算器141针对由RAID6构成的RAID组的数据单位,通过在对构成数据单位的多个数据要素乘以规定系数后,取各个数据的逻辑异或,而生成Q奇偶校验位。另外,奇偶校验运算器141基于针对数据单位的一个以上的条带数据要素(数据要素及/或奇偶校验位),进行将数据单位中的某一数据要素复原的复原处理。
[0086]传输缓存器142暂时保存从下级存储装置180发送来的数据、向下级存储装置180发送的数据。BE控制器143在与DKU160的下级存储装置180之间进行各种指令、写数据、读数据等的通信。
[0087]DKU160具有多个下级存储装置180 (以下,存在称作驱动器的情况)。下级存储装置180包含一个以上的存储设备。存储设备是非易失性的存储介质,例如,是磁盘、闪存器、其他半导体存储器(PRAM、ReRAM等)。DKU160具有多个通过同一总线与BE控制器143连接的多个的下级存储装置180的组(总线组)170。属于同一总线组170的下级存储装置180经由开关161而连接。属于同一总线组170的下级存储装置180彼此(以下称作“同一线道的驱动器”)能够直接通信,例如,能够从属于同一总线组170的一个下级存储装置180对其他下级存储装置180发送各种数据。此外,具有如下特性:在由于某种原因而开关或电源发生故障的情况下,同一线道的驱动器比其他线道的驱动器容易受到影响。
[0088](1-3)计算机系统的逻辑结构
[0089]接下来说明计算机系统的逻辑结构。图2是表示计算机系统的逻辑结构的概念图。
[0090]上级存储装置100集束多个驱动器180来构成物理性的奇偶校验组(以下,称作物理奇偶校验组(PPG)) 205。例如,集束16个驱动器来构成物理奇偶校验组。该物理性的奇偶校验组是针对分散组(DG) 207的增设、减设的单位。
[0091]分散组(DG)207集束多个物理奇偶校验组205来构成虚拟的奇偶校验组(VPG) 204。在此,虚拟奇偶校验组204上的虚拟的条带构造在分散组207的范围内分散于物理奇偶校验组内的驱动器中。也就是说,关于向虚拟奇偶校验组204的I/O访问,向其所属的分散组207的范围内的物理性的驱动器访问,而不会向超出该范围的物理性的驱动器访问。另外,在分散组内存在相同数量的虚拟奇偶校验组204和物理奇偶校验组,其存在于分散组内的标识符也相同。集束多个虚拟奇偶校验组204而构成作为逻辑性的存储容量的集合的池200。
[0092]另外,如上所述,存在上级存储装置100作为驱动器180而具有例如闪存器、SAS驱动器、SATA驱动器等、性能及容量特性不同的多种存储介质的情况。根据这些不同特性,存储介质以所谓层级(Tier)206分类。由于各Tier的性能的特性不同,所以当使分散组横跨Tier而构成时,存在性能低的驱动器成为瓶颈的情况。因此,使分散组由同一 Tier构成。
[0093]另外,在池内存在多个虚拟卷(VVOL) 201。虚拟卷201是虚拟的设备,由主机10参照、访问。上级存储装置的管理
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1