存储系统及其控制方法与流程

文档序号:11450163阅读:181来源:国知局
存储系统及其控制方法与流程

本发明涉及包含存储控制装置的存储系统及其控制方法。



背景技术:

作为实现存储控制装置(以下,节点)中的性能提高的技术,在专利文献1中记载有如下技术:将来自主机的更新数据保存到节点的非易失性存储器区域后,不论存储装置的数据更新,均立即设为处理完成。该技术将由双节点集群形成的ha(highavailability:高可用性)构成的存储系统作为对象。各节点具有非易失性存储器,并在非易失性存储器上具有保存本节点的数据的区域、和保存其他节点的数据的区域这两个区域。接收了来自主机(主机计算机)的更新数据的节点在本节点的非易失性存储器上的本节点数据保存区域保存更新数据,并将更新数据复制到其他节点的非易失性存储器上的其他节点数据保存区域。复制结束时,接收到更新数据的节点向主机通知处理完成。

像这样,专利文献1的技术通过向非易失性存储器进行的更新数据的保存,能够在将更新数据写出到存储装置前向主机通知处理完成。另外,由于伴随着复制的更新数据的双重化,即使一个节点产生故障,另一个节点也能够接手处理。

现有技术文献

专利文献

专利文献1:us7730153



技术实现要素:

非易失性存储器与易失性存储器相比成本高,因此性价比低。于是,有通过电池对易失性存储器的特定区域进行备份来与非易失性存储器同等地使用的技术。通过该技术,电池的成本也高,性价比也低,因此需要使电池容量为最小限度。尤其在集群构成的存储系统中,需要与节点数相应地增大非易失性存储器的容量,因此即使进行电池备份,也要求将其容量抑制为较小。

所公开的存储系统是将节点与其他节点连接的集群构成,节点具有保存来自主机的第1更新数据的易失性存储器、和对从主机向其他节点的第2更新数据的第2复制数据进行保存的第1非易失性存储器,节点包括:复制管理处理部,其将第1更新数据的第1复制数据保存到其他节点的第2非易失性存储器;和存储服务处理部,其响应于由复制管理处理部进行的第1更新数据的第1复制数据向其他节点的第2非易失性存储器的保存,将对第1更新数据的更新请求作出的响应向主机发送。

发明效果

根据所公开的存储系统,能够将进行电池备份的易失性存储器的容量、非易失性存储器的容量抑制为较小。

附图说明

图1是表示对存储系统的易失性存储器进行电池备份的构成的图。

图2是表示开关的状态的表。

图3是开关的状态迁移图。

图4是实施例1的存储系统的概略构成图。

图5是存储系统的硬件构成图。

图6a是本节点静止点管理表的例子。

图6b是本节点操作管理表的例子。

图6c是其他节点静止点管理表的例子。

图6d是其他节点操作管理表的例子。

图7a是数据退避场所管理表的例子。

图7b是节点状态管理表的例子。

图8是各节点的易失性存储器及非易失性存储器的数据的持有方式的例子。

图9是在其他节点产生故障,通过1个节点进行处理的情况的构成例。

图10是检测到其他节点的故障后的、本节点的复制管理处理部的处理流程图。

图11是接收到更新请求时的处理流程图。

图12a是非同步地将更新数据写出到卷的复制管理处理部的处理流程图。

图12b是冗余处理部的处理流程图。

图13是退避到卷中的数据的恢复处理的流程图。

图14是退避到卷中的数据的另一恢复处理的流程图。

图15是退避到卷中的数据的又一恢复处理的流程图。

图16是实施例2的存储系统的概略构成图。

图17是关于在非易失性存储器上保存的其他节点的数据的保存方法进行示出的图。

图18是关于在非易失性存储器上保存的其他节点的数据的另一保存方法进行示出的图。

图19是一部分节点停止了的情况下的复制管理处理部的处理流程图。

图20是实施例3的由文件服务器和区块存储的多级构成的节点形成的存储系统的概略构成图。

图21是存储系统的硬件构成图。

具体实施方式

参照附图对几个实施例进行说明。

在以下的说明中,有时表现为“xx表”来对各种信息进行说明,但各种信息也可以通过表以外的数据结构来表现。为了表示不依赖于数据结构,有时将“xx表”称为“xx信息”。

另外,在以下的说明中,存在以程序为主语来说明处理的情况,但由于程序通过由硬件本身或硬件所具有的处理器(例如、mp(microprocessor:微处理器))来执行,而能够边适当地使用存储资源(例如存储器)和/或通信接口设备(例如端口)边进行设定好的处理,因此处理的主语也可以为硬件。另外,程序源也可以为例如程序分发服务器或存储介质。

