一种用于存储系统的方法和装置与流程

文档序号:11275921阅读:169来源:国知局
一种用于存储系统的方法和装置与流程

本公开内容一般性地涉及存储技术,并且更特别地涉及一种用于存储系统的方法和装置。



背景技术:

在用于存储系统的灾难恢复技术环境中,可能会存在多个文件级别的远程复制会话,它们将数据从现用存储站点复制到备用存储站点。随着数据保持增长,由这种远程复制会话所保护的存储池(例如,nas用户定义池)将会达到其空间限制。因此,在现用存储站点的存储池接近于其空间限制时,需要对存储池的空间进行扩展,并且期望在扩展存储池空间的同时能够保持远程复制会话继续运行。

在现有技术的方法中,需要首先删除存储池上已有的复制会话,然后分别扩展现用存储站点和备用存储站点两者的存储池,再重新创建复制会话。由于新的复制会话在被创建之后的同步过程可能会花费数天或者甚至数周,所以在先前的复制会话被删除之后,新的复制会话同步之前,相当长的时间对用户数据没有保护。如果在这个阶段发生灾难,则将会存在数据损失。



技术实现要素:

鉴于现有技术中存在的上述技术问题,本公开内容的实施例的目的之一在于提供一种用于存储系统的方法和装置,以解决现有技术中存在的上述至少一个技术问题。

根据本公开内容的第一方面,提供了一种用于存储系统的方法,该存储系统包括现用存储站点和备用存储站点,现用存储站点的存储池下的逻辑单元号lun被复制到备用存储站点的存储池下的lun并 且形成一致性组。该方法包括:在现用存储站点和备用存储站点处分别创建至少一个互为镜像的第一lun和第二lun;将该至少一个第一lun和第二lun形成的镜像添加到一致性组中;以及在将该至少一个第二lun添加到备用存储站点的存储池之后,将该至少一个第一lun添加到现用存储站点的存储池。

在一些实施例中,该方法可以进一步包括:当现用存储站点变为不可用时,将一致性组中的原现用lun作为备用lun并且将原备用lun作为现用lun。

在一些实施例中,该方法可以进一步包括:在将该至少一个第一lun和第二lun形成的镜像添加到一致性组中之前,确定该至少一个第一lun和第二lun已经完成同步。

在一些实施例中,该方法可以进一步包括:在将该至少一个第二lun添加到备用存储站点的存储池之前,确定镜像已经被添加到一致性组中。

在一些实施例中,该方法可以进一步包括:在将该至少一个第一lun添加到现用存储站点的存储池之前,确定已经将该至少一个第二lun添加到备用存储站点的存储池。

在一些实施例中,该存储系统可以是网络附加存储nas系统。

在一些实施例中,存储池可以包括以下各项中的至少一项:虚拟nas服务器、文件系统、快照、以及网络配置。

根据本公开内容的第二方面,提供了一种用于存储系统的装置,该存储系统包括现用存储站点和备用存储站点,现用存储站点的存储池下的逻辑单元号lun被复制到备用存储站点的存储池下的lun并且形成一致性组。该装置包括:创建单元,被配置为在现用存储站点和备用存储站点处分别创建至少一个互为镜像的第一lun和第二lun;添加单元,被配置为将该至少一个第一lun和第二lun形成的镜像添加到一致性组中;并且添加单元进一步被配置为,在将该至少一个第二lun添加到备用存储站点的存储池之后,将该至少一个第一lun添加到现用存储站点的存储池。

根据本公开内容的第三方面,提供了一种计算机可读存储介质。该计算机可读存储介质具有存储在其上的计算机可读程序指令,这些计算机可读程序指令用于执行根据本公开内容的第一方面的方法。

根据本公开内容的第四方面,提供了一种存储系统。该存储系统包括根据本公开内容的第二方面的装置。

相对于现有技术的方法,根据本公开内容的用于存储系统的方法和装置至少可以取得如下的技术优点。第一,在扩展存储池的同时,可以保持已有的复制会话继续运行。第二,在扩展存储池的过程中的每个阶段的任何技术场景中,由复制会话保护的存储池上将不会发生数据丢失。

