存储方法和装置及其存储系统与流程

文档序号:15076550发布日期:2018-08-01 01:52阅读:211来源:国知局

本发明涉及存储领域,更具体地涉及存储方法和装置及其存储系统。



背景技术:

容灾系统是指在两处地方建立两套或多套功能相同的it系统,互相之间可以进行健康状态监视和功能切换,当一处系统因意外(如火灾、地震等)停止工作时,整个应用系统可以切换到另一处,使得该系统功能可以继续正常工作。传统容灾系统架构采用一个主数据中心和一个备份数据中心的模式,其中主数据中心负责正常情形下的数据生产和消费,备份数据中心对主数据中心的数据进行备份。当发生灾难或故障时,数据生产和消费被切换到备份数据中心。

然而,灾难是一个小概率事件,采用传统的一主一备方式,备份数据中心只在灾难发生时才能起到作用,这对于企业用户来说是it资源和资金的浪费。并且在发生灾难后,业务需要一定的时间才能切换到备份数据中心。



技术实现要素:

本发明提供了新颖的存储方法和装置及其存储系统。

根据本发明实施例的存储方法,包括:创建第一虚拟存储单元,第一虚拟存储单元与第一存储设备中的第一存储单元相对应;创建第二虚拟存储单元,第二虚拟存储单元与第二存储设备中的第二存储单元相对应;以及通过第一虚拟存储单元或第二虚拟存储单元访问对应的第一存储单元或第二存储单元,其中第一虚拟存储单元与第二虚拟存储单元具有相同的存储单元标识。

根据本发明实施例的存储装置,包括:第一创建模块,被配置为创建第一虚拟存储单元,第一虚拟存储单元与第一存储设备中的第一存储单元相对应;第二创建模块,被配置为创建第二虚拟存储单元,第二虚拟存储单元与第二存储设备中的第二存储单元相对应;以及访问模块,被配置为通过第一虚拟存储单元或第二虚拟存储单元访问对应的第一存储单元或第二存储单元,其中第一虚拟存储单元与第二虚拟存储单元具有相同的存储单元标识。

根据本发明实施例的存储系统,包括第一存储设备和第二存储设备,每个存储设备包括存储单元和与该存储单元相对应的虚拟存储单元,其中,每个存储设备中的存储单元是通过与该存储单元相对应的虚拟存储单元来进行访问的;并且其中,第一存储设备中的虚拟存储单元与第二存储设备中的虚拟存储单元具有相同的存储单元标识,从而使得第一存储设备的虚拟存储单元和第二存储设备的虚拟存储单元被发出访问请求的主机视为同一虚拟存储单元。

附图说明

通过阅读以下参照附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显,其中,相同或相似的附图标记表示相同或相似的特征。

图1(a)-图1(c)示出一般数据容灾处理过程的示意图;

图2是示出了通过虚拟化网关实现的双活数据中心方案的示例性架构示意图;

图3是根据本发明实施例的存储方法的示例流程图;

图4是示出了图3所示的方法的具体实现示例的图示;

图5是图3中所示的步骤s306的一种具体处理的示例流程图;

图6(a)-图6(c)示出了根据本发明实施例的存储设备和主机之间的读写操作的示例流程图;

图7是根据本发明实施例的存储方法在一个存储设备出现故障时的处理的示意图示;

图8是根据本发明实施例的存储装置的示例图示;以及

图9是示出能够实现根据本发明实施例的存储方法及其装置或者存储系统中的存储设备的计算设备的示例性硬件架构的结构图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本发明更全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中,为了清晰,可能夸大了区域和层的厚度。在图中相同的附图标记表示相同或类似的结构,因而将省略它们的详细描述。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、组元、材料等。在其它情况下,不详细示出或描述公知结构、材料或者操作以避免模糊本发明的主要技术创意。

图1(a)-图1(c)示出了一般数据容灾处理过程的示意图。图1

(a)示出了一般数据容灾的存储同步复制过程,如图1(a)所示,主机首先向主存储发送写请求;主存储接收到写请求后在主卷中写入数据并且把写入的数据同步备份至备用存储中的备卷;在远程同步完成之后,主存储向主机发送写完成消息,并结束整个过程。图1(b)示出了一般数据容灾的存储异步复制过程,如图1(b)所示,主机首先向主存储发送写请求;主存储接收到写请求后在主卷中写入数据并且向主机返回写完成消