而且,在以下的说明中,将得到应用程序或文件系统的匹配性的状态称为静止点。静止点存在1个或两个以上,对这些点赋予静止点编号来进行管理。

实施例1

图1是表示对存储系统的易失性存储器进行电池备份的构成的图。图1中,为了说明易失性存储器的电池备份,省略用于电池备份以外的构成的图示。

存储系统是基于节点a200和节点b400的双节点集群构成。节点a200具有易失性存储器205,节点b400具有易失性存储器405。易失性存储器205具有不能进行电池备份的区域290和能够进行电池备份的区域300。易失性存储器405具有不能进行电池备份的区域490和能够进行电池备份的区域500。区域300包含本节点用区域320及其他节点用区域310。同样地,区域500包含本节点用区域520及其他节点用区域510。这些能够进行电池备份的各区域在断电等故障时还通过经由与被故障检测部710控制的开关800而与电池700连接,被从电池700供给电源(电力、电气),能够保持数据(信息)。即,能够进行电池备份的各区域也能够在断电等故障时保持数据(信息),因此作为非易失性存储器进行动作。作为能够进行电池备份的各区域的具体例子,有电池备份式的nvram(non-volatilerandomaccessmemory:非易失随机读写存储器)等。此外,省略向故障检测部710的输入的图示。

开关800包含sw1、sw2、sw3及sw4。在sw1为on(导通)时,本节点用区域320通过电池备份而作为非易失性存储器进行动作。在sw2为on时,其他节点用区域310通过电池备份而作为非易失性存储器进行动作。在sw3为on时,本节点用区域520通过电池备份而作为非易失性存储器进行动作。在sw4为on时,其他节点用区域520通过电池备份而作为非易失性存储器进行动作。

图2是表示开关800的状态(由sw1、sw2、sw3及sw4的组合构成的状态)的表。图3是开关800的状态迁移图。开关800具有状态1~5。通过sw1、sw2、sw3及sw4的组合,也能够得到状态1~5以外的其他状态,但也可以通过故障检测部710控制为不迁移到其他状态。图2中,“-”表示sw可以为on及off中的任一种。若考虑到电池700的耗电,则期望为off。

状态1是节点a200及节点b400为正常时的开关800的状态。状态2是响应于节点b400的故障(断电等)的检测而从状态1迁移的开关800的状态,sw1及sw2为on或off。开关800的状态响应于状态2中的节点a200的故障(断电等)的检测而迁移到状态3。状态3是sw1及sw2为on。状态4是响应于节点a200的故障(断电等)的检测而从状态1迁移的开关800的状态,sw3及sw4为on或off。开关800的状态响应于状态4中的节点b400的故障(断电等)的检测而迁移到状态5。状态5是sw3及sw4为on。状态3和状态5均是节点a200及节点b400为故障的状态,但依赖于故障检测部710先检测到哪个节点的故障而故障检测部710控制为不同的状态。

节点a200及节点b400的电源由于通常准备为不同的系统因此多检测到一个节点的故障之一的断电等故障,但有时即使是不同的系统也因相同的原因(例如,广域或设置有存储系统的中心整体电源异常)而检测到节点a200及节点b400的电源的故障。为了应对这样的故障的发生,在前面叙述了图2中的“-”在考虑到电池700的耗电时期望sw为off,但在其他观点中期望预先设为on。这是因为,在从检测到电源的故障到完成电池备份为止的时间,保存在能够进行电池备份的区域300或区域500中的数据有可能消失。

但是,在节点a200及节点b400的电源为正常时(状态1),只要事先对能够进行电池备份的区域300及区域500的其他节点用区域310、510进行电池备份即可。

以后,以预先对其他节点用区域310、510进行电池备份为前提,将通过电池备份而作为非易失性存储器进行动作的区域300及区域500称为非易失性存储器来进行说明。

图4是存储系统的概略构成图。存储系统如前述那样包含节点a(文件存储装置a)200及节点b(文件存储装置b)400、而且还包含存储装置(通常为区块存储装置)600而构成集群100。

节点a200在非易失性存储器320上具有存储服务处理部a210及复制管理处理部a220的处理部。同样地,节点b400在非易失性存储器520上具有存储服务处理部b410及复制管理处理部b420的处理部。以下,使节点a200的处理部作为代表来进行说明。