附图说明

通过参考附图阅读下文的详细描述,本公开内容的实施例的上述以及其他目的、特征和优点将变得容易理解。在附图中,以示例性而非限制性的方式示出了本公开内容的若干实施例,其中:

图1示意性地示出了用于存储系统的远程复制会话的示图。

图2示意性地示出了根据本公开内容的实施例的用于存储系统的方法的流程图。

图3a示意性地示出了根据本公开内容的实施例的在现用存储站点和备用存储站点处创建lun镜像的示图。

图3b示意性地示出了根据本公开内容的实施例的将所创建的镜像添加到一致性组的示图。

图3c示意性地示出了根据本公开内容的实施例的扩展备用存储站点的存储池的示图。

图3d示意性地示出了根据本公开内容的实施例的扩展现用存储站点的存储池的示图。

图4示意性地示出了根据本公开内容的实施例的用于存储系统的装置的框图。

图5示意性地示出了一个可以用来实施本公开内容的实施例的设 备的框图。

具体实施方式

下面将参考附图中所示出的若干示例性实施例来描述本公开内容的原理和精神。应当理解,描述这些具体的实施例仅是为了使本领域的技术人员能够更好地理解并实现本公开内容,而并非以任何方式限制本公开内容的范围。

图1示意性地示出了用于存储系统100的远程复制会话的示图。在图1中,以网络附加存储nas系统为例一般性地描述了文件级别远程复制会话,但是本领域的技术人员可以理解,本公开内容的实施例也可以等同地应用到其他的存储系统。

如图1中所示出的,存储系统100包括现用存储站点110和备用存储站点120。现用存储站点110和备用存储站点120分别包括存储池111和121。在现用存储站点110处,虚拟nas服务器(例如,vdm)112与它的所有文件系统113、快照114和网络配置115等一起可以被归组到存储池111中。在从现用存储站点110到备用存储站点120的复制会话中,可以使用一致性组(cg)130将存储池111下的数据lun116复制到备用存储站点120的存储池121下的数据lun122,其中一致性组技术是一种块级别复制技术。

在现用存储站点110由于发生灾难等原因变为不可用的情况下,存储系统100可以读取备用存储站点120的副本中存储的元数据,切换一致性组cg130的角色,在备用存储站点120的数据lun122上重新建立nas对象(vdm、文件系统等),并且向原来连接到存储站点110的nas客户端无缝地提供nas服务。但是,当现用存储站点110上的存储池111接近于其空间限制时,可能期望在远程复制会话仍然工作的同时能够扩展存储池111,并且也能够扩展备用存储站点120的存储池121。

图2示意性地示出了根据本公开内容的实施例的用于存储系统的方法的流程图200。方法200所针对的存储系统包括现用存储站点和 备用存储站点,现用存储站点的存储池下的逻辑单元号lun被复制到备用存储站点的存储池下的lun并且形成一致性组。在一些实施例中,方法200可以由稍后结合图4所描述的用于存储系统的装置400来执行。

如图2中所示出的,方法200在开始之后可以进入步骤201。在步骤201中,在现用存储站点和备用存储站点处分别创建至少一个互为镜像的第一lun和第二lun。下面结合图3a来更加具体地描述方法200的步骤201。

图3a示意性地示出了根据本公开内容的实施例的在现用存储站点和备用存储站点处创建lun镜像的示图。如图3a中所示出的,现用存储站点310和备用存储站点320分别包括存储池311和321。此外,现用存储站点310还可以包括虚拟nas服务器(例如,vdm)312与其所有的文件系统313、快照314和网络配置315等。现用存储站点310与备用存储站点320之间形成了一致性组cg330。

