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

文档序号:6592858阅读:169来源:国知局
专利名称:用于在虚拟环境中实施虚拟存储池的方法和系统的制作方法
技术领域
本发明总体上涉及数据存储,并且更特别地涉及实施虚拟存储池。
背景技术
虚拟化技术抽象化构成现代计算机系统基础的服务器并且使虚拟执行环境与服 务器限制和行为隔离。像这样,在这种虚拟化环境中运行的应用基本上是便携式的,并且在 对该应用的执行影响很小的情况下可以将其从一个虚拟化环境迁移到另一个。这种灵活性 的一个例外是该应用对存储的依赖性。目前实行的虚拟化技术抽象化基础服务器存储的许 多方面;然而,位置和容量两个方面被拙劣地抽象化或者根本没有被抽象化。在第一个情况中,在虚拟化环境中存储的位置描述了在虚拟化环境中可用的存储 被限制成在基础服务器中可用的存储的情形,除非提供某些其他访问机制,例如基于网络 的存储。基于网络的存储减轻虚拟化环境中的位置问题并且还满足将应用从一个虚拟化环 境迁移到另一个虚拟化环境所必需的共享存储的需求。然而,基于网络的存储是处于虚拟 化环境或其基础服务器之外并且与之独立的附加部件。在第二个情况中,在虚拟化环境中存储的容量也是虚拟化环境的限制因素。存储 的容量与在基础服务器中可用的存储直接相关,除非提供某些其他访问机制,例如基于网 络的存储。基于网络的存储同样减轻虚拟化环境中的容量问题。然而,基于网络的存储是 处于虚拟化环境或其基础服务器之外并且与之独立的附加部件。因此,存储的位置和容量是虚拟化环境中的限制因素,在没有添加其他外部存储 机制的情况下其不能被减轻或影响(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、存储器、网络接口和数据存储(例如磁盘)。更特别地,基础硬件包括数据存储(例如非易失性存储装置)以支持在相应应用虚拟机上运行的应用。例如,作为代表性的实例,虚拟化服务器IlOA的基础硬件包括提供计算资源的中 央处理单元(CPU)211、存储器212、网络接口(例如网络接口卡(NIC)) 213、附加数据资源 214等等。更具体地,网络接口 213提供与通信网络120的通信。此外,数据资源214包括 至少一个数据存储设备。例如,数据存储设备是磁盘驱动器。其他类型的数据存储也很好 地适合于支持分布式数据存储网络,以便包括磁带驱动器、磁盘驱动器、各种存储设备的组
α绝绝 口寸寸ο在一个或多个由计算资源或虚拟化服务器支持的虚拟化环境内实施本发明的实 施例。也就是说,对于单个计算资源(例如虚拟化服务器110A)的情况,虚拟化提供基础硬 件与需要这些硬件资源的应用的分离。如图2所示,可以在单个物理计算资源(例如多个虚拟化服务器110A-N中的一 个)内实施一个或多个应用虚拟机。例如,虚拟化服务器IlOA支持单个应用虚拟机220。 而且,虚拟化服务器IlOB支持应用虚拟机231和233。为了简短和清楚的目的,虚拟化服务 器IlOA的虚拟化特征在下文中被描述为表示虚拟化服务器110A-N中的每一个的虚拟化特 征。虚拟化服务器IlOA包括通过虚拟化层(未示出)支持的虚拟环境215,其由基础 硬件资源支持。如先前所描述的那样,虚拟环境215可以支持一个或多个应用虚拟机。具 体来说,由虚拟化服务器IlOA支持的虚拟环境中的每一个虚拟机运行其自己的虚拟操作 系统、虚拟存储器以及虚拟数据资源,例如通过相应的虚拟化层实施的那样。结果,虚拟化 通过允许多个虚拟机运行并共享单个计算资源的硬件来允许更好地利用基础硬件资源。例 如,虚拟存储器可能比计算资源的基础硬件中的存储器更大。特别地,虚拟化层提供一个或多个应用虚拟机以利用虚拟化服务器的基础硬件。 就这一点来说,相应并且所支持的应用虚拟机提供特定应用的特征。尽管图2的虚拟化服 务器IlOA示出一个应用虚拟机220的实施方式,但是本发明的其他实施例提供多个应用虚 拟机在单个虚拟化服务器(例如虚拟化服务器110B)上的实施方式。在一个实施例中,在 计算资源网络200中类似地配置每个参与的虚拟化服务器。此外,本发明的实施例说明在虚拟化服务器上运行的存储虚拟机的包含。更特别 地,在计算资源网络200中参与虚拟存储池250的每一个虚拟化服务器包括存储虚拟机。作 为一个代表性实例,虚拟化服务器110包括存储虚拟机222A。存储虚拟机222A是其自己的 虚拟机,其运行应用以与通过相应虚拟化服务器IlOA可用的数据资源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中使用的通过相应虚拟化服务器定位的可用数据资源。作为一个代表性实例,虚拟化服务器 IlOA的存储虚拟机222k提供在虚拟存储池250中使用的可用数据资源214。就这一点来说,作为一个组的虚拟化服务器通过相应的存储虚拟机以协作并一致 的(coherent)方式组合可用数据资源以使得结果产生的虚拟存储池250可用于由任何虚 拟化服务器110A-N以及其相应的(一个或多个)应用虚拟机使用。特别地,存储虚拟机能 够向相应虚拟化服务器以及由虚拟化服务器所支持的(一个或多个)相应应用虚拟机提供 虚拟存储服务。例如,存储虚拟机222k通过虚拟存储池250为虚拟化服务器IlOA以及其 相应的并且被支持的应用虚拟机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所示。就这一点来说,第一 虚拟化服务器能够将应用虚拟机迁移到第二虚拟化服务器,因为它们共享一个或多个相同 的虚拟卷。特别地,作为一个代表性实例,虚拟化服务器IlOA能够将应用虚拟机220迁移 到虚拟化服务器110C,因为它们共享虚拟卷250A。此外,在一个实施例中,虚拟卷可以被一个虚拟化服务器内的数据资源捕获或支 持。例如,虚拟卷250A可以被数据资源214支持。在另一个实施例中,虚拟卷可以被多个 虚拟化服务器的数据资源捕获或支持。例如,虚拟卷250A可以被虚拟化服务器IlOA的数 据资源214和虚拟化服务器IlOB的数据资源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根据每个附加的虚拟化服务器IlOA(N+1)而 缩放。就这一点来说,不是需要附加的外部网络附接的数据资源,因为计算资源网络会随着 虚拟化服务器的添加而扩展,虚拟存储池250也是如此。结果,在本发明的实施例中,由虚 拟存储池250提供的分布式且共享的数据存储提供虚拟存储池250中虚拟卷的容量增加或 多样性(multiplicity),以及数据冗余性和高可用性。
例如,图3示出另一个虚拟化服务器110 (N+1)的添加。尽管图3示出一个虚拟化 服务器的添加,但是其他实施例也适合于通过添加一个或多个虚拟化服务器来扩展计算资 源网络。附加的虚拟化服务器Iio (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、1 IOB和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所示,代表性的虚拟化服务器IlOC已经发生故障。就这一点来说,在该虚 拟化服务器上可用的硬件资源也会发生故障。然而,虚拟存储池250提供数据冗余,如由图 5中象征性地位于其各自的虚拟卷250A-N后面的虚拟卷的副本250A’ -N’所示出的那样。 这一冗余可以通过任何适合的手段来实施。结果,位于发生故障的虚拟化服务器Iioc的数 据存储资源288上的数据保持可用并且容易访问。也就是说,尽管虚拟化服务器IlOC已发生故障,但是位于发生故障的虚拟化服务器的硬件上的数据没有被丢失,并且相应地,在虚 拟存储池250中的虚拟卷250A-N的上下文(context)内数据没有被丢失。更具体地,本发 明的实施例提供包含在虚拟卷250A-N内的数据的冗余性和高的可用性。此外,图2-4中的虚拟存储池250的特征使得由发生故障的虚拟化服务器IlOC支 持的应用虚拟机能够迁移到虚拟服务器池内的另一个虚拟化服务器。在一个实施例中,同 样以透明的方式发生这一迁移。现在转向图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的虚拟化服务器IlOA包括存储虚 拟机222A。如先前所述的那样,每个存储虚拟机允许并提供了将相应虚拟化服务器内的相 应可用数据存储资源输出和聚集到虚拟存储池中。就这一点来说,作为一个组的存储虚拟 机能够将由多个虚拟化服务器表示的所有可用数据资源结合成提供分布式数据存储的虚 拟存储池。在630处,提供虚拟存储池。例如,在操作630中提供计算资源网络的虚拟存储池 250。特别地,多个虚拟化服务器通过相应的存储虚拟机以协作并一致的方式组合可用数据 资源以使得结果产生的虚拟存储池可用于由任何虚拟化服务器以及其相应的应用虚拟机 使用。在640处,在不使用任何外部共享存储的情况下通过多个虚拟化服务器实现虚拟 化环境。特别地,在不使用任何外部共享存储的情况下创建并实施虚拟存储池。也就是说, 仅由多个虚拟化服务器提供的可用数据存储资源被用于实施虚拟存储池。就这一点来说, 如先前所述的那样,一个或多个虚拟化服务器以及还有一个或多个应用虚拟化机对虚拟存 储池中的一个或多个虚拟卷的共享访问是可能的。因此,本发明的实施例能够创建用于在虚拟化环境内实施共享存储的虚拟存储 池,其实现关键的服务器虚拟化能力。此外,本发明的其他实施例提供上述能力,并且还提 供了节点的故障不会引起访问共享存储的失去的能力。而且,本发明的其他实施例提供了 上述能力,并且还提供了将虚拟机迁移到支持计算资源的虚拟网络的替换节点。此外,本发 明的其他实施例提供了上述能力,并且此外在不需要添加专用网络附接存储设备的情况下根据支持计算资源的虚拟网络的计算资源的添加而提供了虚拟存储池的可缩放性。尽管流程图6中说明的实施例的方法示出特定操作的顺序和数量,但是本发明适 合于可替换的实施例。例如,不是在上文给出的方法中提供的所有操作都是本发明所必需 的。此外,可以将附加操作添加到本发明实施例给出的操作。同样,根据应用,可以修改操 作的顺序。因此,描述了用于实施在虚拟环境内实现共享存储的虚拟存储池的方法和系统。 尽管已经通过特定实施例说明并描述了本发明,但是应该了解在不偏离由所附权利要求及 其等同物所限定的本发明的精神和范围的情况下可以在其中进行各种变化和修改。此外, 尽管已在特定实施例中描述了本发明,但是应该认识到本发明不应该被解释为由这些实施 例限制,而是根据下面的权利要求来解释。
权利要求
一种用于实施分布式数据存储的系统,包括多个虚拟化服务器,所述虚拟化服务器中的每一个都与可用数据存储资源相关联并且通过相应的虚拟化层来支持一个或多个应用虚拟机;多个存储虚拟机,所述存储虚拟机中的每一个都与相应的且参与的虚拟化服务器相关联;以及虚拟存储池,其中每个存储虚拟机提供了将与相应虚拟化服务器相关联的所述可用数据存储资源输出和聚集到所述虚拟存储池中。
2.根据权利要求1所述的系统,其中在所述虚拟存储池中,每个存储虚拟机以一致的 方式提供可用数据存储资源的所述输出和聚集。
3.根据权利要求1或2所述的系统,其中所述虚拟存储池包括共享存储,其中所述共享 存储实现在所述多个虚拟化服务器中包括多于一个虚拟化服务器的特征。
4.根据前述任一项权利要求所述的系统,其中在所述虚拟存储池中的存储卷可用于所 述多个虚拟化服务器以及它们的相关联的应用虚拟机。
5.根据权利要求1-3中任一项所述的系统,其中在所述虚拟存储池中的虚拟卷可用于 与一个或多个虚拟化服务器相关联的一个或多个应用虚拟机。
6.根据权利要求5所述的系统,其中所述虚拟卷可用于与第一虚拟化服务器相关联的 第一应用虚拟机以及与第二虚拟化服务器相关联的第二应用虚拟机。
7.根据权利要求5所述的系统,其中所述虚拟卷可用于与第一虚拟化服务器和第二虚 拟化服务器相关联的第一应用虚拟机。
8.根据前述任一项权利要求所述的系统,其中所述虚拟存储池根据虚拟化服务器以及 相应存储虚拟机的添加来缩放。
9.根据前述任一项权利要求所述的系统,其中所述一个或多个应用虚拟机中的至少一 个包括用于执行至少一个应用的虚拟操作系统。
10.根据前述任一项权利要求所述的系统,其中所述多个存储虚拟机提供所述虚拟存 储池的分布式管理。
11.根据前述任一项权利要求所述的系统,其中每个存储虚拟机为与相应虚拟化服务 器相关联的相应应用虚拟机提供对所述虚拟存储池的访问。
12.一种用于实施分布式数据存储的方法,包括提供多个虚拟化服务器,所述虚拟化服务器中的每一个都与可用数据存储资源相关联 并且通过虚拟化层来支持一个或多个应用虚拟机;提供多个存储虚拟机,所述存储虚拟机中的每一个都与相应的且参与的虚拟化服务器 相关联;提供虚拟存储池,其中每个存储虚拟机允许将相应虚拟化服务器内的所述可用数据存 储资源输出和聚集到所述虚拟存储池中;以及在不使用外部共享存储的情况下通过所述多个虚拟化服务器实现虚拟化环境。
13.根据权利要求12所述的方法,其中所述实现虚拟化环境还包括在不使用所述外部共享存储的情况下将应用虚拟机从第一虚拟化服务器转移到第二 虚拟化服务器。2
14.根据权利要求12或13所述的方法,其中所述实现虚拟化环境还包括在不使用所述外部共享存储的情况下提供在虚拟化服务器上的一个或多个应用虚拟 机的动态负载平衡。
15.一种用于实施分布式数据存储的虚拟化服务器,包括 用于提供计算资源的处理器;可用数据存储;用于实施利用所述处理器的虚拟环境的虚拟化层,其中所述虚拟环境包括执行应用的 至少一个应用虚拟机;以及提供将所述可用数据存储资源输出和聚集到虚拟存储池中的存储虚拟机,其中所述虚 拟存储池提供来自多个虚拟化服务器的所述分布式数据存储,所述虚拟化服务器中的每一 个都包括提供将相应可用数据存储资源输出和聚集到所述虚拟存储池中的相应虚拟机。
全文摘要
一种用于实施分布式数据存储的系统和方法。特别地,该系统包括多个虚拟化服务器,每一个虚拟化服务器都与可用数据资源相关联。每个虚拟化服务器通过虚拟化层来支持一个或多个应用虚拟机。此外,多个存储虚拟机被包括在该系统中。每个存储虚拟机与相应的且参与的虚拟化服务器相关联。虚拟存储池被包括在该系统中,其中每个存储虚拟机允许将相应虚拟化服务器内的可用数据资源输出和聚集提供到虚拟存储池中。
文档编号G06F3/06GK101952814SQ200980105859
公开日2011年1月19日 申请日期2009年2月20日 优先权日2008年2月20日
发明者A·J·卡特, B·D·赫尔格森, B·R·博莱斯, P·J·杜克洛斯 申请人:惠普开发有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1