首页> 中国专利> 用于在虚拟环境中实施虚拟存储池的方法和系统

用于在虚拟环境中实施虚拟存储池的方法和系统

摘要

一种用于实施分布式数据存储的系统和方法。特别地,该系统包括多个虚拟化服务器,每一个虚拟化服务器都与可用数据资源相关联。每个虚拟化服务器通过虚拟化层来支持一个或多个应用虚拟机。此外,多个存储虚拟机被包括在该系统中。每个存储虚拟机与相应的且参与的虚拟化服务器相关联。虚拟存储池被包括在该系统中,其中每个存储虚拟机允许将相应虚拟化服务器内的可用数据资源输出和聚集提供到虚拟存储池中。

著录项

  • 公开/公告号CN101952814A

    专利类型发明专利

  • 公开/公告日2011-01-19

    原文格式PDF

  • 申请/专利权人 惠普开发有限公司;

    申请/专利号CN200980105859.6

  • 申请日2009-02-20

  • 分类号G06F15/00(20060101);G06F12/08(20060101);G06F3/06(20060101);

  • 代理机构72001 中国专利代理(香港)有限公司;

  • 代理人王岳;王洪斌

  • 地址 美国德克萨斯州

  • 入库时间 2023-12-18 01:39:26

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-02-15

    专利权的转移 IPC(主分类):G06F15/00 登记生效日:20170120 变更前: 变更后: 申请日:20090220

    专利申请权、专利权的转移

  • 2013-08-14

    授权

    授权

  • 2011-03-16

    实质审查的生效 IPC(主分类):G06F15/00 申请日:20090220

    实质审查的生效

  • 2011-01-19

    公开

    公开

说明书

技术领域

本发明总体上涉及数据存储,并且更特别地涉及实施虚拟存储池。

背景技术

虚拟化技术抽象化构成现代计算机系统基础的服务器并且使虚拟执行环境与服务器限制和行为隔离。像这样,在这种虚拟化环境中运行的应用基本上是便携式的,并且在对该应用的执行影响很小的情况下可以将其从一个虚拟化环境迁移到另一个。这种灵活性的一个例外是该应用对存储的依赖性。目前实行的虚拟化技术抽象化基础服务器存储的许多方面;然而,位置和容量两个方面被拙劣地抽象化或者根本没有被抽象化。

在第一个情况中,在虚拟化环境中存储的位置描述了在虚拟化环境中可用的存储被限制成在基础服务器中可用的存储的情形,除非提供某些其他访问机制,例如基于网络的存储。基于网络的存储减轻虚拟化环境中的位置问题并且还满足将应用从一个虚拟化环境迁移到另一个虚拟化环境所必需的共享存储的需求。然而,基于网络的存储是处于虚拟化环境或其基础服务器之外并且与之独立的附加部件。

在第二个情况中,在虚拟化环境中存储的容量也是虚拟化环境的限制因素。存储的容量与在基础服务器中可用的存储直接相关,除非提供某些其他访问机制,例如基于网络的存储。基于网络的存储同样减轻虚拟化环境中的容量问题。然而,基于网络的存储是处于虚拟化环境或其基础服务器之外并且与之独立的附加部件。

因此,存储的位置和容量是虚拟化环境中的限制因素,在没有添加其他外部存储机制的情况下其不能被减轻或影响(affect)。

发明内容

一种用于实施分布式数据存储的系统和方法。特别地,该系统包括多个虚拟化服务器,每一个虚拟化服务器都与可用数据资源相关联。每个虚拟化服务器通过相应的虚拟化层来支持一个或多个应用虚拟机。此外,多个存储虚拟机被包括在该系统中。每个存储虚拟机与相应的且参与的虚拟化服务器相关联。虚拟存储池被包括在该系统中。特别地,每个存储虚拟机提供了将相应虚拟化服务器内的可用数据资源输出和聚集到虚拟存储池中。

附图说明