节点a200的存储服务处理部a210接收包含来自主机110的更新数据a10的数据更新请求。在此,“更新”包含新“保存”的情况。存储服务处理部a210将更新数据a10保存到易失性存储器290上的本节点(节点a)数据保存区域291。复制管理处理部a220经由节点a-b间的通信线路800来控制复制管理处理部b420,并将更新数据a10复制到节点b400的非易失性存储器510上的其他节点(节点a)数据保存区域501,向其他节点操作管理表460登记所接收的数据更新请求中包含的、与更新数据a10有关的操作(write)。复制管理处理部a220向本节点操作管理表240登记与更新数据a10有关的操作(write),并将对来自主机110的数据更新请求作出的响应发送到主机110,而完成处理。

复制管理处理部a220参照本节点操作管理表240,在保存在节点b400的非易失性存储器510的其他节点数据保存区域501中的数据的、数据量超过了预先设定的规定量的情况、在从保存时刻起经过了预先设定的规定时间的情况、或者从主机110接受了强制写出请求的情况下,执行与易失性存储器290中存储的本节点静止点管理表230的最久未写入的静止点编号(后述)对应的本节点操作管理表240的操作,并向区块存储装置600的卷a610写出数据。由此,保存在易失性存储器290上的本节点数据保存区域291中的数据(在本例中为更新数据a10)被写出到卷a610。复制管理处理部a220在写出完成时,更新本节点静止点管理表230的最久未写入的静止点编号,并控制复制管理处理部b420,来更新存储在其他节点400的非易失性存储器510中的其他节点静止点管理表450的最久未写入的静止点编号。

当在1个节点发生故障时,由另一个节点执行故障发生节点的处理部,接手服务。将其称为失效备援。例如,当仅在节点a200发生故障时,在节点a200中运转的存储服务处理部a210及复制管理处理部a220在节点b400的非易失性存储器520上执行。此时,参照非易失性存储器510上的其他节点静止点管理表450、其他节点操作管理表460及其他节点(节点a)数据保存区域501来接手服务。

在将易失性存储器290上的本节点数据保存区域291的数据写出到卷a610之前发生了断电等所有节点故障的情况下,节点a200的复制管理处理部a220在执行了数据保护处理的基础上将保存在非易失性存储器310上的其他节点数据保存区域301中的数据向卷630的非易失性存储器数据退避区域631写出。数据保护处理是同一数据的镜像或带有奇偶校验(parity)的写出等。非易失性存储器退避区域631只要能够供各节点访问,则可以位于任何地方(图4中位于存储装置内的卷630中)。

节点a200的存储服务处理部a210在接收到来自主机110的数据参照请求时,如果在易失性存储器209上的本节点(节点a)数据保存区域291存在退避数据,则将该数据向主机110发送,如果不存在退避数据,则从卷a610获取数据(read),并将该数据向主机110发送,从而完成处理。

根据本实施例,能够在执行数据的保护的同时提高对来自主机110的数据更新请求的响应性能。而且,通过使用易失性存储器290、490、非易失性存储器310、510和非易失性存储器退避区域631,能够削减非易失性存储器300、500的容量。换言之,与不使用易失性存储器的情况相比,可以不用将与易失性存储器290、490相当的容量确保为非易失性存储器310、510的容量。这示出了:在基于双节点集群的ha构成的存储系统中,各节点200、400可以不再确保两节点量(自节点及其他节点的数据保存区域的容量)的非易失性存储器,只要彼此确保其他节点的数据保存区域301、501的容量的非易失性存储器即可。因此,能够削减电池700的容量,能够降低电池700的成本。

图5是存储系统的硬件构成图。集群100是由主机110经由网络131所连接的节点a200及节点b400构成的、双节点的存储系统。另外,各节点经由专用网络161与管理终端160连接。网络131及161可以为例如wan(wideareanetwork:广域网)、lan(localareanetwork:局域网)、互联网、公用线路或专用线路等。集群内开关150将在与主机110之间转送的数据分配给节点a200及节点b400。

节点a200是从主机110接收数据更新请求,并将被更新请求的数据写出到区块存储装置600的存储控制装置。cpu1210执行保存在非易失性存储器320中的处理部的处理。