息;此后主存储把写入的数据异步备份至备用存储中的备卷,然后确认远程备份完成,从而结束整个过程。图1(c)示出了一般数据容灾的数据读取过程,如图1(c)所示,该过程仅发生于主存储和主机之间,主机向主存储发送读请求,并且主存储向主机发送读完成消息。

由上可知,在一般数据容灾处理过程中,主机的数据写入请求是向主存储发起的,并由主存储向备用存储发起数据同步操作,而备用存储数据处于同步阶段时,主机无法直接向其发起数据读写操作。主机发起数据读取操作时,仅仅只能从主存储读取数据。当主存储因故无法提供数据io(输入输出)请求时,切换到备用存储需要中断业务。

与一般数据容灾处理方案相比,双活数据中心方案的特点在于两个数据中心(例如,主数据中心和灾备数据中心)都是在线运行的。如果其中的任何一个数据中心停止运行,另外一个数据中心还是能够正常运行的,业务没有中断,一个中心的停止运行对用户来说是不可感知的,业务几乎不受影响。图2是示出了通过虚拟化网关实现的双活数据中心方案的示例性架构示意图。如图2中所示,主数据中心和灾备数据中心中的虚拟化网关分别接管各自数据中心的存储。主机访问存储需通过虚拟网关进行分

配,主存储与备存储之间复制通过虚拟网关进行数据交互。从图2中可以看出,这种方式需要额外的设备(虚拟化网关)来进行接管,虚拟化网关是此种双活数据中心方案的性能瓶颈和最大故障点。例如,如果虚拟化网关设备故障或者其他原因无法访问时,主机不但无法访问主数据中心,而且无法访问灾备数据中心。

鉴于上面提到的各种不足,本发明提供了一种新颖的存储方法、存储装置及存储系统,其通过存储单元虚拟化技术实现完全基于存储设备的底层存储数据双活并且零切换时间的技术效果。

图3示出了根据本发明实施例的存储方法的示例流程图。如图3所示,该方法300包括:s302,创建第一虚拟存储单元,第一虚拟存储单元与第一存储设备中的第一存储单元相对应;s304,创建第二虚拟存储单元,第二虚拟存储单元与第二存储设备中的第二存储单元相对应;以及s306,通过第一虚拟存储单元或第二虚拟存储单元访问对应的第一存储单元或第二存储单元,第一虚拟存储单元与第二虚拟存储单元具有相同的存储单元标识。

在一个实施例中,第一虚拟存储单元可被创建于第一存储设备中,并且第二虚拟存储单元可被创建于第二存储设备中。在另一实施例中,第一存储设备可以是主存储设备,而第二存储设备可以是备用存储设备。在又一实施例中,存储单元标识可包括序列号(sn)和逻辑单元号(logicunitnumber,简称为lun)。

在一些实施例中,图3中的存储方法是在由该第一存储设备和第二存储设备组成的存储系统的控制器层次实现的,从而对第一存储设备和第二存储设备的存储数据的访问进行统一管理和配置。在另一些实施例中,图3中所示的存储方法可以在第一存储设备和第二存储设备上本地实现。也就是说,第一存储设备和第二存储设备分别创建与其中的存储单元(例如,lun或者物理磁盘)相对应的第一虚拟存储单元和第二虚拟存储单元。本发明不对存储方法的具体实现进行任何限制,本领域技术人员可以想到任何其他的方式来实现本发明所记载的存储方法。

另外,本领域技术人员应当认识到,尽管方法300描述了创建第一和第二虚拟存储单元,但是方法300还可包括类似地创建其它的虚拟存储单元,本发明不对创建的虚拟单元的数目或者存储设备或存储单元的数目进行任何限定。

图4示出了图3所示的方法的具体实现示例的图示。如图4所示,sn为12345的第一存储设备和sn为23456的第二存储设备中可分别包括具有lun00:01的第一存储单元和具有lun00:02的第二存储单元。第一存储设备和第二存储设备可共同虚拟出一台sn为34567的虚拟存储设备。lunid为00:01的来自物理存储12345和lunid为00:02的来自物理存储23456的lun,可在虚拟存储34567中均被虚拟为lunid为00:00的lun。这样在主机端识别到来自这2个物理存储的lun均认为是来自存储34567的lun。

在一些实施例中,可虚拟出与第一存储单元对应的第一虚拟存储单元和与第二存储单元对应的第二虚拟存储单元,二者具有相同的存储单元标识,即sn34567和lun00:00。