在绘图的参考图中说明示例性实施例,其说明哪些被认为是目前预期的优选实施例。意图在于本文所公开的实施例和图被认为是说明性而非限制性的。

图1是根据本发明的一个实施例的支持分布式网络存储的计算资源的网络的图。

图2是根据本发明的一个实施例说明在计算资源网络上的虚拟池中的分布式网络存储的系统的图。

图3是根据本发明的一个实施例说明在计算资源网络上的虚拟存储池中实施的分布式网络存储的系统的可缩放性(scalability)的图。

图4是根据本发明的一个实施例说明在计算资源网络上的虚拟存储池中实施的分布式网络存储的系统的冗余存储能力的图。

图5是根据本发明的一个实施例说明最初在图2中介绍的虚拟存储池的冗余特征的图。

图6是根据本发明的一个实施例说明用于实施在计算资源网络上的分布式数据存储的方法中的步骤的流程图。

具体实施方式

现在详细参考本发明的优选实施例,一种用于在虚拟环境中通过用于计算资源网络的虚拟存储池来实施共享存储的方法和系统。尽管将结合优选实施例来描述本发明,但是将会理解它们不意图将本发明限于这些实施例。相反,本发明意图覆盖可被包括在由所属权利要求限定的本发明的精神和范围内的替换、修改和等同物。

本发明通过提供虚拟存储池来解决虚拟化环境中的位置和容量两个问题,所述虚拟存储池包括在虚拟化环境中可用的资源。虚拟存储池提供共享存储,由此实现需要共享存储的虚拟化技术的那些方面。因为它包括虚拟化环境中的资源,所以它提供随着虚拟化服务器的添加而增加的相应容量。其他共享存储装置(例如外部基于网络的存储)不能提供这样的固有可缩放性。因为包括大量虚拟化服务器也向虚拟存储池提供数据冗余和高可用性能力。

因此,本发明的实施例能够创建用于在虚拟环境内实施共享存储的虚拟存储池,其实现关键的服务器虚拟化能力。此外,本发明的其他实施例提供上述能力,并且还提供了节点的故障不会引起访问共享存储的失去的能力。而且,本发明的其他实施例提供了上述能力,并且还提供了将虚拟机迁移到支持计算资源的虚拟网络的替换节点。此外,本发明的其他实施例提供了上述能力,并且此外在不需要添加诸如基于专用网络的存储设备之类的外部资源的情况下根据支持计算资源的虚拟网络的计算资源的添加而提供了虚拟存储池的可缩放性。

符号和术语

可以在运行于计算机系统上的软件上实施本发明的实施例。该计算机系统可以是个人计算机、笔记本计算机、服务器计算机、大型机、联网计算机、手持式计算机、个人数字助理、工作站等等。该软件程序可操作用来提供目标数据递送。在一个实施例中,计算机系统包括耦合到总线的处理器和耦合到总线的存储装置(memory storage)。该存储装置可以是易失性或非易失性的并且可以包括可移动的存储介质。该计算机还可以包括显示器,以提供数据输入和输出等等。

下面某些部分的详细描述是根据可以在计算机存储器上实施的对数据位的操作的过程、步骤、逻辑块、处理以及其他符号表示给出的。这些描述和表示是数据处理领域的技术人员用来最高效地将它们工作的实质传达给本领域的其他人员的手段。本文中存在过程、计算机执行的步骤、逻辑块、处理等等,并且它们通常被认为是产生期望结果的操作或指令的自相容序列。所述操作是需要物理量的物理操控的那些。通常,尽管不一定,但是这些量以能够被存储、传送、组合、比较以及在计算机系统中以其他方式操控的电或磁信号的形式存在。已证明,主要因为习惯用法,有时将这些信号称为位、值、元素、符号、字符、项、数字等等是方便的。