监视部1230检测本节点(节点a200)及其他节点(节点b400)的状态(运转中、停止中),并改写节点状态管理表280,在需要进行电池备份的情况下将监视结果通知给故障检测部710,并且对与节点的状态对应的各处理部的执行进行管理。节点a200的监视部1230和节点b400的监视部1430使用心跳检测等,检测彼此的节点状态,控制各自所具有的节点状态管理表280、480的更新,并在故障检测时控制复制管理处理部220、420的执行。从监视部1230收到通知的故障检测部710如前述那样控制开关800。

保存在易失性存储器290中的表为本节点静止点管理表230、本节点操作管理表240、数据退避场所管理表270以及节点状态管理表280。如图1所示,非易失性存储器300包括本节点用区域320及其他节点用区域310。也将这些区域称为非易失性存储器。保存在非易失性存储器310中的表是其他节点静止点管理表250及其他节点操作管理表260。在此,数据退避场所管理表270和节点状态管理表280作为位于易失性存储器290上的表来进行图示、说明,但也可以位于非易失性存储器320和卷610、620、630的任一个。而且,易失性存储器290和非易失性存储器300具有各处理部的执行所需的区域(例如,工作区域)。

节点b400除本节点为节点b、其他节点为节点a这一点以外,与节点a相同,因此省略说明。

管理终端160是根据需要获取节点a200和节点b400的管理信息,具有用于对节点a200和节点b400进行操作的输入输出装置的终端。

区块存储装置600根据来自节点a200、节点b400、主机110或管理终端160的控制来保存数据。为此,区块存储装置600具有用于保存数据的卷a610、卷b620。另外,区块存储装置600具有用于在故障时供包含非易失性存储器300、500的表在内的各种数据退避的卷630,卷630具有非易失性存储器数据退避区域631。

图6a是本节点静止点管理表230、430的例子。以本节点静止点管理表230为代表进行说明。本节点静止点管理表230保存本节点的最新的静止点编号231和最久未写入的静止点编号232。

最新的静止点编号231是用于对操作世代(将对卷a610的数据进行更新的集合称为世代。)进行管理的编号。复制管理处理部a220在向本节点操作管理表240登记从主机110收到的数据更新的操作时,与操作相关联地赋予最新的静止点编号231。因此,在本节点所接收的操作数超过了规定数的情况下,或者从对操作进行登记起经过了规定时间的情况下,复制管理处理部220使最新静止点编号231增加(更新)。

最久未写入的静止点编号232表示操作(卷a610的数据的更新)尚未结束的静止点的最旧编号。在一个静止点编号(世代)具有多个操作(作为上述世代的集合)的情况下,在所有相同的静止点编号的操作的执行结束了的阶段,复制管理处理部a220对最久未写入的静止点编号232进行更新。

图6b是本节点操作管理表240、440的例子。以本节点操作管理表240为代表进行说明。本节点操作管理表240保存从主机110对本节点的操作242和与操作对应的静止点编号241。静止点编号241是接收到各操作242的时刻的最新的静止点编号231。操作242是本节点接收到的来自主机110的操作(的类别)。

例如,若参照图6a的本节点静止点管理表230,最新的静止点编号231为“3”,最久未写入的静止点编号233为“2”,在登记于本节点操作管理表240的条目中,与静止点编号1对应的操作(write(dataa))已结束处理(在此为向区块存储装置600的卷610的写入)。与静止点编号“2”对应的操作(write(datac)及write(datae))是处理尚未结束的最旧的操作,是接下来处理的操作的候选。与静止点编号“3”对应的操作是最新的操作。

图6c是其他节点静止点管理表250、450的例子。以其他节点静止点管理表250为代表进行说明。其他节点静止点管理表250保存其他节点的最新的静止点编号251和最久未写入的静止点编号252。最新的静止点编号251和最久未写入的静止点编号252除与其他节点有关的方面以外,与本节点静止点管理表230的最新的静止点编号231和最久未写入的静止点编号232相同,因此省略说明。

图6d是其他节点操作管理表260、460的例子。以其他节点操作管理表260为代表进行说明。其他节点操作管理表260保存其他节点所接收的各操作262和与各操作对应的静止点编号261。其他节点操作管理表260除了与其他节点有关的方面以外,与本节点操作管理表240相同,因此省略说明。此外,其他节点操作管理表260与其他节点(例如节点b)所管理的本节点操作管理表440的内容同步(数据同步)。