图5是图3中所示的步骤s306的一种具体处理的示例流程图。如图4所示,步骤s306可以包括:s3062,接收对于具有该存储单元标识的虚拟存储单元的访问请求;s3064,将访问请求发送至第一虚拟存储单元或第二虚拟存储单元;以及s3066,接收来自第一虚拟存储单元或第二虚拟存储单元的响应。

图5所示的具体处理可以在由第一存储设备和第二存储设备组成的存储系统的控制器层次实现。例如,当从主机(例如,服务器主机)接收到对于具有该存储单元标识的虚拟存储单元的访问请求时,控制器识别出第一虚拟存储单元和第二虚拟存储单元具有该存储单元标识,并且可以根据预定条件或者随机选择将访问请求发送至第一虚拟存储单元和第二虚拟存储单元中的一者。预定条件例如可以是以下各项中的一项或多项:网络条件、存储设备的处理负荷等等。

在一些实施例中,发送到第一虚拟存储单元或第二虚拟存储单元的访问请求可被进而转发至与第一虚拟存储单元或第二虚拟存储单元相对应的第一存储单元或第二存储单元。访问请求可以是数据写入请求或者数据读取请求。例如,当访问请求是数据写入请求时,在接收到该请求之后,将请求的数据写入到第一存储单元或第二存储单元中并经由对应的第一虚拟存储单元或第二虚拟存储单元发送数据写入完成的响应消息。在另一示例中,当访问请求是数据读取请求时,在接收到该请求之后,从第一存储单元或第二存储单元中读取所请求的数据并经由对应的第一虚拟存储单元或第二虚拟存储单元发送具有所读取的数据的响应消息。

图6(a)-图6(c)示出了根据本发明实施例的存储设备和主机之间的读写操作的示例流程图。在图6(a)中示出了根据本发明实施例的第一和第二存储设备(例如,主存储和备存储)与主机之间的写操作的示例流程图,如图6(a)所示,来自主机的写请求被发送至与第二虚拟存储设备相对应的备存储,备存储在接收到该写请求后将数据写入备存储中的存储单元并且将数据同步至主存储中的存储单元。在图6(b)中示出了根据本发明实施例的第一和第二存储设备(例如,主存储和备存储)与主机之间的读操作的示例流程图,如图6(b)所示,备存储接收到来自主机的读请求并返回读完成消息。在图6(b)中示出了根据本发明实施例的第一和第二存储设备(例如,主存储和备存储)与主机之间的具有排他锁的写操作的示例流程图。如图6(c)所示,来自主机的写请求被发送至与第一虚拟存储设备相对应的主存储,主存储在接收到该写请求后将数据写入主存储中的存储单元并且将数据同步至备存储中的存储单元。在图6(c)中,排他锁是在数据被写入到主存储和备存储二者中的存储单元之后再进行释放的,这保证了主存储和备存储中存储的数据的一致性。

主存储和备存储均可接收到来自主机的读请求,如主存储或备存储与主机之间的双向箭头所示。但针对单个写请求或读请求而言,主存储和备存储中仅有一者能够接收到该单个读写请求。图6(a)-图6(c)分别示出了由主存储或备存储接收到单个读请求或写请求时的示例处理过程。本领域技术人员应当知道,当同一主机针对相同的存储单元标识发出多个请求,这多个请求可随机地或者根据预定条件地被发送至主存储或备存储中的对应存储单元。

图7是根据本发明实施例的存储方法在一个存储设备出现故障时的处理的示意图示。如图7中所示,当物理存储sn12345发生故障无法访问时,主机经由虚拟存储sn34567访问物理存储sn23456。在一些实施例中,当任何一台物理存储发生故障不能访问后,不影响主机端数据输入输出和业务正常运行。主机继续向其中正常的存储发起输入输出操作,主机端可能仅仅感知到是访问的存储lun路径有丢失。

根据图3至图7的相关描述可知,根据本发明实施例的存储方法通过存储单元虚拟化技术克服了上述不足,实现了完全基于存储设备的底层存储数据双活并且零切换时间的技术效果。