然而,应该记住,所有这些和类似的术语与适当的物理量相关联并且仅是应用于这些量的方便标签。除非以其他方式特别说明,如从下面的讨论中显而易见的那样,应该认识到遍及本发明,利用术语(例如“提供”、“实现”、“传送”、“接收”等等)的讨论指的是计算机系统或包括嵌入式系统的类似电子计算设备的动作和过程,所述电子计算设备操控在计算机系统的寄存器和存储器内被表示为物理(电子)量的数据并将其转成在计算机系统存储器或寄存器或其他这种信息存储、传输或显示设备内被类似地表示为物理量的其他数据。

分布式数据存储网络

图1是根据本发明的一个实施例说明计算系统的网络100的图。特别地,多个虚拟化服务器110A-N与通信网络120耦合。在一个实施例中,该通信网络120促进虚拟化服务器110A-N之间的通信,以部分实施分布式数据存储网络。

每个虚拟化服务器110A-N能够创建提供基础硬件(例如中央处理单元(CPU)、存储器、数据资源等等)从需要那些硬件资源的应用分离的虚拟化环境。特别地,每个虚拟化服务器与一个或多个虚拟计算资源相关联,在下文中将这些虚拟计算资源称为能够执行一个或多个应用的应用虚拟机。

此外,在本发明的实施例中,每个虚拟化服务器内的资源一起用来将分布式数据存储网络实施为虚拟存储池。特别地,分布式数据存储网络能够实施在虚拟化服务器110A-N和它们支持的应用虚拟机之间共享的分布式数据资源。通过通信网络120实现虚拟化服务器110A-N之间的协作以实施分布式数据存储网络。结果,由一个或多个虚拟化服务器支持的应用虚拟机能够出于存储目的而访问虚拟数据存储池。

在一个实施例中,每个虚拟化服务器在独立的环境中托管(host)并支持其自己相应的应用虚拟机。也就是说,虚拟化服务器可能不知道或者不支持由其他虚拟化服务器支持的其他虚拟环境。

在另一个实施例中,应用虚拟机由跨越多个虚拟化服务器的虚拟化环境中的多于一个的虚拟化服务器支持。例如,中央控制器可以实施集中(pool)来自多于一个虚拟化服务器的资源的虚拟环境。就这一点来说,增强的服务器虚拟化的高级特征可以被实施,以包括虚拟机的实时(live)和透明迁移,以及在资源池上的计算资源的动态平衡,以及基于预定义的规则的智能资源分配等等。部分由于虚拟数据存储池所表现出的分布式资源共享,使得这些高级特征变成可能。

图2是根据本发明的一个实施例说明在计算资源网络200上的虚拟存储池中的分布式数据存储网络的图。在一个实施例中,网络200为图1的多个虚拟化服务器110A-N提供支持。例如,每一个虚拟化服务器110A-N以及网络200中每一个所支持的应用虚拟机能够使用通信网络120与遍及网络200的其他虚拟化服务器110A-N以及所支持的应用虚拟机进行通信。

多个虚拟化服务器110A-N中的每一个都包括物理服务器,其能够提供应用虚拟机可以在其中运行的环境。例如,虚拟化服务器可以是个人计算机、笔记本计算机、服务器计算机、大型机、联网计算机、手持式计算机、个人数字助理、工作站等等。每个虚拟化服务器部分包括作为硬件资源的CPU、存储器、网络接口和数据存储(例如磁盘)。更特别地,基础硬件包括数据存储(例如非易失性存储装置)以支持在相应应用虚拟机上运行的应用。

例如,作为代表性的实例,虚拟化服务器110A的基础硬件包括提供计算资源的中央处理单元(CPU)211、存储器212、网络接口(例如网络接口卡(NIC))213、附加数据资源214等等。更具体地,网络接口213提供与通信网络120的通信。此外,数据资源214包括至少一个数据存储设备。例如,数据存储设备是磁盘驱动器。其他类型的数据存储也很好地适合于支持分布式数据存储网络,以便包括磁带驱动器、磁盘驱动器、各种存储设备的组合等等。

