向执行中的程序提供对非本地块数据存储装置的可靠访问制造方法及图纸

技术编号:12487677 阅读:83 留言:0更新日期:2015-12-11 02:08
本发明专利技术描述了用于管理执行中的程序对非本地块数据存储装置的访问的技术。在一些情况下,块数据存储服务使用多个服务器存储系统来可靠地存储块数据,该块数据在一个或多个网络上可由其他物理计算系统上执行的程序来访问。用户可以创建均由至少两个服务器块数据存储系统存储的块数据存储卷,并且可以发起一个或多个执行中的程序对这种卷的使用,例如,通过使在第一卷拷贝变得不可用的情况下能够自动切换到第二卷拷贝来以可靠的方式发起。在一些情况下,一组存储了块数据卷的多个服务器块数据存储系统可以在数据中心协同定位,并且使用在其中存储的卷的程序可以在该数据中心处的其他物理计算系统上执行。

【技术实现步骤摘要】
向执行中的程序提供对非本地块数据存储装置的可靠访问本申请是申请日为2009年8月7日、申请号为200980140118.1、专利技术名称为“向执行中的程序提供对非本地块数据存储装置的可靠访问”的中国专利申请的分案申请。
技术介绍
很多公司和其他组织运营将许多计算系统相互连接以支持其操作的计算机网络,例如协同定位的(如,作为局域网的一部分)或位于多个不同地理位置(如,经由一个或多个私有或公共中间网络而连接)中的计算系统。例如,容纳大量协同定位的互连计算系统的数据中心已经变得平常,例如由单一组织运营以及代表单一组织运营的私有数据中心,以及由作为企业的实体运营的公共数据中心。一些公共数据中心运营商针对各个客户所拥有的硬件提供网络接入、电源以及安全安装设施,而其他公共数据中心运营商提供“完整服务”设施,该完整服务设施还包括其客户可使用的硬件资源。然而,由于典型数据中心和计算机网络的规模和范围已经增大,提供、掌管和管理相关物理计算资源的任务已变得日益复杂。在针对具有多样需求的许多客户而管理大规模计算资源的方面,商品硬件的虚拟化技术的出现提供了一些好处,允许在多个客户之间高效且安全地共享各种计算资源。例如,诸如由XEN、VMWare或用户模式Linux提供的虚拟化技术之类的虚拟化技术可以允许通过向每个用户提供一个或多个虚拟机,同时还在各个虚拟机之间提供应用隔离度和安全性,来在多个用户之间共享单一物理计算系统,该一个或多个虚拟机是以该单一物理计算系统作为宿主(host)的,其中,每个这种虚拟机都是充当不同逻辑计算系统的软件仿真,该逻辑计算系统向用户提供他们是给定硬件计算资源的唯一运营商和管理员的错觉。此外,一些虚拟化技术还提供跨越一个或多个物理资源的虚拟资源,例如,具有多个虚拟处理器的、实际上跨越多个不同物理计算系统的单一虚拟机。附图说明图1是示意了示例实施例的网络图,在该示例实施例中,多个计算系统执行程序并访问可靠的非本地块数据存储装置。图2A-2F示意了向客户端提供可靠的非本地块数据存储功能的示例。图3是示意了适于管理向客户端提供可靠的非本地块数据存储功能和由客户端使用可靠的非本地块数据存储功能的示例计算系统的框图。图4示意了块数据存储系统管理器例程的示例实施例的流程图。图5示意了节点管理器例程的示例实施例的流程图。图6示意了块数据存储服务器例程的示例实施例的流程图。图7A-7B示意了程序执行服务系统管理器例程的示例实施例的流程图。图8示意了块数据存储档案管理器例程的示例实施例的流程图。具体实施方式描述了用于管理执行中的程序对非本地块数据存储装置的访问的技术。在至少一些实施例中,该技术包括提供块数据存储服务,块数据存储服务使用多个服务器存储系统,以可靠地存储可由在其他物理计算系统上执行的程序通过一个或多个网络而访问并使用的块数据。块数据存储服务的用户均可以创建一个或多个块数据存储卷,每个块数据存储卷具有指定量的块数据存储空间,并可以发起由一个或多个执行中的程序对这种块数据存储卷(在此也称为“卷”)的使用,其中,至少一些这种卷具有由该多个服务器存储系统中的两个或更多服务器存储系统存储的拷贝,以增强卷对执行中的程序的可靠性和可用性。作为一个示例,在一些实施例中,可以将存储块数据的多个服务器块数据存储系统组织成一个或多个池或其他组,该一个或多个池或其他组中的每一个都具有在地理位置处(例如,在一个或多个地理上分布的数据中心中的每一个中)协同定位的多个物理服务器存储系统,以及,使用存储在数据中心中的服务器块数据存储系统上的卷的程序可以在该数据中心处的一个或多个其他物理计算系统上执行。下面包括了涉及块数据存储服务的实施例的附加细节,以及,可以通过块数据存储(“BDS”)系统管理器模块的实施例,自动执行用于提供块数据存储服务的至少一些所描述的技术。此外,在至少一些实施例中,通过一个或多个网络访问和使用一个或多个这种非本地块数据存储卷的执行中的程序均可以具有相关的节点管理器,该节点管理器管理程序对这些非本地卷的访问,该节点管理器例如是由块数据存储服务提供的节点管理器模块和/或结合一个或多个BDS系统管理器模块进行操作的节点管理器模块。例如,作为块数据存储服务的客户的第一用户可以创建第一块数据存储卷,并执行一个或多个计算节点上被指示以访问和使用该第一卷(例如,以串行的方式、以同时的方式或以其他交迭的方式等)的一个或多个程序拷贝。当在计算节点上执行的程序发起对非本地卷的使用时,该程序可以安装或以其他方式被提供有该计算节点本地的且表示该非本地卷的逻辑块数据存储设备,以便例如允许执行中的程序以同附着至该计算节点的其他任何本地硬件驱动器或其他物理块数据存储设备相同的方式与本地逻辑块数据存储设备进行交互(例如,执行读和写数据访问请求、在卷上实现文件系统或数据库或其他更高级数据结构等)。例如,在至少一些实施例中,可以经由使用GNBD(“全局网络块设备”)技术来使典型逻辑本地块数据存储设备对执行中的程序可用。此外,下面将更详细地讨论,当执行中的程序与典型本地逻辑块数据存储设备进行交互时,相关节点管理器可以通过在一个或多个网络上与存储相关非本地卷的拷贝(例如,以对执行中的程序和/或计算节点透明的方式)的至少一个服务器块数据存储系统进行通信来管理这些交互,以代表执行中的程序执行关于所存储的卷拷贝的交互。此外,在至少一些实施例中,通过节点管理器模块的实施例,自动执行用于管理执行中的程序对非本地块数据存储卷的访问的至少一些所描述的技术。此外,在至少一些实施例中,还可以将至少一些块数据存储卷(或这些卷的部分)存储在与用于存储卷拷贝的服务器块数据存储系统不同的一个或多个远程档案存储系统上。在各种实施例中,可以由块数据存储服务提供该一个或多个远程档案存储系统(例如,位于远离数据中心的位置处,或者位于具有协同定位的服务器块数据存储系统的池的其他地理位置处),或者可以由远程长期存储服务提供并由块数据存储装置使用该一个或多个远程档案存储系统,以及,在至少一些实施例中,档案存储系统可以存储具有除块数据外的格式的数据(例如,可以将卷的一个或多个段或部分存储为不同的对象)。在各种实施例中,可以以各种方式使用这种档案存储系统,以提供各种优点,如下面更详细地讨论。在远程长期存储服务提供档案存储系统的一些实施例中,同样作为远程长期存储服务的用户(例如,付费使用远程长期存储服务的远程长期存储服务客户)的块数据存储服务用户(例如,付费使用块数据存储服务的块数据存储服务客户)可以具有档案存储系统(例如响应于来自这些客户的指令)所存储的这些用户的块数据存储卷的至少部分。在其他实施例中,单一组织可以提供块数据存储服务能力和远程长期存储服务能力两者中的至少一些(例如,以集成的方式,如单一服务的一部分),而在又一些实施例中,可以在不包括对档案数据存储系统的使用的环境下提供块数据存储服务。此外,在至少一些实施例中,在一个或多个档案管理器模块的控制之下自动执行对档案存储系统的使用,该一个或多个档案管理器模块例如是由块数据存储服务提供的档案管理器模块或者被提供以与块数据存储服务的模块相结合进行操作(如,由远程长期存储服务提供以与块数据存储服务进行交互)的档案管理器模块。在一些实施例中,本文档来自技高网...