图7a是数据退避场所管理表270、470的例子。以数据退避场所管理表270为代表进行说明。数据退避场所管理表270在其他节点故障时、进而本节点的故障发生时准备的、通过节点a的复制管理处理部a220将保存在本节点a的非易失性存储器310中的数据向卷630的非易失性存储器数据退避区域631退避时的、退避目的地。数据退避场所管理表270由管理终端160设定。节点名271是用于区分各节点的标识符。退避数据保存卷272是供保存在各节点的非易失性存储器310、510中的数据退避的卷。退避数据保存路径273是用于将保存在各节点的非易失性存储器310、510中的数据向卷退避的路径。

图7b是节点状态管理表280、480的例子。以节点状态管理表280为代表进行说明。节点状态管理表280是监视部1230用于记录本节点及其他节点的状态的表。节点名281是用于区分各节点的标识符。状态282是各节点的当前状态(运转中或停止中)。接手中节点283是在存在停止中的节点的情况下(图中:节点c停止中),接手停止中的节点在运转过程中所执行的操作的节点(图中:节点a)。直接写入模式284不经由向非易失性存储器510、310的保存,在从易失性存储器290、490向区块存储装置600直接写入的情况下设定为开启(图中为关闭)。

故障恢复时模式285是在伴随故障发生而向非易失性存储器退避区域631退避了各节点的非易失性存储器的数据之后,从故障恢复的情况下的恢复模式。作为恢复模式,将在后叙述通常恢复模式(图13)、其他节点用的退避区域安装恢复模式(图14)以及失效备援恢复模式(图15),但恢复模式不限于此。管理终端160从管理终端160设定直接写入模式284和故障恢复时模式285。

图8是各节点的易失性存储器及非易失性存储器的数据的持有方式的例子。节点a200将节点a200的易失性存储器290的数据(图中为更新数据a1、a2、···)复制到节点b400的非易失性存储器510(图中为其他节点(节点a)数据保存区域501),不复制到节点a200的非易失性存储器300。节点b400也与节点a200同样地,将易失性存储器490的数据(图中为更新数据b1、b2、···)复制到节点a200的非易失性存储器310(图中为其他节点(节点b)数据保存区域301),不复制到节点b400的非易失性存储器500。

图9是节点b400因故障而停止时的集群100(运转中部分)的例子。伴随着节点b400的故障,开关800的sw1及sw2为on,sw3及sw4为off。

当节点状态管理表280(省略图示)的直接写入模式284开启时,将保存在本节点数据保存区域291中的更新数据不保存到非易失性存储器300的本节点区域320,而将其写出到卷610。

图9是在其他节点(节点b)发生故障而由1个节点(节点a)处理的情况下的构成例。说明直接写入模式284关闭的情况。复制管理处理部a220在非易失性存储器300的本节点用区域320上确保本节点数据保存区域302。复制管理处理部a220将在本节点数据保存区域291保存的本节点数据的复制目的地从节点b400的非易失性存储器500的其他节点用区域510变更为在节点a200的非易失性存储器320确保的本节点数据保存区域302。

而且,节点a200的复制管理处理部a220在节点a200的易失性存储器290上创建其他节点数据保存区域292,将位于节点a200的非易失性存储器300上的其他节点数据保存区域301的数据复制到节点a200的易失性存储器290的其他节点数据保存区域292。由此,最大化地利用电池700的容量,实现性能提高。

图10是检测到其他节点(节点b400)故障后的、本节点(节点a200)的复制管理处理部a220的处理流程图。

复制管理处理部a220在本节点(节点a200)的非易失性存储器300的本节点用区域320上确保本节点数据保存区域302(s10)。复制管理处理部a220将易失性存储器290上的本节点数据保存区域291的更新数据复制到确保出的本节点数据保存区域302(s11)。

复制管理处理部220在本节点(节点a200)的易失性存储器290上确保其他节点数据保存区域292(s12)。复制管理处理部220向确保出的其他节点数据保存区域292复制本节点(节点a200)的非易失性存储器300的其他节点用区域310上的其他节点数据保存区域301的数据(s13)。

复制管理处理部a220使存储服务处理部a210执行,而将易失性存储器290上的本节点数据保存区域291以及其他节点数据保存区域292的更新数据分别写出到卷610及620(s14)。

另外,在s11、s13中,本节点(节点a200)复制本节点(节点a200)的更新数据以及用于对其他节点(节点b400)所处理了的更新数据进行管理的表(本节点(其他节点(节点b400))的静止点管理表430、本节点(节点b)操作管理表440、其他节点(本节点(节点a200))静止点管理表450、其他节点(本节点(节点a200))操作管理表460),并接手其他节点(节点b400)的处理。