在一个或多个由计算资源或虚拟化服务器支持的虚拟化环境内实施本发明的实施例。也就是说,对于单个计算资源(例如虚拟化服务器110A)的情况,虚拟化提供基础硬件与需要这些硬件资源的应用的分离。

如图2所示,可以在单个物理计算资源(例如多个虚拟化服务器110A-N中的一个)内实施一个或多个应用虚拟机。例如,虚拟化服务器110A支持单个应用虚拟机220。而且,虚拟化服务器110B支持应用虚拟机231和233。为了简短和清楚的目的,虚拟化服务器110A的虚拟化特征在下文中被描述为表示虚拟化服务器110A-N中的每一个的虚拟化特征。

虚拟化服务器110A包括通过虚拟化层(未示出)支持的虚拟环境215,其由基础硬件资源支持。如先前所描述的那样,虚拟环境215可以支持一个或多个应用虚拟机。具体来说,由虚拟化服务器110A支持的虚拟环境中的每一个虚拟机运行其自己的虚拟操作系统、虚拟存储器以及虚拟数据资源,例如通过相应的虚拟化层实施的那样。结果,虚拟化通过允许多个虚拟机运行并共享单个计算资源的硬件来允许更好地利用基础硬件资源。例如,虚拟存储器可能比计算资源的基础硬件中的存储器更大。

特别地,虚拟化层提供一个或多个应用虚拟机以利用虚拟化服务器的基础硬件。就这一点来说,相应并且所支持的应用虚拟机提供特定应用的特征。尽管图2的虚拟化服务器110A示出一个应用虚拟机220的实施方式,但是本发明的其他实施例提供多个应用虚拟机在单个虚拟化服务器(例如虚拟化服务器110B)上的实施方式。在一个实施例中,在计算资源网络200中类似地配置每个参与的虚拟化服务器。

此外,本发明的实施例说明在虚拟化服务器上运行的存储虚拟机的包含。更特别地,在计算资源网络200中参与虚拟存储池250的每一个虚拟化服务器包括存储虚拟机。作为一个代表性实例,虚拟化服务器110包括存储虚拟机222A。存储虚拟机222A是其自己的虚拟机,其运行应用以与通过相应虚拟化服务器110A可用的数据资源214对接。

更特别地,每个虚拟化服务器110A-N上的存储虚拟机(例如222A-N)彼此通过通信网络(例如网络120)进行通信以实施虚拟存储池250,该虚拟存储池实现每一个虚拟化服务器110A-N和(一个或多个)相应应用虚拟机可访问的分布式且共享的存储。在一个实施例中,虚拟存储池250通过软件协议来实施。如图2所示,来自虚拟化服务器110A-N的每一个网络接口(例如NIC 213)的虚线(例如261、262、263等等)表示每一个存储虚拟机222A-N之间的协作以创建并实现虚拟存储池250。

特别地,作为一个组的存储虚拟机能够组合由虚拟化服务器110A-N表示的所有可用数据资源。换句话说,每一个存储虚拟机有助于提供虚拟存储池250的共享功能。也就是说,在一个实施例中,存储虚拟机222A-N中的每一个都能够提供在虚拟存储池250中使用的通过相应虚拟化服务器定位的可用数据资源。作为一个代表性实例,虚拟化服务器110A的存储虚拟机222A提供在虚拟存储池250中使用的可用数据资源214。

就这一点来说,作为一个组的虚拟化服务器通过相应的存储虚拟机以协作并一致的(coherent)方式组合可用数据资源以使得结果产生的虚拟存储池250可用于由任何虚拟化服务器110A-N以及其相应的(一个或多个)应用虚拟机使用。特别地,存储虚拟机能够向相应虚拟化服务器以及由虚拟化服务器所支持的(一个或多个)相应应用虚拟机提供虚拟存储服务。例如,存储虚拟机222A通过虚拟存储池250为虚拟化服务器110A以及其相应的并且被支持的应用虚拟机220提供虚拟存储。在一个实施例中,可用数据资源包括通过虚拟存储池250提供的块存储服务(例如存储卷)