【技术保护点】
一种计算机实现方法,包括:通过程序执行服务的配置计算系统代表所述程序执行服务的客户在所述配置计算系统上执行程序;通过所述配置计算系统配置执行程序对块数据存储卷的访问,所述块数据存储卷存储在与所述配置计算系统相隔一个或多个网络的第一存储系统上,所述配置包括通过与所述块数据存储卷相关联的方式来存储与所述第一存储系统的位置有关的数据;在通过使用所存储的信息来通过所述一个或多个网络向所述第一存储系统发送所述执行程序对所述块数据存储卷的一个或多个数据访问请求之后,通过所述配置计算系统更新所述所存储的信息,以反映所述第一存储系统上的所述块数据存储卷被替换为不同的第二存储系统上所述块数据存储卷的拷贝,以及其中更新的所存储的信息包括以与所述块数据存储卷相关联的方式与所述第二存储系统的位置有关的信息;以及在更新所述所存储的信息之后,通过所述配置计算系统通过使用更新的所存储的信息来通过至少一个网络向所述第二存储系统的位置发送一个或多个附加数据访问请求,发起所述执行程序对所述块数据存储卷的所述附加数据访问请求的执行。

【技术特征摘要】
2008.08.08 US 12/188,949;2008.08.08 US 12/188,9431.一种计算机实现方法,包括:通过程序执行服务的配置计算系统代表所述程序执行服务的客户在所述配置计算系统上宿留的虚拟机上执行程序;通过所述配置计算系统的节点管理器或者程序执行服务的另一个计算系统配置执行程序对块数据存储卷的访问,所述块数据存储卷存储在与所述配置计算系统相隔一个或多个网络的第一存储系统上,所述配置包括通过与所述块数据存储卷相关联的方式来存储与所述第一存储系统的位置有关的数据;在通过使用所存储的信息来通过所述一个或多个网络向所述第一存储系统发送所述执行程序对所述块数据存储卷的一个或多个数据访问请求之后,通过所述配置计算系统更新所述所存储的信息,以反映所述第一存储系统上的所述块数据存储卷被替换为不同的第二存储系统上所述块数据存储卷的拷贝,以及其中更新的所存储的信息包括以与所述块数据存储卷相关联的方式与所述第二存储系统的位置有关的信息;以及在更新所述所存储的信息之后,通过所述配置计算系统通过使用更新的所存储的信息来通过至少一个网络向所述第二存储系统的位置发送一个或多个附加数据访问请求,发起所述执行程序对所述块数据存储卷的所述附加数据访问请求的执行。2.根据权利要求1所述的计算机实现方法,其中,所述第一存储系统和所述第二存储系统是不同于所述程序执行服务的块数据存储服务的一部分,所述节点管理器是所述块数据存储服务的节点管理器模块,以及在所述执行节点管理器模块的控制下执行对访问的配置和对所述所存储的信息的更新。3.根据权利要求2所述的计算机实现方法,其中,所述程序执行服务的客户也是所述块数据存储服务的客户,以及响应于所述客户向所述程序执行服务提供的包括与所述块数据存储服务有关的信息的配置信息来执行配置所述执行程序对所述块数据存储卷的访问。4.根据权利要求2所述的计算机实现方法,其中,配置所述执行程序对所述块数据存储卷的访问包括:从所述程序执行服务向所述块数据存储服务发送用于创建所述块数据存储卷以供所述客户使用的指令。5.根据权利要求1所述的计算机实现方法,其中,至少部分地基于所述客户向所述程序执行服务提供的指令来执行所述所存储的信息的更新。6.根据权利要求1所述的计算机实现方法,其中,在向所述第一存储系统发送所述一个或多个数据访问请求时,所述第一存储系统存储所述块数据存储卷的主拷贝,以及响应于确定所述块数据存储卷的所述主拷贝已变得不可用来执行所述所存储的信息的更新。7.根据权利要求6所述的计算机实现方法,其中,所述第二存储系统上所述块数据存储卷的拷贝是在向所述第一存储系统发送所述一个或多个数据访问请求时的所述主拷贝的镜像拷贝,以及确定所述主拷贝已变得不可用包括:将所述第二存储系统上的所述镜像拷贝提升为所述块数据存储卷的当前主拷贝。8.根据权利要求1所述的计算机实现方法,其中,响应于基于所述第一存储系统的性能特性或所述第二存储系统的性能特性至少之一确定所述块数据存储卷已从所述第一存储系统移动到所述第二存储系统,执行所述所存储的信息的更新。9.根据权利要求1所述的计算机实现方法,其中,所述第一存储系统位于第一地理位置,且所述第二存储系统位于不同于所述第一地理位置的第二地理位置,以及响应于基于确定从所述第二地理位置提供对所述块数据存储卷的另一访问来确定所述块数据存储卷已从所述第一存储系统移动到所述第二存储系统,来执行所述所存储的信息的更新。10.根据权利要求1所述的计算机实现方法,其中,配置所述执行程序对所述块数据存储卷的访问包括发起对在所述配置计算系统本地的对所述块数据存储卷加以表示的逻辑块数据存储设备的创建,以及所述执行程序通过与所述逻辑块数据存储设备的交互来发起对所述块数据存储卷的数据访...

【专利技术属性】
技术研发人员:泰特·安德鲁·塞尔坦彼得·N·德桑蒂斯马修·S·加曼阿特勒·诺曼·约尔根森罗兰·帕特森琼斯
申请(专利权)人:亚马逊技术有限公司
类型:发明
国别省市:美国;US

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

1