图11是本节点从主机110接收数据的更新请求,并直到向主机110通知更新请求的处理完成为止的、存储服务处理部a210及复制管理处理部a220的处理流程图的例子。在此,对本节点(节点a200)接收到更新请求的情况进行说明。

存储服务处理部a210将接收到的更新数据保存到易失性存储器290上的本节点数据保存区域291(s20)。存储服务处理部a210使复制管理处理部a220执行。复制管理处理部a220参照节点状态管理表280的节点名281和状态282,确认其他节点(节点b400)是否正运转(s21)。

若其他节点(节点b400)的状态为运转中,则复制管理处理部a220向其他节点(节点b400)的非易失性存储器500上的其他节点数据保存区域501复制更新数据(s22)。根据复制管理处理部a220进行的复制结束,存储服务处理部a210向主机110通知处理完成(s23)。

若其他节点(节点b400)的状态为停止中,则复制管理处理部a220执行存储服务处理部a210。存储服务处理部a210参照节点状态管理表280的直接写入模式284,确认是否为直接写入模式(s24)。

存储服务处理部a210在直接写入模式为无效(关闭)的情况下,向本节点(节点a200)的非易失性存储器300的本节点用区域320上的本节点数据保存区域302复制更新数据(s25),向主机110通知处理完成(s23)。

存储服务处理部a210在直接写入模式为有效(开启)的情况下,将位于本节点(节点a200)的易失性存储器290上的本节点数据保存区域291的更新数据(操作)向卷610写出(s26),并向主机110通知处理完成(s23)。

图12a是与到由存储服务处理部a210向主机110的处理完成的通知为止的处理非同步地将易失性存储器上的更新数据向卷610写出的复制管理处理部a220的处理流程图。

复制管理处理部a220参照本节点操作管理表240,在操作的总数据量达到了预先设定的规定量的情况、保存更新数据起经过了规定时间的情况或者有来自主机110及管理终端160的强制写出请求的情况下,参照本节点静止点管理表230的最久未写入的静止点编号232,执行使本节点操作管理表240的静止点编号241和最久未写入的静止点编号232一致的操作,并向卷610写出更新数据(s31)。也可以将与写出到卷610的更新数据对应的、保存在其他节点(节点b400)的非易失性存储器510的其他节点数据保存区域501中的更新数据(复制数据)删除。

复制管理处理部a220参照节点a200的本节点静止点管理表230的最久未写入的静止点编号232,确认是否执行了本节点操作管理表240的最久未写入的静止点编号241的所有操作(s32)。若没有处理完最久未写入的静止点编号232的所有操作,则返回到s31。

若处理了最久未写入的静止点编号232的所有操作,则复制管理处理部a220对节点a200所管理的本节点静止点管理表230的未写入编号232加1(s33),对节点b400所管理的其他节点静止点管理表450的最久未写入的静止点编号加1(s34)。

图12b是由于因节点的停止而易失性存储器上的更新数据消失,因此为了使非易失性存储器上的更新数据具有冗余而向卷退避的、冗余处理部(图4中省略图示)的处理流程图的例子。更新数据的冗余的原因在于,由于非易失性存储器被电池备份,因此有可能发生超过电池容量的极限(导致放电)的时间的断电。节点a200的冗余处理部参照数据退避场所管理表270,将非易失性存储器300上的更新数据退避到卷630的非易失性存储器数据退避区域631(s40)。

图13~15是因电源丧失等故障而导致所有节点停止、各节点的非易失性存储器上的数据被退避到卷630后的恢复处理的流程图。将本节点设为节点a200、将其他节点设为节点b400来进行说明。

图13是恢复模式为通常恢复模式的情况下的复制管理处理部220a的处理流程图的例子。复制管理处理部220a将本节点(节点a200)所退避的更新(退避)数据复原到本节点(节点a200)的非易失性存储器300上,将位于其他节点(节点b400)的非易失性存储器500上的更新(退避)数据复制到本节点(节点a200)的易失性存储器290上之后,执行操作。

复制管理处理部a220将节点a200向卷630上的非易失性存储器退避区域631退避的数据(节点b400的更新数据)复原到节点a200的非易失性存储器300的其他节点数据保存区域301。此时,复制管理处理部b420在节点b400中也同样地,将退避数据(节点a200的更新数据)复原到非易失性存储器500的其他节点数据保存区域501上(s50)。

复制管理处理部a220从位于节点b400的非易失性存储器500上的其他节点数据保存区域501读出数据(节点a200的更新数据),并复制到节点a200的易失性存储器290的本节点数据保存区域291上(s51)。复制管理处理部a220执行易失性存储器290上的本节点数据保存区域291的更新(退避)数据的操作,并写出到卷a610(s52)。