此外,在一个实施例中,计算资源网络200中的存储虚拟机能够在不需要添加网络附接的存储资源(例如外部存储区网络)的情况下将所有可用数据资源组合成虚拟存储池250。也就是说,本实施例提供通过聚集包含在虚拟化服务器池中的存储资源而创建的一致存储池。如先前所描述那样,这在图2中由经由虚线彼此连接每个存储虚拟机(例如222A-N)以实施虚拟存储池的虚线(例如261、262、263等等)示出。就这一点来说,一个实施例通过群集(cluster)在虚拟化环境中可用的虚拟存储来提供分布式且共享的存储。

更具体地,虚拟存储池250是一种用于聚集并组织从多个虚拟化服务器110A-N中的每个虚拟化服务器输出到一致虚拟存储中的块存储的机制,根据所述机制,在任何参与的虚拟化服务器上运行的应用虚拟机和虚拟化服务器中的每一个都可以访问虚拟存储卷。在本应用中,一致性旨在描述虚拟存储池,其被组织成虚拟化服务器110A-N中的每一个都知道并且可访问的用于存储数据的可用空间的离散部分(例如卷)。更具体地,虚拟卷包括由虚拟存储池250以一致方式集合在一起的数据块。

在一个实施例中,在通信网络120上提供虚拟存储池250的虚拟卷250A-X以用于访问。卷的数目不一定对应于虚拟化服务器的数目。例如卷的数目可以大于、小于或等于虚拟化服务器110A-N的数目。

如图2所示,实线(例如271、272和273)示出一个或多个虚拟化服务器110A-C以及相应应用虚拟机通过通信网络120对特定虚拟卷250A的访问。在一个实施例中,虚拟卷(例如250A-X)被给予网络地址以便虚拟化服务器和应用虚拟机对存储进行访问。也就是说,在网络上将虚拟存储池提供为以虚拟卷配置的单独存储池。每个虚拟卷可以被输入回到虚拟服务器中或者可以被一个或多个应用虚拟机访问。

此外,至少每一个存储虚拟机都能够将其自己的数据存储资源映射到虚拟存储池中,以使得控制支持该虚拟卷的存储设备的相应一个或多个存储虚拟机了解对来自该特定虚拟卷的数据的请求。在另一个实施例中,每一个存储虚拟机都能够将所有数据资源映射到虚拟存储池。也就是说,每个存储虚拟机了解本地数据存储设备到虚拟存储池的映射。

根据本发明的一个实施例,虚拟存储池250允许在虚拟环境中形成虚拟化服务器群集的能力。在本发明的实施例中,这以透明的方式提供添加值的存储功能,例如数据快照、克隆、备份、远程复制、在地理距离上扩展虚拟化服务器池等等。这些特征是透明的,因为每一个虚拟化服务器110A-N可能不知道应用虚拟机的基础数据从一个虚拟化服务器的硬件资源到另一个虚拟化服务器的硬件资源的移动。

就这一点来说,虚拟存储池250允许在数据中心和远程办公室中实现高级服务器虚拟化的益处,而不会碰到在(例如在外部存储区网络(SAN)中)部署附加网络附接数据存储资源时所需要的附加空间或预算约束。有利地,本发明的虚拟存储池250比使用外部SAN的解决方案更划算,因为可以避免添加网络附接数据存储资源的任何附加成本。

在一个实施例中,高级服务器虚拟化的实例提供虚拟存储池的使用以允许将应用虚拟机从一个虚拟化服务器实时并透明迁移到另一个虚拟化服务器。而且,在另一个实施例中,实现分布式资源共享以提供在资源池上的计算资源的动态平衡,以及基于预定义规则的智能资源分配。此外,虚拟存储池确保资源到虚拟化服务器的高可用性,因为虚拟机被自动重新启动,并且存在对所有应用虚拟机的低成本和高可用性。

