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

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

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

【技术保护点】
1.一种用于向执行中的程序提供块数据存储功能的计算机实现方法,所述方法包括:接收由第一执行中的程序发起的、对第一计算系统本地的块存储设备的第一组一个或多个数据访问请求的一个或多个指示,第一程序在所述第一计算系统上执行,本地的块存储设备是表示由不同的第二数据存储系统在一个或多个网络上提供的非本地块数据存储卷的逻辑设备;通过代表所述第一执行中的程序在所述一个或多个网络上与所述第二数据存储系统进行交互,以使得对由所述第二数据存储系统提供的块数据存储卷所存储的块数据执行第一组数据访问请求,来自动响应接收到的第一组数据访问请求的指示;确定所述第二数据存储系统所提供的块数据存储卷已变得不可用,并自动识别包含所述第二数据存储系统所提供的块数据存储卷的镜像拷贝在内的第三数据存储系统,所述第三数据存储系统与所述第一计算系统和所述第二数据存储系统不同;接收由所述第一执行中的程序发起的、对所述第一计算系统上的本地块存储设备的第二组一个或多个其他数据访问请求的一个或多个指示;以及通过代表所述第一执行中的程序在所述一个或多个网络上与所述第三数据存储系统进行交互,以使得对所识别的第三数据存储系统上的块数据存储卷镜像拷贝执行所述第二组数据访问请求,来自动响应接收到的第二组数据访问请求的指示。...

【技术特征摘要】
【国外来华专利技术】US12/188,9492008年8月8日1.一种用于向执行中的程序提供块数据存储功能的计算机实现方法,所述方法包括 接收由第一执行中的程序发起的、对第一计算系统本地的块存储设备的第一组一个或多个数据访问请求的一个或多个指示,第一程序在所述第一计算系统上执行,本地的块存储设备是表示由不同的第二数据存储系统在一个或多个网络上提供的非本地块数据存储卷的逻辑设备;通过代表所述第一执行中的程序在所述一个或多个网络上与所述第二数据存储系统进行交互,以使得对由所述第二数据存储系统提供的块数据存储卷所存储的块数据执行第一组数据访问请求,来自动响应接收到的第一组数据访问请求的指示;确定所述第二数据存储系统所提供的块数据存储卷已变得不可用,并自动识别包含所述第二数据存储系统所提供的块数据存储卷的镜像拷贝在内的第三数据存储系统,所述第三数据存储系统与所述第一计算系统和所述第二数据存储系统不同;接收由所述第一执行中的程序发起的、对所述第一计算系统上的本地块存储设备的第二组一个或多个其他数据访问请求的一个或多个指示;以及通过代表所述第一执行中的程序在所述一个或多个网络上与所述第三数据存储系统进行交互,以使得对所识别的第三数据存储系统上的块数据存储卷镜像拷贝执行所述第二组数据访问请求,来自动响应接收到的第二组数据访问请求的指示。2.根据权利要求1所述的方法,还包括在接收所述第一组一个或多个数据访问请求的指示之前,将块数据存储卷附着到所述第一计算系统,以供所述第一执行中的程序使用, 所述将块数据存储卷附着到所述第一计算系统包括将所述第一计算系统的逻辑本地块存储设备与所述第二数据存储系统所提供的块数据存储卷相关联。3.根据权利要求1所述的方法,还包括在确定所述第二数据存储系统所提供的块数据存储卷已变得不可用之后,自动发起在第四数据存储系统上对所述块数据存储卷的另一拷贝的创建,所述第四数据存储系统与所述第一计算系统不同以及与所述第二数据存储系统和所述第三数据存储系统不同。4.一种被配置为向执行中的程序提供块数据存储功能的系统,包括 一个或多个存储器;以及块数据存储系统管理器模块,被配置为提供块数据存储服务,所述块数据存储服务使用多个块数据存储系统来存储块数据存储卷,所述块数据存储卷由所述块数据存储服务的用户创建,并且是在一个或多个网络上代表与所述用户相关联的一个或多个执行中的程序来访问的,所述提供块数据存储服务包括创建一个或多个块数据存储卷,以供一个或多个执行中的程序使用,创建每个块数据存储卷包括创建块数据存储卷的主拷贝,所述主拷贝存储在多个块数据存储系统中的一个块数据存储系统上;通过对于数据访问请求中的每一个,在针对数据访问请求的一个块数据存储卷的主拷贝可用的情况下,发起对可用的主拷贝执行数据访问请求,来响应均由执行中的程序之一发起的针对所创建的块数据存储卷之一的数据访问请求;以及响应于接收到的指示,创建块数据存储卷中的第一块数据存储卷的新拷贝,所述第一块数据存储系统的主拷贝存储在块数据存储系统中的第一块数据存储系统上,所创建的新拷贝存储在与所述第一块数据存储系统不同的一个或多个其他数据存储系统上。5.根据权利要求4所述的系统,其中,创建第一块数据存储卷还包括创建在所述多个块数据存储系统中的第二块数据存储系统上存储的第一块数据存储卷的镜像拷贝,所述第二块数据存储系统与所述第一块数据存储系统以及所述一个或多个其他数据存储系统不同,以及,响应数据访问请求还包括对于由执行中的程序之一发起的针对所述第一块数据存储卷的每个数据访问请求,在所述第一块数据存储卷的主拷贝不可用的情况下,发起对在所述第二块数据存储系统上存储的第一块数据存储卷的镜像拷贝执行数据访问请求。6.根据权利要求5所述的系统,其中,响应数据访问请求还包括对于由所述执行中的程序之一发起的针对第一块数据存储卷的每个数据访问请求,如果第一块数据存储卷的主拷贝可用,则发起对在所述第二块数据存储系统上存储的第一块数据存储卷的镜像拷贝执行数据访问请求。7.根据权利要求4所述的系统,其中,接收到的响应于其而创建第一块数据存储卷的新拷贝的指示基于对将第一块数据存储卷的主拷贝从第一块数据存储系统移动到不同的第二块数据存储系统的确定,其中,所述一个或多个其他数据存储系统是第二块数据存储系统,其中,在第二块数据存储系统上创建第一块数据存储卷的新拷贝包括将在第二块数据存储系统上创建的新拷贝指定为第一块数据存储卷的新的主拷贝,以及,由块数据存储系统管理器模块提供块数据存储服务还包括在创建第一块数据存储卷的新拷贝之后,通过发起对在第二块数据存储系统上存储的第一块数据存储卷的新的主拷贝执行附加数据访问请求,来响应均由所述执行中的程序之一发起的针对第一块数据存储卷的一个或多个附加数据访问请求。8.根据权利要求4所述的系统,其中,块数据存储系统管理器模块由用于提供块数据存储服务的一个或多个装置构成,所述块数据存储服务使用多个块数据存储系统来存储块数据存储卷,所述块数据存储卷由所述块数据存储服务的用户创建,并且是在一个或多个网络上代表与所述用户相关联的一个或多个执行中的程序来访问的,提供块数据存储服务包括创建一个或多个块数据存储卷,以供一个或多个执行中的程序使用,创建每个块数据存储卷包括创建块数据存储卷的主拷贝,所述主拷贝存储在多个块数据存储系统...

【专利技术属性】
技术研发人员:泰特·安德鲁·塞尔坦
申请(专利权)人:亚马逊技术有限公司
类型:发明
国别省市:US

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

1