复制管理处理部a220对位于节点a200的本节点静止点管理表230的最久未写入的静止点编号232和位于节点b400的其他节点静止点管理表450的最久未写入的静止点编号进行更新(s53)。复制管理处理部a220将与写出到卷a610的数据对应的数据且为向卷630的非易失性存储器数据退避区域631退避了的数据(冗余数据)删除(s54)。

复制管理处理部a220确认是否已处理了所有的更新数据(s55)。若已完成所有的更新(退避)数据的处理,则复制管理处理部a220结束恢复处理。若没有处理完所有的更新数据,则返回到s52。

图14是恢复模式为其他节点用的退避区域安装恢复模式的情况下的复制管理处理部220a的处理流程图的例子。复制管理处理部220a将其他节点(节点b400)所退避的更新(退避)数据复原到本节点(节点a200)的非易失性存储器300上,将位于本节点(节点a200)的非易失性存储器300上的更新(退避)数据复制到本节点(节点a200)的易失性存储器290上之后,执行操作。

节点a200的复制管理处理部a220将节点b400向卷630上的非易失性存储器数据退避区域631退避的数据(节点a200的更新数据)复原到节点a200的非易失性存储器300的其他节点数据保存区域301。此时,在节点b400中也同样地将退避数据(节点b400的更新数据)复原到非易失性存储器500上(s60)。复制管理处理部a220从位于节点a200的非易失性存储器300上的其他节点数据保存区域301读出数据(节点a200的更新数据),并将其复制到节点a200的易失性存储器290的本节点数据保存区域291(s61)。以后的s62~s65的处理与图13的复制管理处理部a220的s52~s55的处理相同,因此省略说明。

图15是恢复模式为失效备援恢复模式的情况下的复制管理处理部220a的处理流程图的例子。复制管理处理部220a将本节点(节点a200)所退避的更新(退避)数据复原到本节点(节点a200)的非易失性存储器300后,向其他节点进行失效备援,执行操作。

节点a200的复制管理处理部a220将节点a200向卷630上的非易失性存储器数据退避区域631退避了的数据(节点b400的更新数据)复原到节点a200的非易失性存储器300的其他节点数据保存区域301。此时,在节点b400中也同样地将退避数据(节点a200的更新数据)复原到非易失性存储器500上的其他节点数据保存区域501(s70)。

从本节点(节点a200)向其他节点(节点b400)进行失效备援(s71)。另外,从其他节点(节点b400)向本节点(节点a200)进行失效备援。

复制管理处理部a220从位于节点a200的非易失性存储器300上的其他节点数据保存区域301读出退避数据(节点b400的更新数据),并将其复制到节点a200的易失性存储器290的本节点数据保存区域291(s72)。

复制管理处理部a220执行易失性存储器290上的本节点数据保存区域291的退避数据(节点b400的更新数据)的操作,并向卷b620写出(s73)。复制管理处理部a220对位于节点b400的本节点静止点管理表430的最久未写入的静止点编号和位于节点a200的其他节点静止点管理表250的最久未写入的静止点编号252进行更新(s74)。

将与向卷b620写出的数据对应的数据且向卷630的非易失性存储器数据退避区域631退避了的数据删除(s75)。此时,在节点b400中也进行同样的处理,向卷a620写入退避数据(节点a400的更新数据),并删除卷630的非易失性存储器数据退避区域631的退避数据。

确认是否已删除了所有的更新(退避)数据(s77)。如果没有处理完所有的退避数据,则返回到s73。如果完成了所有的更新(退避)数据的处理,则从本节点(节点a200)向其他节点(节点b400)进行故障恢复(s78),结束恢复处理。另外,也从其他节点(节点b400)向本节点(节点a200)进行故障恢复。

实施例2

图16是集群为3节点以上的存储系统的概略构成图。基本动作与实施例1相同,因此,以与实施例1的不同点为中心进行说明。

集群构成的存储系统由节点a204、节点b404、节点a及节点b以外的节点405构成,各节点的构成相同。

图17及图18是示出各节点保存在非易失性存储器上的其他节点的数据的保存方法的图。图17示出了将本节点以外的所有节点的易失性存储器上的数据复制到本节点的非易失性存储器上并保存的情况。图18示出了各节点复制一个节点的易失性存储器的数据并保存的环状的保存方法。