例如,为了在所有或部分虚拟化服务器或者所有或部分虚拟机或存储虚拟机出现故障的情况下的生存性,虚拟存储池250提供将由要被迁移的第一虚拟化服务器所支持的一个应用虚拟机重新定位到第二虚拟化服务器。如图2所示,共享虚拟存储池250中的单个卷250A支持一个或多个应用虚拟机,如实线271、272和273所示。就这一点来说,第一虚拟化服务器能够将应用虚拟机迁移到第二虚拟化服务器,因为它们共享一个或多个相同的虚拟卷。特别地,作为一个代表性实例,虚拟化服务器110A能够将应用虚拟机220迁移到虚拟化服务器110C,因为它们共享虚拟卷250A。

此外,在一个实施例中,虚拟卷可以被一个虚拟化服务器内的数据资源捕获或支持。例如,虚拟卷250A可以被数据资源214支持。在另一个实施例中,虚拟卷可以被多个虚拟化服务器的数据资源捕获或支持。例如,虚拟卷250A可以被虚拟化服务器110A的数据资源214和虚拟化服务器110B的数据资源237、以及任何其他虚拟化服务器的任何其他数据资源支持。如在下文中将关于图5示出的那样,可以以这种方式实现数据的冗余性。

现在转向图3,其示出了根据本发明的一个实施例说明在计算资源网络300上的虚拟存储池250中实施的分布式数据存储网络的可缩放性的图。计算资源网络基于最初在图2中引入的网络200,并且包括对虚拟存储池250的可缩放性做出贡献的附加虚拟化服务器。附加虚拟化服务器由虚拟化服务器110(N+1)代表。值得注意的是可以将一个或多个虚拟化服务器添加到网络200以形成计算资源网络300,从而提供虚拟存储池250形式的可缩放分布式数据存储网络。

特别地,每一个虚拟化服务器110A-(N+1)包括物理服务器,其能够提供虚拟机可以在其中运行的环境。特别地,相应的虚拟化层允许一个或多个应用虚拟机利用相应虚拟化服务器的基础硬件。就这一点来说,每个应用虚拟机提供一个或多个应用的特征。

此外,存储虚拟机与参与的虚拟化服务器相关联。在计算资源网络300的每个虚拟化服务器上的存储虚拟机222A-(N+1)彼此通过通信网络120通信以实施虚拟存储池250,其实现可由虚拟化服务器110A-(N+1)以及相应应用虚拟机中的每一个访问的共享存储。在计算资源网络300中类似地配置每个参与的虚拟化服务器110A-(N+1)以提供分布式数据存储网络。

如图3所示,共享的虚拟存储池250根据每个附加的虚拟化服务器110A(N+1)而缩放。就这一点来说,不是需要附加的外部网络附接的数据资源,因为计算资源网络会随着虚拟化服务器的添加而扩展,虚拟存储池250也是如此。结果,在本发明的实施例中,由虚拟存储池250提供的分布式且共享的数据存储提供虚拟存储池250中虚拟卷的容量增加或多样性(multiplicity),以及数据冗余性和高可用性。