在用于存储系统300的远程复制会话技术场景中,为了扩展现用存储站点310的存储池311的空间和备用存储站点320的存储池321的空间,可以在存储系统300中创建块存储的lun镜像340和350,然后等待lun镜像340和350完成初始复制。如图3a中所示出的,lun镜像340由位于现用存储站点310处的lun341和位于备用存储站点320处的lun342形成,lun镜像350由位于现用存储站点310处的lun351和位于备用存储站点320处的lun352形成。

当现用存储站点310由于发生灾难等原因变为不可用时,存储系统300将切换一致性组cg330的角色,包括cg330中的每对镜像lun的角色。原来的现用存储站点310将变为备用,原来的备用存储站点320将变为现用,并且反之亦然。

如果现用存储站点310在方法200的步骤201这个阶段发生灾难,对已有的复制会话将没有影响,因为lun镜像340和350还没有被添加到一致性组cg330中。应当理解,图3a中为了说明的目的示例性地图示了仅两个lun镜像340和350,但是在其他实施例中,更 少或者更多数目的lun镜像也是可能的。

返回到图2,在步骤201之后,方法200可以进入步骤202,在步骤202中,将该至少一个第一lun和第二lun形成的镜像添加到一致性组中。下面结合图3b来更加具体地描述方法200的步骤202。

图3b示意性地示出了根据本公开内容的实施例的将所创建的镜像添加到一致性组的示图。如图3b中所示出的,将lun镜像340和350添加到块存储的一致性组cg330中。换句话说,将位于现用存储站点310处的lun341和位于备用存储站点320处的lun342、以及位于备用存储站点320处的lun351和位于备用存储站点320处的lun352添加到一致性组cg330中。

在新创建的lun镜像340和350完成同步并且添加到一致性组cg330之后,如果现用存储站点310由于发生灾难等原因变为不可用,则lun镜像340和350的角色将与一致性组cg330中的其他lun镜像一起切换。

另外,lun镜像340和350在添加到一致性组cg330之前必须是同步的,否则存储系统300将会拒绝该添加,以确保一致性组cg330能够在灾难恢复期间恰当地被操作。

因此,在一些实施例中,方法200可以进一步包括:在将该至少一个第一lun和第二lun形成的镜像添加到一致性组中之前,确定该至少一个第一lun和第二lun已经完成同步。

返回到图2,在步骤202之后,方法200可以进入步骤203,在步骤203中,在将该至少一个第二lun添加到备用存储站点的存储池之后,将该至少一个第一lun添加到现用存储站点的存储池。下面结合图3c和3d来更加具体地描述方法200的步骤203。

图3c示意性地示出了根据本公开内容的实施例的扩展备用存储站点的存储池的示图。如图3c中所示出的,可以首先扩展备用存储站点320的存储池321。也就是说,将lun镜像340和350中的lun342和352添加到备用存储站点320的存储池321中。

注意,用户数据仅能够在lun342和352被添加到存储池321 之后才可能被写入lun342和352。在lun342和352被添加到备用存储站点320的存储池321之后,因为在备用存储站点320处并不存在用户的写入操作,所以如果现用存储站点310在这个阶段之后有灾难发生,将不会有任何数据损失。

另外,存储系统300需要确保在扩展备用存储站点320的存储池321之前,lun342和352必须被添加到同步复制会话的一致性组cg330中。因此,在一些实施例中,方法200可以进一步包括:在将该至少一个第二lun添加到备用存储站点的存储池之前,确定镜像已经被添加到一致性组中。

图3d示意性地示出了根据本公开内容的实施例的扩展现用存储站点的存储池的示图。如图3d中所示出的,在完成了扩展备用存储站点320的存储池321之后,可以扩展现用存储站点310的存储池311。也就是说,将lun镜像340和350中的lun341和351添加到现用存储站点310的存储池311。

在lun341和351被添加到现用存储站点310的存储池311之后,用户数据能够写到lun341和351,并且因为lun341和351到备用存储系统320侧的镜像lun342和352是同步的,所以如果现用存储站点310在这个阶段期间发生灾难,将不会发生数据丢失。