图19是一部分节点停止了的情况下的复制管理处理部的处理流程图的例子。在实施例1的双节点构成的存储系统中,响应于其他节点的停止,需要本节点继续进行处理。在本实施例的构成的存储系统中,仅在所有其他节点停止了的情况下需要本节点单独地继续进行处理。一部分其他节点停止了的情况在实施例1和本实施例中不同。设本节点为节点a204进行说明。

节点a204的监视部1231检测其他节点的故障。响应于其他节点的故障的检测,节点a204的复制管理处理部参照节点状态管理表280,判定是否存在运转中的其他节点(s15)。若存在运转中的其他节点,则复制管理处理部执行实施例1的其他节点故障发生检测后的本节点处理(图10的s10~s14)。在存在运转中的其他节点的情况下,运转中的节点接手停止中的节点的处理(s16)。接手方法与实施例1的其他节点故障发生检测后的本节点处理(图10的s10~s14)相同。

实施例3

图20是由文件服务器和区块存储的多级构成的节点形成的存储系统的概略构成图。在此,与实施例1同样地说明双节点构成的存储系统,但如实施例2那样,3节点以上的存储系统也同样地进行动作。基本动作与实施例1和实施例2相同,因此以与它们的不同点为中心进行说明。

图20是实施例1中的节点将文件服务器和区块存储连接的构成的存储系统。文件服务器a201和文件服务器b401的组合与实施例1的节点a200和节点b400的组合同样地动作。另外,区块存储a202和区块存储b402将来自文件服务器的数据的更新请求保存到易失性存储器,之后向其他节点的非易失性存储器上的其他节点数据保存区域保存。包含在更新请求中的更新数据与实施例1同样,被非同步地写出到存储装置。如以上那样,在区块存储中也与文件服务器同样地动作。

图21是存储系统的硬件构成图。以与实施例1的硬件构成的不同为中心进行说明。文件存储a201是从主机110接收数据的更新请求,并写出到区块存储a202或区块存储b402的计算机。cpu2010执行保存在易失性存储器2013或非易失性存储器2014中的处理部。i/f2011在主机110、集群内开关150、文件服务器b401、区块存储a202、区块存储b402和存储装置600等各计算机之间收发数据。监视部2012检测文件服务器a201及文件服务器b402、区块存储a202和区块存储b402的状态(运转中、停止中),并将检测到的状态保存到节点状态管理表280中。文件服务器a202的监视部2012和文件服务器b401的监视部4012管理彼此的状态,使用各自具有的节点状态管理表280、480进行管理。易失性存储器2013或非易失性存储器2014保存用于提供存储服务的处理部和表类。保存的处理部和表类与实施例相同。

文件服务器b401为与文件服务器a201成对的构成。区块存储a202和区块存储b402也为与文件服务器a201和文件服务器b202同样的成对的构成。

管理终端160是根据需要获取文件服务器a201、文件服务器b401、区块存储a202或区块存储b402的管理信息并进行操作的终端,是具有用于与网络连接的i/f和用于操作的输入输出装置的计算机。

存储装置600根据来自文件服务器a201、文件服务器b401、区块存储a202、区块存储b402、主机110和管理终端160的指示保存数据。因此,存储装置600具有用于保存数据的单个/多个卷640。另外,具有在断电等故障发生时供包含文件服务器a201、文件服务器b401、区块存储a202和区块存储b402的非易失性存储器上的表在内的各种数据退避的卷630、以及非易失性存储器数据退避区域631。

实施例4

本实施例示出在实施例1~3的构成中非易失性存储器不是电池备份的易失性存储器的情况。基本动作与实施例1~3相同因此省略,仅说明不同点。在本实施例中,由于在非易失性存储器上持续留有更新数据,因此图4的故障发生时不需要进行向非易失性存储器数据退避区域631的退避处理。而且,单节点故障时不会形成如图9和图10那样基于电池保护区域增加的非易失性存储器增加。因此,若因节点故障而产生向其他节点的失效备援,则其存储服务处理部b410和复制管理处理部b420始终以直接写入模式动作。根据以上实施方式,构成集群的各节点只要具有保存其他节点的数据的非易失性存储器即可。另外,在非易失性存储器对易失性存储器进行了电池备份的情况下,能够减小电池容量。

附图标记说明

100:集群、200:节点a、290:易失性存储器、300:非易失性存储器、400:节点b、490:易失性存储器、500:非易失性存储器、600:存储装置、700:电池、710:故障检测部。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1