例如,图3示出另一个虚拟化服务器110(N+1)的添加。尽管图3示出一个虚拟化服务器的添加,但是其他实施例也适合于通过添加一个或多个虚拟化服务器来扩展计算资源网络。附加的虚拟化服务器110(N+1)部分包括CPU 351、存储器353、网络接口352和数据资源350。如所示出的那样,附加虚拟化服务器110(N+1)中的存储虚拟机222(N+1)能够通过通信网络120与其他虚拟化服务器110A-N上的其他存储虚拟机220A-N通信。也就是说,虚拟化服务器110(N+1)的存储虚拟机222(N+1)给出在虚拟存储池250中使用的可用数据资源350。就这一点来说,与附加虚拟化服务器110(N+1)相关联的数据存储资源350可以被类似地添加到虚拟存储池250,如虚线320示出的那样。虚拟存储池的扩展由虚拟卷250(X+)的包含来代表。在本发明的实施例中,虚拟存储池250的扩展可以通过任何数目的手段来实现,例如通过增加每个虚拟卷250A-X的大小,添加一个或多个虚拟卷250(X+),或者重新配置现有的虚拟卷集合。这说明利用每个虚拟化服务器110(N+1)的添加的虚拟存储池的可缩放性。

这与通过网络附接的数据存储(例如存储区网络(SAN)或网络附接存储(NAS))来提供虚拟存储的系统相反。当计算资源网络随着更多虚拟化服务器的添加而扩展时,网络附接的存储没有类似地扩展。在这种情况下网络附接存储的扩展将需要添加虚拟化服务器之外的资源。

在一个实施例中,在通信网络120上给出虚拟存储池250的虚拟卷250A-(X+)以用于访问。例如,如图3所示,实线(例如271、272和现在的310)示出一个或多个虚拟化服务器110A、110B和110(N+1)以及相应应用虚拟机通过通信网络120对特定虚拟卷250A的访问。在一个实施例中,虚拟卷250A-(X+)被给予网络地址以便虚拟化服务器和应用虚拟机对存储进行访问。也就是说,在网络上将虚拟存储池提供为以虚拟卷配置的单独存储池。如先前所描述的那样,在一个实施例中,每个虚拟卷可以被输入回到虚拟化服务器中,或者在另一个实施例中,每个虚拟卷可以被一个或多个应用虚拟机访问。

图4是根据本发明的一个实施例说明首先在图2所示的计算资源网络200上的虚拟存储池250中实施的分布式网络存储的系统的冗余存储能力的图。特别地,图4提供虚拟存储池250中的数据在所有或部分一个或多个虚拟化服务器出现故障的情况下的生存性,以便包括一个或多个存储虚拟机222A-N的故障

如图4所示,如先前所描述的那样,计算资源网络200包括多个虚拟化服务器110A-N。每个虚拟化服务器包括物理服务器,所述物理服务器能够提供虚拟机可以在其中运行的环境。就这一点来说,每个应用虚拟机提供特定应用的特征。此外,存储虚拟机与参与的虚拟化服务器相关联。相应虚拟化服务器110A-N上的存储虚拟机222A-N彼此通过通信网络120通信以实施虚拟存储池250,该虚拟存储池250实现虚拟服务器和相应应用虚拟机中的每一个可访问的共享存储。在计算资源网络中类似地配置每个参与的虚拟化服务器。

如图4所示,代表性的虚拟化服务器110C已经发生故障。就这一点来说,在该虚拟化服务器上可用的硬件资源也会发生故障。然而,虚拟存储池250提供数据冗余,如由图5中象征性地位于其各自的虚拟卷250A-N后面的虚拟卷的副本250A’-N’所示出的那样。这一冗余可以通过任何适合的手段来实施。结果,位于发生故障的虚拟化服务器110C的数据存储资源288上的数据保持可用并且容易访问。也就是说,尽管虚拟化服务器110C已发生故障,但是位于发生故障的虚拟化服务器的硬件上的数据没有被丢失,并且相应地,在虚拟存储池250中的虚拟卷250A-N的上下文(context)内数据没有被丢失。更具体地,本发明的实施例提供包含在虚拟卷250A-N内的数据的冗余性和高的可用性。

此外,图2-4中的虚拟存储池250的特征使得由发生故障的虚拟化服务器110C支持的应用虚拟机能够迁移到虚拟服务器池内的另一个虚拟化服务器。在一个实施例中,同样以透明的方式发生这一迁移。

