当前位置: 首页 > 专利查询>微软公司专利>正文

虚拟盘操纵操作制造技术

技术编号:7901708 阅读:169 留言:0更新日期:2012-10-23 13:34
描述了一种技术,通过该技术,虚拟硬盘能够在在虚拟盘上执行元操作(例如复制、移动、删除、合并、压缩、碎片整理、加密签名、提升、下放、转换或者紧缩虚拟盘数据)时继续服务虚拟盘I/O(读取和写入)。可以例如通过抑制和/或优先化虚拟盘I/O来协调对虚拟盘I/O的服务与元操作执行。也描述了通过操纵一个或者多个去重复数据结构来执行元操作。

【技术实现步骤摘要】
【国外来华专利技术】虚拟盘操纵操作
技术介绍
虚拟盘基本上是如下一组一个或者多个文件或者其他存储范围(例如盘、盘上的分区(partition)等),其被配置成如同它是用于计算机系统的物理硬盘驱动一样操作。虚拟盘输入和输出(“I/O”包括读取虚拟盘和向虚拟盘写入)操纵虚拟盘数据。虚拟盘的数据的各种方面也由“元操作”操纵,“元操作”包括如下操作,这些操作创建和删除快照、创建和删除校验点、改变数据的存储位置、删除未用数据等等。由于虚拟盘I/O和元操作都向虚拟盘写入,所以元操作有可能与虚拟盘I/O冲突,从而引起数据破坏。一种用于避免这样的潜在破坏问题的简单直接方式是在虚拟盘用作为 用于服务虚拟盘I/o的盘之时不允许元操作。然而这一方式不合需要,因为它限制了其中可以使用元操作的场景。需要一种允许元操作在虚拟盘用作盘之时安全进行的解决方案。
技术实现思路
提供这一
技术实现思路
以简化形式介绍下文在具体实施方式中进一步描述的有代表性的概念的选择。这一
技术实现思路
不旨在标识要求保护的主题内容的关键特征或者必要特征,也并非旨在以将对要求保护的主题内容的范围进行限制的任何方式来使用。简言之,这里描述的主题内容的各种方面涉及一种技术,通过该技术,包括至少两个重叠层的虚拟盘可以在元操作(该元操作具有它自己的I/o)在虚拟盘上执行时继续用于服务虚拟盘I/o (读取和写入)。这包括防止至少一些向虚拟盘偏移范围(offset range)的元操作写入与向重叠虚拟盘偏移范围的虚拟盘写入并行。实例元操作包括复制、移动、删除、合并、压缩、碎片整理、加密签名、提升(I if ting)、下放(dropping)、转换或者紧缩虚拟盘数据。元操作可以操纵少于所有虚拟盘数据。在一个方面中,服务虚拟盘I/O与元操作执行协调以允许元操作完成、相对于元操作读取和写入控制虚拟盘读取和写入和/或控制元操作对其他数据流量(datatraffic)的干扰。例如,可以抑制和/或优先化虚拟盘读取和写入以允许元操作完成。也可以抑制和/或优先化元操作读取以控制对虚拟盘读取和写入的干扰和/或控制元操作对其他数据流量的干扰。在一个方面中,可以通过操纵一个或者多个去重复数据结构而不是实际上复制或者移动数据来执行元操作,例如紧缩虚拟盘、对虚拟盘进行碎片整理、合并虚拟盘的两个或者更多层、将虚拟盘转换成不同布局、提升虚拟盘或者下放虚拟盘。如果可能,则通过副本卸载操作、更新操作、删除操作和/或移动卸载操作来执行元操作。可以操纵净荷数据和元数据这二者。其他优点可以在与附图结合领会时根据下面的具体描述而变得清楚明白。附图说明在附图中通过实例举例说明而非限制本专利技术,在附图中,相似标号指示相似元素,并且在附图中 图I是示出了如下机构的实例的框图,该机构允许虚拟盘在于虚拟盘上执行一个或者多个元操作时继续服务读取和写入。图2是可以用来经由基础层和diff (差异化)层维护虚拟存储盘的数据的两层虚拟盘的表示。图3是可以用来提供虚拟存储盘的数据的三层虚拟盘的表示。图4是经由去重复数据结构操纵来转换虚拟盘的表示。图5是经由去重复数据结构操纵来提升或者下放虚拟盘的表示。图6是示出了如下实例步骤的流程图,可以采取这些步骤来处置写入,使得虚拟盘读取和写入可以在于虚拟盘上执行元操作时继续。图7是示出了如下实例步骤的流程图,可以采取这些实例步骤来在可用时通过去重复数据结构操纵来处置元操作I/O。图8示出了本专利技术的各种方面可以被并入其中的计算环境的示例实例。具体实施例方式这里描述的技术的各种方面总的涉及以如下方式在虚拟盘用作盘时在虚拟盘上执行元操作,所述方式避免了如果允许元操作数据改变与虚拟盘读取和写入混合则原本可能出现的破坏。也描述了多种如下技术,这些技术允许某些元操作仅操纵虚拟盘数据的部分而不是所有虚拟盘数据。另外描述了以没有不适当地影响其他通信流量的方式在元操作进行时动态移动数据并且移动对虚拟盘读取和写入的服务。应当理解,任何这里描述的实例是非限制实例;例如这里描述由一层或者多层构成的虚拟盘,然而,可以使用提供虚拟盘的其他布置。照这样,本专利技术不限于这里描述的任何特定实施例、方面、概念、结构、功能或者实例。而是,这里描述的任何实施例、方面、概念、结构、功能或者实例并非限制,并且可以用一般在计算和数据存储中提供益处和优点的各种方式使用本专利技术。图I示出了如下计算环境,在该计算环境中,计算机器102 (物理的或者虚拟的)耦合到虚拟盘104。虽然图I示出了代表虚拟盘104的单个部件,但是应当注意虚拟盘的数据可以位于单个物理存储设备中或者分布于多于一个物理存储设备(包括在物理上分离的位置(例如远程和/或本地)的设备)之中。另外,尽管图I示出了一个使用虚拟盘104的物理或者虚拟机器102,但是多于一个这样的机器可以使用它并且不同的机器可以在不同时间这样做。使用虚拟盘(作为虚拟盘)的机器或者一组机器可以在元操作数据操纵之前、期间或者之后改变。使用虚拟盘作为虚拟盘的机器不要求是服务虚拟盘I/o (读取和写入)的相同机器。然而在一个实施方式中,服务虚拟盘I/o的机器是执行元操作的相同机器。在一个实施方式中,对虚拟盘I/O的服务和元操作的正在进行的执行一起移向不同的机器(如果它们全然地移动)。注意,虚拟盘元操作即使在虚拟盘的使用从一个机器移向另一机器时仍然可以向着完成而继续。一般而言,虚拟盘服务例如由应用以及操作系统组件和服务进行的读取和写入(R/W)输入和输出(I/O)操作106。可以被服务的其他命令包括(但不限于)刷新(flush)、去映射、副本卸载。虚拟盘也让它的数据经由例如由实用应用和/或操作系统组件和服务发起的下文描述的元操作108来操纵。实例虚拟盘元操作包括如下操作,这些操作创建和删除快照、创建和删除校验点、改变数据的存储位置、删除未用数据、修改去重复数据结构等等。如下文描述的那样,I/O处置机构110保证正确盘语义,包括通过处置冲突,使得更旧的数据不能重写(overwrite)更近写入的数据,并且使得当已经(例如向一层)写入更新的数据时不(例如从另一层)读取更旧的数据。虚拟盘104可以经由基础层112和一个或者多个差异化(diff)层116如图I中所示由一个或者多个备份数据层(该层可以是文件)构造。然而注意,简单虚拟盘可以具有仅一个备份存储数据“层”,而读取和写入这二者从这一单层得到服务。注意如图I中所示,虚拟盘I/o操作106指向虚拟盘104,而元操作108可以指向虚拟盘104、diff层116和/、或基础层112。一般而言,多层虚拟盘通过在基础层上以由上至下的顺序叠加一个或者多个diff层来形成其内容,从而当存在时使用最上diff层中的任何数据,而如果不存在则使用下一diff层(如果有)的数据,并且以此类推直至到达基础层数据为止。在一个实施方式中,基础层为只读,而向最上diff层进行任何写入。注意,这样的层可以在不同物理存储设备上并且任何给定层也可以分布于多于一个存储设备中。每层具有在虚拟盘104的偏移处存在的数据的可能稀疏的表示。当出现从虚拟盘的读取时,读取被转译成与请求的虚拟块设备偏移范围对应的备份数据的对应读取。注意,如果稀疏地表示备份数据,则有可能的是读取将来自当前无任何备份存储数据的一个或者多个偏移,在该情况下,可以通本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:DL格林JK奥辛斯ML奈尔
申请(专利权)人:微软公司
类型:发明
国别省市:

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

1