另外,存储系统300可以检查备用存储系统320的存储池321必须首先被扩展,以确保在现用存储系统310的存储池311被扩展之后,如果发生灾难将不会有潜在的数据丢失。因此,在一些实施例中,方法200可以进一步包括:在将该至少一个第一lun添加到现用存储站点的存储池之前,确定已经将该至少一个第二lun添加到备用存储站点的存储池。

根据本公开内容的一些实施例,方法200可以进一步包括:当现用存储站点310变为不可用时,将一致性组330中的原现用lun作为备用lun并且将原备用lun作为现用lun。

在一些实施例中,存储系统300可以是网络附加存储nas系统。在一些实施例中,存储池311和321可以包括以下各项中的至少一项: 虚拟nas服务器、文件系统、快照、以及网络配置。

图4示意性地示出了根据本公开内容的实施例的用于存储系统的装置400的框图。在图4所示出的框图中,使用虚线框来表示可选的单元或组件。本领域的技术人员可以理解,图4中仅示出了装置400中的与本公开内容紧密相关的单元或组件,在具体的实践中,装置400可以包括使其能够正常操作的其他功能单元或组件。此外,图4中所示出的各个单元或组件之间可以存在必要的连接关系,但是出于简洁的考虑,图4中并没有描绘出这些连接关系。

如上文所描述的,装置400所针对的存储系统包括现用存储站点和备用存储站点,现用存储站点的存储池下的逻辑单元号lun被复制到备用存储站点的存储池下的lun并且形成一致性组。

如图4中所示出的,装置400包括创建单元401和添加单元402。创建单元401被配置为在现用存储站点和备用存储站点处分别创建至少一个互为镜像的第一lun和第二lun。添加单元402被配置为将该至少一个第一lun和第二lun形成的镜像添加到一致性组中。添加单元402进一步被配置为,在将该至少一个第二lun添加到该备用存储站点的存储池之后,将该至少一个第一lun添加到该现用存储站点的存储池。

在一些实施例中,装置400可以进一步包括:切换单元403,被配置为当现用存储站点变为不可用时,将一致性组中的原现用lun作为备用lun并且将原备用lun作为现用lun。

在一些实施例中,装置400可以进一步包括:第一确定单元404,被配置为在将该至少一个第一lun和第二lun形成的镜像添加到一致性组中之前,确定该至少一个第一lun和第二lun已经完成同步。

在一些实施例中,装置400可以进一步包括:第二确定单元405,被配置为在将该至少一个第二lun添加到备用存储站点的存储池之前,确定镜像已经被添加到一致性组中。

在一些实施例中,装置400可以进一步包括:第三确定单元406,被配置为在将该至少一个第一lun添加到现用存储站点的存储池之 前,确定已经将该至少一个第二lun添加到备用存储站点的存储池。

在一些实施例中,存储系统可以是网络附加存储nas系统。在一些实施例中,存储池可以包括以下各项中的至少一项:虚拟nas服务器、文件系统、快照、以及网络配置。

图5示意性地示出了一个可以用来实施本公开内容的实施例的设备500的框图。如图5中所示出的,设备500包括中央处理单元(cpu)501,其可以根据存储在只读存储器(rom)502中的计算机程序指令或者从存储单元508加载到随机访问存储器(ram)503中的计算机程序指令,来执行各种适当的动作和处理。在ram503中,还可存储设备500操作所需的各种程序和数据。cpu501、rom502以及ram503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。

设备500中的多个部件连接至i/o接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

上文所描述的各个过程和处理,例如方法200,可由处理单元501来执行。例如,在一些实施例中,方法200可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由rom502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序被加载到ram503并由cpu501执行时,可以执行上文描述的方法200的一个或多个步骤。

在对本公开内容的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。

应当注意,本公开内容的实施例可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。

此外,尽管在附图中以特定顺序描述了本公开内容的方法的操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤组合为一个步骤执行,和/或将一个步骤分解为多个步骤执行。还应当注意,根据本公开内容的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。

虽然已经参考若干具体实施例描述了本公开内容,但是应当理解,本公开内容不限于所公开的具体实施例。本公开内容旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等效布置。

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