下面结合图8描述根据本发明实施例的存储装置。如图8所示,根据本发明实施例的存储装置800可包括第一创建模块802、第二创建模块804和访问模块806。第一创建模块802可被配置为创建第一虚拟存储单元,第一虚拟存储单元与第一存储设备中的第一存储单元相对应;第二创建模块804可被配置为创建第二虚拟存储单元,第二虚拟存储单元与第二存储设备中的第二存储单元相对应;并且访问模块806可被配置为通过第一虚拟存储单元或第二虚拟存储单元访问对应的第一存储单元或第二存储单元。在一个示例中,第一虚拟存储单元与第二虚拟存储单元具有相同的存储单元标识。

在一些实施例中,访问模块806可进一步包括请求接收子模块8062、请求发送子模块8064和响应接收子模块8066。请求接收子模块8062可被配置为接收对于具有存储单元标识的虚拟存储单元的访问请求;请求发送子模块8064可被配置为将访问请求发送至第一虚拟存储单元或第二虚拟存储单元;并且响应接收子模块8066可被配置为接收来自第一虚拟存储单元或第二虚拟存储单元的响应。

在一个实施例中,请求发送子模块8064还可被配置为:当第一存储设备出现故障时,将访问请求发送至第二虚拟存储单元;或者当第二存储设备出现故障时,将访问请求发送至第一虚拟存储单元。

根据本发明实施例的存储装置的其他细节与以上结合图3至图7描述的相应方法相同,这里不再赘述。

根据本发明实施例的存储装置可以通过存储单元虚拟化技术实现完全基于存储设备的底层存储数据双活并且零切换时间的技术效果。

根据本发明的一些实施例,公开了一种存储系统,包括第一存储设备和第二存储设备,每个存储设备包括存储单元和与该存储单元相对应的虚拟存储单元,其中,每个存储设备中的存储单元是通过与该存储单元相对应的虚拟存储单元来进行访问的;并且其中,第一存储设备中的虚拟存储单元与第二存储设备中的虚拟存储单元具有相同的存储单元标识,从而使得第一存储设备的虚拟存储单元和第二存储设备的虚拟存储单元被发出访问请求的主机视为同一虚拟存储单元。

在一个实施例中,对于具有存储单元标识的虚拟存储单元的访问请求能够到达第一存储设备和第二存储设备中任一存储设备中与具有存储单元标识的虚拟存储单元相对应的存储单元。在另一实施例中,如果第一存储设备和第二存储设备中的任一存储设备出现故障,则服务器主机可根据存储单元标识发出的访问请求将直接到达第一存储设备和第二存储设备中没有出现故障的存储设备中的存储单元。该访问请求可包括数据写入请求和数据读取请求。在又一实施例中,如果来自服务器主机的数据写入请求到达第一存储设备的存储单元,则第一存储设备自动将写入的数据同步至第二存储设备中的相应存储单元;如果来自服务器主机的数据写入请求到达第二存储设备的存储单元,则第二存储设备自动将写入的数据同步至第一存储设备中的相应存储单元。

结合图1至图8描述的存储方法及其装置的至少一部分或者存储系统中的第一或第二存储设备可以由计算设备实现。图9示出能够实现根据本发明实施例的存储方法及其装或者存储系统中的第一或第二存储设备的计算设备的示例性硬件架构的结构图。如图9所示,计算设备900包括输入设备901、输入接口902、中央处理器903、存储器904、输出接口905、以及输出设备906。其中,输入接口902、中央处理器903、存储器904、以及输出接口905通过总线910相互连接,输入设备901和输出设备906分别通过输入接口902和输出接口905与总线910连接,进而与计算设备900的其他组件连接。具体地,输入设备901接收来自外部的输入信息,并通过输入接口902将输入信息传送到中央处理器903;中央处理器903基于存储器904中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器904中,然后通过输出接口905将输出信息传送到输出设备906;输出设备906将输出信息输出到计算设备900的外部供用户使用。

也就是说,图8所示的装置也可以被实现为包括:存储有计算机可执行指令的存储器;以及处理器,该处理器在执行计算机可执行指令时可以实现结合图3至图7描述的存储方法。这里,处理器可以基于输入信息执行计算机可执行指令,从而实现结合图3至图8描述的存储方法及其装置。

需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。

以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

本发明可以以其他的具体形式实现,而不脱离其精神和本质特征。例如,特定实施例中所描述的算法可以被修改,而系统体系结构并不脱离本发明的基本精神。因此,当前的实施例在所有方面都被看作是示例性的而非限定性的,本发明的范围由所附权利要求而非上述描述定义,并且,落入权利要求的含义和等同物的范围内的全部改变从而都被包括在本发明的范围之中。

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