数据存储系统及在其中存储数据的方法技术方案

技术编号:3517931 阅读:141 留言:0更新日期:2012-04-11 18:40
提高数据存储系统拷贝操作效率的方法、设备和计算机程序产品。多个虚拟存储控制器均连到主机设备和两个虚拟存储服务器。服务器都连到相应自动存储库。控制器均有拷贝队列。在指示由服务器之一在相关存储库介质上存储客户数据卷后,发起控制器在队列中排队拷贝卷到其它存储库的请求。如该控制器很短时间内未处理请求,向其它控制器广播请求。请求最好先从该控制器发到服务器之一中向各其它控制器广播请求的路由设备。请求在其它控制器的队列中排队。控制器之一处理请求且卷已拷到第二存储库后,向将请求移出相应队列的其它控制器广播消息。发起控制器收到消息时向主机设备发送指示卷已成功存储拷贝的消息。

【技术实现步骤摘要】

本专利技术通常涉及数据存储系统,尤其涉及在虚拟存储控制器中提供更有效的卷拷贝操作。
技术介绍
高端存储控制器管理从联网主机到诸如存储库的一个或多个存储单元的输入/输出(I/O)请求。存储控制器包括一个或多个主机总线适配器或接口,用于和一个或多个主机通信,以及用于与连接有存储单元的存储服务器通信的适配器或接口。包括存储系统的信息技术系统需要得到保护以避免站点灾难和停机,其中停机可以计划中的或非计划的。此外,信息技术系统可能需要数据迁移、数据备份或数据复制等功能。灾难或停机恢复、数据迁移、数据备份和数据复制的实现可以包括镜像或拷贝存储系统中的数据。这种数据的镜像或拷贝可以涉及信息技术系统的主机、存储系统和连接联网部件间的交互。在对等(“PtP”)存储环境中,两个虚拟存储服务器均被连接到若干(诸如4或8个)虚拟存储控制器。主机设备连接到每个控制器并且每个服务器连接到存储库。存储库可以包括许多存储驱动器、用于大量数据盒式磁带的机架、以及一个或多个存取器,用来在机架和存储驱动器之间传送所请求的盒式磁带。整个系统对于主机设备而言就像是单个自动存储库。这里将结合存储在磁带介质上的数据来描述本专利技术。这样,“虚拟存储控制器”和“虚拟存储服务器”在此也可以分别被称为“虚拟磁带控制器”(“VTC”)和“虚拟磁带服务器”(“VTS”)。然而,本专利技术不局限于在磁带环境中使用,其也可以用于其它环境中,诸如磁盘存储和光盘存储。图1是其中可实施本专利技术的典型数据存储系统100的方框图。若干(通常是4或8个)诸如IBMModel AX的虚拟磁带控制器110A、110B、110C和110D的每个都连接到两个诸如IBM 3494 Model Bxx虚拟磁带服务器的虚拟磁带服务器120A和120B上。第一VTS 120A连接到第一磁带库130A,并且第二VTS 120B连接到第二磁带库130B。磁带库130A和130B可以是IBM Model 3494磁带库。每个VTC 110A-D也连接到主机设备140,诸如IBM系统/390。所描述的配置允许对等拷贝操作。在图2所示的传统方法中,客户数据150的卷作为写请求的一部分从主机140传送到VTC之一110A(步骤1)。卷150被传送到VTS之一120A以最终在有关磁带库130A中的磁带介质上存储(步骤3)。此外,接收主机写请求的VTC 110A也向第二VTS 120B发出请求(步骤4),以将卷150拷贝到第二磁带库130B中的介质上(步骤5)。当在立即方式下操作时,在向主机140提供写请求已经完成的确认之前(步骤7),第一VTC110A一直等待,直到向其通知卷150已经拷贝到第二磁带库130B中(步骤6)。在延迟模式下,在通知第一VTC 110A卷150已经拷贝到第二磁带库130B中之前,第一VTC 110A可以向主机140通知写请求已经完成。在主机140接收到来自VTC 110A的“完成”消息后,它就可以自由地进行其它操作,包括进一步的I/O操作。在所述的传统方法中,主机设备140通常选择VTC来基本上独立于VTS 110A-D当前工作负载地处理写入操作。因为AX VTC仅仅可以同时执行三个复制操作,而在其工作队列中可能还有大量的积压操作,诸如16或32个复制操作。因此,在能够通知主机140操作已经完成之前,可能已经花费了大量的时间,因此妨碍了主机140在同一时间段执行其它操作。此外,如果另一VTC仅有很少的作业在其队列中,那么它就会空闲,同时第一VTC却在处理其队列中的作业。如果特定的VTC-VTS通信连接被“过度用于”(over-utilized)其它主机I/O操作,那么也会引发同样的问题。这些其它操作能够导致队列中的拷贝请求被延迟。因此,需要一种更有效的方法来分配拷贝请求。
技术实现思路
本专利技术提供了一种用于提高数据存储系统中的拷贝操作的效率的方法、设备和计算机程序产品。多个虚拟存储控制器均与一主机设备和两个虚拟存储服务器连通。每个虚拟存储服务器都连接有一相应的自动存储库。每个控制器包括一拷贝队列。在指示通过服务器之一把客户数据的卷存储在相关存储库的介质上后,发起方控制器把用于将该卷拷贝到其它存储库的请求在拷贝队列中排队。如果发起方控制器在一段很短的时间内没有处理该请求,则该发起方控制器向其它控制器广播该拷贝请求。最好是,该拷贝请求首先由发起方控制器发送到服务器之一中的路由设备上,由其向每个其它控制器广播该请求。该拷贝请求在每个其它控制器的拷贝队列中排队。在控制器中的一个处理该请求并且该卷已经拷贝到第二存储库后,进行处理的控制器向其它控制器广播一个消息,所述其它控制器则将所述拷贝请求从各自的拷贝队列中移出。在收到这一消息时,发起方控制器向主机设备发送一个指示该卷已被成功存储和拷贝的消息。为了减少两个或更多的控制器试图基本同时地处理该拷贝请求的可能性,最好在拷贝请求被放置到每个拷贝队列的时间和其被每个控制器处理的时间之间设置一个延迟。该延迟可以是对每个控制器预定的,或者可以是针对每个拷贝请求随机产生的。附图说明图1是其中可实现本专利技术的数据存储系统的方框图;图2的方框图示出了在数据存储系统中处理拷贝请求的现有方法;图3的方框图示出了在数据存储系统中处理拷贝请求的本专利技术的方法;图4是本专利技术方法的流程图;以及图5是本专利技术虚拟存储控制器的方框图。具体实施例方式参考图3的方框图和图4的流程图,将描述本专利技术的实现。数据存储系统300包括数个(诸如4或8个)虚拟磁带控制器310A、310B、310C和310D。每个控制器310A-D都通过适当的适配器和接口连接到两个虚拟磁带服务器320A和320B上。第一服务器320A连接到第一自动存储库330A,第二服务器320B连接到第二自动存储库330B上。每个控制器310A-D也通过适当的适配器和接口连接到主机设备340上。每个控制器310A-D分别包括拷贝队列312A-D,并且服务器320A和320B分别包括路由设备322A和322B。在操作中,主机340选择虚拟控制器310中的一个(步骤400)并发出一个用于存储客户数据的卷350的写请求(步骤402)。在所示的实例中,所选择的控制器是第二控制器310B;然而,如前所述,可以选择任一控制器。写请求从选择的虚拟控制器310B发送到两个虚拟服务器之一(在所示例子中,写请求被发送到第一服务器320A)(步骤404),由其继续在相关存储库330A中存储该卷(步骤406)。当主机完成了向控制器310B发出写请求时,主机发出一个“写完成”消息(步骤408)。所选择的控制器310B将该请求排列在其队列312B中,以通过第二服务器320B来拷贝该卷,从而存储在相关存储库330B中(步骤410)。如果在第二控制器310B的拷贝队列312B中有少量待处理的作业(步骤412),则通过向第二服务器320B发送拷贝请求,该请求可在相对较短的时间内被处理,诸如一秒(步骤414)。然而,在第二控制器的队列中会有更多待处理作业以便立即处理该请求。不同于允许拷贝请求一直等待直到其到达队列的起始处(这将可能花费几分钟或更长时间)的方式,第二控制器310B向其它控制器310A、310C和310D广播该拷贝请求(步骤416)。最好本文档来自技高网
...

【技术保护点】
一种在数据存储系统中存储数据的方法,所述数据存储系统具有两个虚拟服务器、均与主机设备和每个虚拟服务器相连的多个虚拟控制器,每个虚拟服务器都进一步连接到两个存储库中的一个,该方法包括:在第一虚拟控制器中接收来自主机设备的用于存储数据卷 的写请求;将该卷发送到第一虚拟服务器以便在第一存储库中存储;将拷贝该卷的请求在第一虚拟控制器的队列中排队;如果拷贝请求在预定时间内没有被第一虚拟控制器处理,则:向每个其它虚拟控制器广播该拷贝请求;将该 拷贝请求放置到每个其它虚拟控制器的拷贝队列中;由虚拟控制器中的一个处理该拷贝请求;以及从进行处理的虚拟控制器向每个未进行处理的控制器广播一个“完成”消息;以及从第一虚拟控制器向主机设备发送“拷贝完成”消息。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:基思A贝洛迪安L汉森马克A里德
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利