现在转向图5,示出了根据本发明的一个实施例说明图2-4中的虚拟存储池250的冗余特征的图。如所示的那样,虚拟存储池250包括虚拟卷250A-N。此外,在虚拟存储池250内可以复制一个或多个虚拟卷250A-N。也就是说,来自一个虚拟卷的数据被复制到虚拟存储池250的另一个虚拟卷。例如,如先前关于图4所讨论的那样,为了故障容错,示出了由相应的且被复制的虚拟卷250A’-N’复制的每一个虚拟卷250A-N。作为一个代表性实例,在虚拟卷250A’中复制虚拟卷250A。

图6是根据本发明的一个实施例说明用于实施分布式数据存储的方法中的步骤的流程图600。特别地,在本发明的实施例中,流程图用来创建并实现图2-5中示出的分布式数据存储网络的特征。

在610处,在计算资源网络中提供多个虚拟化服务器。例如,多个虚拟化服务器类似于图2-4的计算资源网络200和300。为了有助于提供分布式数据存储的虚拟存储池,每个虚拟化服务器与可用数据存储资源相关联。此外,如先前所述的那样,每个虚拟化服务器通过虚拟化层来支持一个或多个应用虚拟机。

在620处,提供多个存储虚拟机。特别地,为了提供分布式数据存储,每个参与的虚拟化服务器与相应存储虚拟机相关联。例如,网络200的虚拟化服务器110A包括存储虚拟机222A。如先前所述的那样,每个存储虚拟机允许并提供了将相应虚拟化服务器内的相应可用数据存储资源输出和聚集到虚拟存储池中。就这一点来说,作为一个组的存储虚拟机能够将由多个虚拟化服务器表示的所有可用数据资源结合成提供分布式数据存储的虚拟存储池。

在630处,提供虚拟存储池。例如,在操作630中提供计算资源网络的虚拟存储池250。特别地,多个虚拟化服务器通过相应的存储虚拟机以协作并一致的方式组合可用数据资源以使得结果产生的虚拟存储池可用于由任何虚拟化服务器以及其相应的应用虚拟机使用。

在640处,在不使用任何外部共享存储的情况下通过多个虚拟化服务器实现虚拟化环境。特别地,在不使用任何外部共享存储的情况下创建并实施虚拟存储池。也就是说,仅由多个虚拟化服务器提供的可用数据存储资源被用于实施虚拟存储池。就这一点来说,如先前所述的那样,一个或多个虚拟化服务器以及还有一个或多个应用虚拟化机对虚拟存储池中的一个或多个虚拟卷的共享访问是可能的。

因此,本发明的实施例能够创建用于在虚拟化环境内实施共享存储的虚拟存储池,其实现关键的服务器虚拟化能力。此外,本发明的其他实施例提供上述能力,并且还提供了节点的故障不会引起访问共享存储的失去的能力。而且,本发明的其他实施例提供了上述能力,并且还提供了将虚拟机迁移到支持计算资源的虚拟网络的替换节点。此外,本发明的其他实施例提供了上述能力,并且此外在不需要添加专用网络附接存储设备的情况下根据支持计算资源的虚拟网络的计算资源的添加而提供了虚拟存储池的可缩放性。

尽管流程图6中说明的实施例的方法示出特定操作的顺序和数量,但是本发明适合于可替换的实施例。例如,不是在上文给出的方法中提供的所有操作都是本发明所必需的。此外,可以将附加操作添加到本发明实施例给出的操作。同样,根据应用,可以修改操作的顺序。

因此,描述了用于实施在虚拟环境内实现共享存储的虚拟存储池的方法和系统。尽管已经通过特定实施例说明并描述了本发明,但是应该了解在不偏离由所附权利要求及其等同物所限定的本发明的精神和范围的情况下可以在其中进行各种变化和修改。此外,尽管已在特定实施例中描述了本发明,但是应该认识到本发明不应该被解释为由这些实施例限制,而是根据下面的权利要求来解释。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号