CN102741820B - 虚拟存储器的后台迁移 - Google Patents

虚拟存储器的后台迁移 Download PDF

Info

Publication number
CN102741820B
CN102741820B CN201180008699.0A CN201180008699A CN102741820B CN 102741820 B CN102741820 B CN 102741820B CN 201180008699 A CN201180008699 A CN 201180008699A CN 102741820 B CN102741820 B CN 102741820B
Authority
CN
China
Prior art keywords
virtual machine
data
virtual
memory
source
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201180008699.0A
Other languages
English (en)
Other versions
CN102741820A (zh
Inventor
D.L.格林
J.K.奥辛斯
L.罗伊特尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102741820A publication Critical patent/CN102741820A/zh
Application granted granted Critical
Publication of CN102741820B publication Critical patent/CN102741820B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2066Optimisation of the communication load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)

Abstract

本发明描述了一种将虚拟硬盘从源存储位置迁移到目标存储位置而无需任何共享物理存储器的技术,其中在迁移期间机器可继续使用虚拟硬盘。这有利于结合实时迁移虚拟机来使用虚拟硬盘。虚拟硬盘迁移可以完全发生在虚拟机迁移到目标主机之前或之后,或者部分发生在虚拟机迁移之前部分在虚拟机迁移之后。在迁移中可以使用后台拷贝、发送直写数据和/或为读取请求提供服务。还描述了节流数据写入和/或数据通信以管理虚拟硬盘的迁移。

Description

虚拟存储器的后台迁移
背景技术
虚拟存储器(例如虚拟硬盘)主要是被配置为当成用于计算机系统的物理硬盘驱动器而操作的文件或其他存储器扩展(storage extent)(例如盘、盘上的分区等)。为什么需要将虚拟存储器从源存储位置迁移到目标存储位置是有多种原因的,这些原因包括负载平衡和维护。例如,可通过传送(transfer)虚拟机的状态并且恢复执行而将虚拟机(包括执行以扮演物理机的软件)从一台主机计算机移动(实时迁移)到另一台。虚拟机的状态包括虚拟处理器的当前状态、存储器的内容、虚拟设备的当前状态以及虚拟机正在使用的盘和/或虚拟盘的内容。一般来说,最大量的数据在虚拟盘上。
许多实时迁移方案利用SAN(存储区域网络)(storage area network)技术以避免将虚拟盘的全部内容从一台主机的物理存储器拷贝到另一台主机的物理存储器,因为对于实时迁移来说执行完整拷贝操作通常花费太多时间。然而,SAN可以是昂贵的。并且,对于某些数据中心和工作量来说,执行实时迁移的唯一原因在于空出服务器,以使得可以重启或关闭用于软件或硬件服务的服务器。这可以很少发生,因此并不需要特别关心执行实时迁移操作的时间。在许多情况下,对于存储器迁移主要关心的是成本,因此昂贵的SAN方案并不是期望的。
发明内容
提供本发明内容以便以简单的形式介绍典型概念的选择,以下将在具体实施方式中对其做进一步的描述。本发明内容并非试图识别所要求保护的主题的关键特征或实质特征,也并非试图按照限制所要求保护的主题的范围的任何方式来使用。
简要来说,此处描述的主题的多个方面针对一种将虚拟存储器扩展(例如虚拟硬盘)从源存储位置迁移到目标存储位置的技术。在一种实现方式中,可实现该方案而无需任何共享的物理存储器,例如无需SAN技术。在迁移期间主机可继续使用虚拟存储器扩展的虚拟存储数据。
在一种实现方式中,虚拟存储器扩展迁移可能是虚拟机迁移的一部分。然而,虚拟硬盘迁移可完全发生在将虚拟机从源主机计算机迁移到目标主机计算机之前或之后,这允许虚拟机迁移快速进行。虚拟硬盘迁移还可部分地关于虚拟机迁移发生,其中在迁移虚拟机之前将数据的一部分迁移到目标存储位置,并且在虚拟机迁移之后迁移数据的某个其他部分。可以使用后台拷贝、发送写入数据和/或为读取请求提供服务以按期望提供在前、在后或部分在前部分在后迁移。可以节流(throttle)数据写入和/或数据通信以便于迁移,包括不有害地影响(adversely impacting)其上发生迁移的网络。
在另一种实现方式中,虚拟存储器扩展迁移可以用于将虚拟盘的数据从一个物理存储设备移动到另一个,而无需将虚拟机执行移动到新主机计算机。这可被用来例如代替SAN而不会中断虚拟盘的使用。
当参照附图时,从以下的详细描述中,其他益处将变得显而易见。
附图说明
仅以示例的方式示出了本发明,并且本发明并不限于以下附图,其中相同的参考标记表示相同的元件,其中:
图1是示出了用于与虚拟机迁移相关联地将虚拟存储数据从源存储位置迁移到目标存储位置的示例组件的框图。
图2是示出了用于迁移虚拟存储数据的组件的变型的方框图。
图3是示出了用于将虚拟存储数据从源存储位置迁移到目标存储位置的示例组件的方框图,该源存储位置和目标存储位置都耦合到相同计算机系统。
图4是示出了用于将虚拟存储数据从源存储位置迁移到目标存储位置的示例组件的方框图,其中在不同计算机系统可访问的基础层中维持虚拟存储数据的一部分。
图5是可以如图4的例子所示那样迁移的分层虚拟盘的表示图。
图6是可以如图4的例子所示那样迁移的分层虚拟盘的表示图。
图7是示出了可以作为虚拟存储器迁移的一部分的示例步骤的流程图。
图8示出了本发明多个方面可并入其中的计算环境的示例性例子。
附图说明
此处描述的技术的多个方面一般针对在后台操作中将(例如虚拟盘的)虚拟存储数据从源存储位置传送到目标存储位置,同时允许计算机系统(例如一个或多个其中的程序)在迁移之前、之中和/或之后使用虚拟盘继续运行。如下所述,这有利于快速转换,并且因此可被用于包括虚拟存储数据的虚拟机从一个虚拟机主机到另一个虚拟机主机的实时迁移。还描述了从相同主机计算机的一个存储设备到另一个存储设备的虚拟存储数据的迁移。
如此处所述,目标虚拟机主机可通过多种方式访问关系到迁移的虚拟存储数据,包括在迁移虚拟机之前将完整拷贝或者部分拷贝迁移到目标主机的存储设备,以使得在迁移期间在两个存储位置数据都是可访问的。在虚拟盘数据的迁移之前目标主机还可接替运行虚拟机,例如通过以高优先级传送写入到目标主机的存储设备,以高优先级在需要时根据请求传送读取数据同时以更低优先级后台操作迁移其他数据。因此,可以以允许在目标主机上的虚拟机在所有虚拟盘数据完成拷贝之后或之前开始执行的方式完成迁移。
尽管此处的例子一般针对将虚拟机(VM)的虚拟硬盘(VHD)从源主机迁移到目标主机,但是应当理解的是此处描述的任何例子都是非限制性例子。事实上,可以迁移任何虚拟存储器扩展,而不必仅仅是被配置为虚拟硬盘的存储器扩展。此外,可不依赖于存储器迁移是不是虚拟机迁移的一部分而迁移存储器。这样的话,本发明并不限于此处描述的任何具体实施方式、方面、概念、结构、功能或例子。更确切地,此处描述的任何实施方式、方面、概念、结构、功能或例子都是非限制性的,并且可以通常在计算和数据迁移中提供益处和优势的多种方式使用本发明。
图1示出了在从源虚拟机主机104迁移到目标虚拟机主机106的虚拟机102A的例子中关于后台存储迁移的多个方面,其中虚拟机将作为虚拟机102B恢复运行。注意到虚拟机仅是使用虚拟存储器(在该例子中是虚拟硬盘驱动器)的软件的一个例子;可与在源和目标上运行的任何软件一起使用虚拟硬盘驱动器,包括在每台机器上的相同软件或不同软件。
在图1的例子中,源虚拟机主机104和目标虚拟机主机106每个都具有他们自己的存储单元,被分别显示为源存储位置108和110,并且他们在主机之间没有被共享(即使相同物理存储设备的一部分)。结果,如图1所示,需要通过虚拟硬盘实例112B将存储器108的虚拟硬盘实例112A迁移到存储器110。注意到源主机及其存储器可以是与目标主机及其存储器相同的物理机的一部分,然而还是需要迁移。此外,注意到“实例”(instance)意味着不同的位置,因为实际上仅有一个虚拟盘数据的真实拷贝,而不管那些数据在哪里和/或其存在于多少个物理位置上。因此,除了表示全部或部分虚拟硬盘的不同物理位置的目的之外,此处将使用术语“虚拟硬盘”而不是“虚拟硬盘实例”。
如图1所示,在一种实现方式中,源迁移代理114与目标迁移代理116进行通信以处理数据的迁移。可由与主机(诸如虚拟机管理系统)相关的任何内部或外部代理来执行迁移,所述内部或外部代理可在源主机和目标主机上运行或者发起与源主机和目标主机的通信以便开始存储器迁移的过程。图2示出了执行源主机204和目标主机206之间的数据传送的协调的外部代理222。
注意到图1示出了正从源主机向目标主机拷贝的数据。然而,正如可以容易意识到的,可将数据从源主机拷贝到目标主机可访问的中间共用位置,和/或可以完成拷贝而不作为任何虚拟机迁移的一部分。图2示出了这样的共用位置224。然而,图2仅示出了可能的实现方式变形中的一些;可使用外部代理来进行直接拷贝而无需中间共用位置,和/或不需要外部代理来让源将数据拷贝到中间共用位置。换而言之,具有内部迁移代理的图1的实现方式可变化为具有共用位置,而具有外部代理的图2的实现方式可变化为不包括中间共用位置。
关于使用虚拟机,虚拟硬盘数据的后台拷贝可以与任何虚拟机状态都分离,例如可在虚拟机正在源主机或目标主机上运行、或者被暂停、停止、删除以及其他情况下时进行虚拟硬盘数据的拷贝。可进行存储数据的迁移而不需要相应的虚拟机,或使用仅作为配置参数而存在的虚拟机(例如在当时未完全实例化)。可在第一次开启虚拟机之前进行存储数据的迁移。
图3示出了另一个例子,其中相同的计算机系统303具有从源存储位置308迁移(到312B)到目标存储位置310的虚拟硬盘驱动器312A的数据。在该例子中,内部迁移代理314执行迁移,然而迁移代理可以是外部的。注意到在该例子中,计算机系统303可以不运行虚拟机,但是在该例子中的一个相似场景是将虚拟盘移动到不同存储单元而没有将虚拟机的执行移动到新的主机计算机。例如,这可被用来代替SAN而不中断虚拟盘的使用。
再次,注意到对于此处描述的存储器迁移并不需要虚拟机,然而虚拟机提供其中虚拟存储器迁移是有用的合适的例子,例如包括虚拟机依赖于虚拟硬盘驱动器实例。依赖意味着需要虚拟硬盘驱动器(或任何其他实体“X”)以便虚拟机好像什么都没有发生那样继续执行。例如,如果当虚拟机依赖于虚拟硬盘驱动器或X时虚拟硬盘驱动器或X失败了,虚拟机被有效地“硬件关机”,并且不得不如同它是失去电源的真实机器那样导入备份。
每次虚拟机仅需要依赖于一个虚拟机主机。结果,在稳定状态操作下,虚拟机不需要依赖于虚拟机的当前主机之外的任何硬件以继续运行。仅在虚拟机迁移操作期间使用网络或其他合适的连接;在其他时间,虚拟机不依赖于任何网络连接以继续执行。
在图1和图2(有可能在图3中)中通过虚线箭头所表示的网络或其他连接可基于任何数据传送机制,包括在中间位置暂存数据的数据传送机制。此外,可以协调数据传送以同时进行多个机制,也就是说,可使用协调使用多于一种的数据传送机制的数据传送的混合传送。
合适的数据传送机制的例子包括以太网、光纤信道(FC)、RDMA网络、UDP、TCP等。通过以太网的IP组网,不需要昂贵的SAN LUN(远程可访问的盘类设备)来传送数据。类似的还可使用光纤信道结构用于数据传送,因为它提供了相当快速的网络连接而不需要存储器(因而在那种结构中不使用昂贵的SAN LUN)。
尽管如此,此处描述的虚拟存储器迁移还是可能受益于SAN LUN,如果可用的话。例如,一种数据传送机制可使用SAN LUN以暂时存储来自源存储位置的数据,接着目标虚拟机主机可访问这些数据;只要源和目标虚拟机主机都具有指定实际顺序的信息,则不需要按照虚拟盘偏移来顺序存储写入和读取的数据。因此,当使用诸如光纤信道的技术用于数据传送时,可以按照或不按照与将光纤信道LUN用作临时数据存储中间媒介相似的方式来进行数据传送;可将数据从源直接传送到目标位置,或由源将数据临时存储到远程LUN中并且接着由目标从LUN中读取数据。
注意到在一些网络环境中,如果允许以网络线路速率来进行从源存储位置到目标存储位置的数据拷贝,网络可能受到不利的影响,例如引起其他地方的高延迟。为了降低对网络的影响,可以对从源存储位置到目标存储位置的存储数据的拷贝进行节流(throttle),例如以使得其保持低于确定为线路速率的一个百分比的限制。例如,如果从源虚拟机主机向多个虚拟机目标发出多个存储器迁移,代理可以节流用于总的发出数据的发送速率,并且还可以遵守由目标虚拟机主机指定的限制,从而允许目标虚拟机主机对输入的网络数据量有一些控制。可通过硬件或软件装置来实现节流(例如由软件实现的分组优先级划分或显式流量节流)。在开始前可以将后台拷贝延迟不定的周期,在开始后可以将其暂停/恢复,并在完成前可以将其停止。
如此处所描述的那样,具有多种方式来迁移虚拟盘。对于其中的一种,可以镜像写入,实际上,可以建立固定的镜像设置以使得迁移能规律的持续运行并且源或目标可非常快速的接管(例如作为虚拟机)。新的写入也可以被镜像,同时通过其他方式传送之前存在的数据。例如,通过将任何新近写入的数据直写到目标存储位置,在传送了所有数据之前目标虚拟机主机可接管虚拟机的运行,同时在后台发生从源存储位置到目标存储位置的拷贝。一般来说,相比于后台拷贝,将以更高优先级处理写入数据。注意到由主机写入的数据已经在RAM中可用于通过网络发送,因此从盘中读回就不是必须的。关于根据请求获得读取,为目标虚拟机主机所需要的任何按请求读取提供比后台拷贝更高优先级的服务,其将一直持续到完成数据拷贝(例如到达虚拟盘的最后)。
可能需要基于网络传输能力对写入执行节流,否则到虚拟盘的写入无法如同它们进来那样快地传送到目标存储位置。此外,需要对传送到目标存储位置的数据写入执行节流到这样的程度,使得可通过保持在网络传送率以下进行一些后台拷贝进程。一种实现该方案的方法是交织后台拷贝写入和直写写入(write-through writes)。可以使用多种方式来节流写入,包括镜像写入,使用具有特定队列深度的队列以限制写入的数量,并且接着降低队列深度等。
因此,在源虚拟机主机使用虚拟盘时,由源软件(例如虚拟机)写入的数据还可被可选地即时直写到目标存储位置。结果,在一种可替换方案中,后台拷贝操作可发挥作用而无需跟踪哪些数据被新的写入弄脏,因为那些写入被立刻发送到目标存储位置。然而注意到,当后台拷贝操作到达一些已被直写到目标存储位置的数据时,代理可将该数据再次发送到目标存储位置。一种替代方式是跟踪写入,使得后台拷贝操作可以跳过已被直写到目标存储位置的数据的任何部分。
另一种替代方式是仅镜像发生到跟踪虚拟盘的哪部分已被后台拷贝到目标存储位置的偏移量之下的偏移的写入。在该替代方式中,到相同位置的重复写入仍然导致重复的传送,但是只有当写入位于虚拟盘中先前已被拷贝的区域时才会发生。然而,该替换方式确实阻止了后台拷贝操作本身再拷贝任何区域,因为后台拷贝点还未到达那个区域而导致其还未被拷贝。
然而,当使用直写时可能存在相对较低的性能,这是因为例如到源存储位置的写入需要等待直到写入数据被传送到目标存储位置并且接收到响应。此外,使用相对较小的写入,每次可以发生一个存储器写入,这需要网络和目标之间的多次往返。
另一种当源仍在使用虚拟存储器的时候传送数据的方式是将任何写入源位置的数据收集和跟踪为“污染区域”(dirty regions)。接着,仅需要重新发送先前由后台拷贝操作发送到目标存储位置的写入覆盖(污染)区域。然而,这些区域的重新发送不需要是即时的,并且不需要在向源回报存储器写入已经完成之前发生。这提供了更高的性能,因为虚拟机存储器写入和网络写入是分离的。此外,当存储器写入速率小于网络传送速率时,并且当污染数据的积压不是太大时,可将任何写入的污染数据缓存到RAM中以用于通过网络发送,而不需要从盘中读回。
当在跟踪污染区域的同时传送数据时,可以发送一连串的差异(“diff”)文件,(包括曾经被创建的“快照”(snapshots)),其中每下一个差异文件仅包括相对于上一个差异文件的变化。这提供了被传送的差异树,其中每个差异文件一般长得比上一个更小。注意到被创建为迁移处理的一部分的快照可能需要与因其他原因而创建的快照一起管理,以使得可以迁移与虚拟机相关联的整个快照树。单独跟踪写入的污染数据,例如通过存储器内数据结构(或可能的单独虚拟盘层)。理想情况下,任何污染跟踪层将避免存储任何污染数据的两个版本,并且当污染数据已被传送到目标时将朝向零空间使用(随着污染数据量的收缩)回缩。
然而,除了因跟踪污染数据稍微复杂之外,如果到源位置的虚拟盘的写入比到目标存储位置的传送发生得更快的话,每个差异文件实际上可以比上一个更大。如果写入速率超过了网络传送速率,污染数据的量将决不会自动减少到零。为了实现减少到零,需要执行以上所描述的对写入的节流。
现在转到如以上参照图1所描述的关于在两个主机之间的虚拟机迁移和虚拟存储器迁移的多个方面,将存储数据的移动与虚拟机执行的移动相分离。因此,可在存储数据的移动之前、之中或之后移动虚拟机执行。
当在存储数据的移动之前移动虚拟机执行,虚拟机变得依赖于两个虚拟机主机以及连接他们的网络以用于继续执行。然而,该情况仅在存储数据传送的期间持续,(不同于先前的方案,其中虚拟机持续依赖于SAN LUN和相关联的存储网络)。
如果目标存储位置具有请求的数据区域,则从目标存储位置存储的数据提供数据读取请求服务。否则,仅有源虚拟机主机的存储位置具有该数据,并且从源虚拟机主机提供读取服务。然而,如同以下参照图4-6所描述的,还有一些(例如只读)数据被保持在目标虚拟机主机和源虚拟机主机都能访问的公共位置的情况,其中目标虚拟机主机从能访问的公共存储位置提供读取服务(除非因为一些原因这样做缺乏效率,并且可以检测该情况)。同样地,如果源虚拟机主机不具备请求的区域(例如暂时无法访问),将从目标虚拟机主机可访问的位置提供读取服务。注意到无论在何处虚拟盘并没有填充到区域中,通过向读取缓冲器填充任意(通常为零)数据或者通过不修改读取缓冲器来提供从那个区域请求的读取服务。
在移动虚拟机执行同时也移动存储数据的情况下,虚拟机仅在剩余的存储传送时间内依赖于两个虚拟机主机以及连接网络(并非在移动虚拟机执行之前而发生的存储数据传送的任何部分期间)。如上所述,在虚拟机执行已经移动之后的数据传送的部分期间,如同在任何存储数据之前移动的虚拟机执行那样提供读取服务。
注意到让虚拟机执行在存储器迁移之前或之中移动提供了允许将与虚拟机相关联的CPU负载的大部分从一个虚拟机主机移动到另一个,而无需首先移动存储数据的灵活性。这在许多情况下可能是有益的,并且只要在数据传送周期期间依赖于两个虚拟机主机和连接网络是可接受的即可执行。源和目标虚拟机主机仅需要在存储器被分裂到两个虚拟机主机之间时在存储器迁移操作期间进行通信,并且他们仅需要在虚拟机运行在一个虚拟机主机上而它的存储器的任何部分处于其他虚拟机主机上时进行通信。在其他时间,虚拟机主机不需要进行通信。
在完全移动了存储数据之后移动虚拟机执行的情况中,虚拟机每次仅依赖于一台虚拟机主机,并且仅短暂地依赖于网络连接性。在这种情况下,虚拟机从不会分离于存储数据而执行。可从本地存储的数据,或从源和目标虚拟机主机都可以共同访问的位置提供读取服务。
图4示出了一种实现方式,其中源主机404和目标主机406都已经可以共同访问虚拟盘的一些数据422。例如,在一些配置中,通过可被共同访问的基础层以及包括对基础层的改变的一个或多个差异(diff)层446来形成虚拟盘,可以缓存虚拟盘的一部分(块444)。正如已经知道的,可通过如下方式来形成虚拟盘:使用最近的数据,接着是次最近数据等等,直到基础层,基础层是最旧的层。如下参照图5和6所描述的那样,仅需要迁移差异层446以完成虚拟盘迁移。注意到图4与图2的区别在于源不需要将数据拷贝到公共数据位置,因为其已经在那里了。
例如,在图5中,示出了具有两层552和554的虚拟盘550,它通过使用不管哪里存在的差异层554的数据,并且接着在需要时使用基础层552的数据而形成。在虚拟盘迁移的上下文中,基础层552可代表已经驻留在目标虚拟机主机406上或可被目标虚拟机主机406访问的数据,而差异层554可代表仅驻留在源虚拟机主机404中的数据。注意到在两个层之间的一些或全部重叠区域可包括相同数据,这样的相同区域可被跟踪为相同的,(尽管未在图5中示出)。
图6示出了具有三层的虚拟盘660。在这样的配置中,源虚拟机主机404缓存来自基础层的数据,直到并且可能包括整个基础层。关于有效率的迁移,如果目标虚拟机主机能够更有效地直接从原始(共同可访问的)基础层获得数据,源虚拟机主机404不需要发送任何缓存的数据到目标虚拟机主机。这能奏效是因为基础层和从基础层缓存的数据是相同的。
在图6的例子中,基础层662代表源主机404和目标主机406都能共同访问的层。缓存层664代表源主机404已经从基础层662缓存的一些(或可能全部)数据,它在任何重叠区域中与基础层相同;(注意到在图6中仅缓存了基础层数据的一部分)。差异(diff)层666代表仅存在于源虚拟机主机404上的数据。当开始从源虚拟机主机404到目标虚拟机主机406的存储器迁移时,仅拷贝差异层666中的数据,因为不需要拷贝缓存层664,也不需要拷贝基础层662,这是因为目标虚拟机主机406可访问基础层而无需通过源虚拟机主机404。
注意到对于虚拟盘分层还有其他设置,其中将一层镜像到两个存储位置之间而不是(如图6所示)使用用于相同目的的两个单独的层。为了有效的迁移还可类似地使用这样的其他设置。
为了更高效,源虚拟机主机404可发送虚拟盘的哪些区域被仅由源虚拟机主机404保持的虚拟盘数据层退回(back)的描述,和/或在至少一个其他源上可得到的数据的区域的描述。目标虚拟机主机406缓存这些描述,并且接着可以使用这些描述以避免向源虚拟机主机404查询在源虚拟机主机404不具有数据的区域中的数据。此外,如果描述识别多于一个源,目标虚拟机主机406可使用描述选择一个从其拷贝数据的源。可自动地或者响应于目标虚拟机主机406的特定查询而将这些描述从源虚拟机主机404发送到目标虚拟机主机406。
转到另一个方面,可能存在在迁移完成之前需要反转迁移的方向的情况,例如通过管理员或自动动作取消或反转虚拟机迁移。在这些情况下,原始方向上的拷贝停止,并且源存储位置(例如A)和目标存储位置(例如B)交换角色,以使得任何仅存储在B上的数据开始拷贝到A。在B上可能几乎没有或没有也不在A上的数据,在这样的事件中反转拷贝操作非常快。
图7是示出了可以在示例的虚拟存储迁移处理中发生的示例步骤的流程图,其开始于步骤702,其中代理发送目标存储位置将需要的区域的描述。如步骤704所示,源存储位置还将继续可被访问,并可被用来提供读取和写入服务。
步骤706代表执行对于目标所请求的任何区域的后台拷贝操作(注意到此时可能没有任何这样的请求,例如在任何数据传送之前如果将立刻发生迁移)。注意到后台拷贝可由牵引数据的目标/代理(内部的或外部的)来驱动(如步骤706所示),或者由推送数据的源/代理来驱动。
步骤708代表镜像或以其他方式发送写入到目标主机,其包括任何必须的节流。注意到镜像仅是一种选择,例如,源可以仅发送写入到已经覆盖写入了之前后台拷贝的数据的目标主机。
步骤710代表确定是否将访问虚拟盘的虚拟机(或其他程序)传送到目标主机,如上所述,例如根据管理员或其他代理的控制,这可能发生在任何数据迁移之前、之中或之后。如果根据在步骤712的评估直到数据传送完成之后都没有传送,接着仅在数据迁移完成时才发生虚拟机传送(步骤714),否则处理分支返回到步骤704,其中源虚拟机主机继续使用虚拟硬盘运行虚拟机,同时执行后台拷贝和发送写入。
作为替代,如果在步骤710将要传送使用虚拟硬盘的虚拟机,那么执行(例如通过外部代理或内部源/目标代理)步骤716以继续执行对于任何合适区域的后台拷贝。任何对于目标虚拟机主机现在所需要的读取数据的读取请求都被发送回到源虚拟机主机,通过源虚拟机主机接收这些请求并提供服务(步骤718)。在步骤720,任何仍然指向源虚拟机主机的写入(例如挂起)被发送到目标虚拟机主机。在步骤722,当虚拟硬盘数据被完全传送到目标存储位置(包括任何可共同访问的一个位置或多个位置)时完成迁移。
示例操作环境
图8示出了合适的计算和联网环境800的例子,在其中可实现图1-7的例子。计算系统环境800仅是合适的计算环境的一个例子,其并未试图建议任何对本发明的使用或功能的范围的限制。并且计算环境800也不应当被解释为具有与示例操作环境800所示出的组件的任何一个或组合相关的依赖性或需求。
还可使用多种其他一般用途或专用的计算系统环境或配置来操作本发明。适用于与本发明一起使用的公知的计算系统、环境和/或配置的例子包括但不限于:个人计算机、服务器计算机、手持或膝上型设备、平板设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子设备、网络PC、微型计算机、大型计算机、包括任何以上的系统或设备的分布式计算环境等。
可在诸如由计算机执行的程序模块之类的计算机可执行指令的一般上下文中描述本发明。一般来说,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。还可在由通过通信网络相链接的远程处理设备来执行任务的分布式计算环境中实施本发明。在分布式计算环境中,程序模块可位于本地和/或包括存储器存储设备的远程计算机存储媒体中。
参见图8,用于实现本发明多个方面的示例系统可包括以计算机810形式的通用计算设备。计算机810的组件包括但不限于:处理单元820、系统存储器830、将包括系统存储器的多个系统组件耦合到处理单元820的系统总线821。系统总线821可以是多种类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线和使用多种总线架构的任何一种的局部总线。作为示例而非限制,这样的架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强ISA(EISA)总线、视频电子标准协会(VESA)局部总线和也被称为夹层总线(Mezzanine bus)的周边组件互联(PCI)总线。
计算机810一般包括多种计算机可读媒体。计算机可读媒体可以是可以由计算机810访问的任何可用媒体,其包括易失性和非易失性媒体、以及可移除和不可移除媒体。作为示例而非限制,计算机可读媒体可包括计算机存储媒体和通信媒体。计算机存储媒体包括以任何方法或技术实现的易失性和非易失性、可移除和不可移除媒体,用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息。计算机存储媒体包括但不限于:RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光学盘存储器、磁盒、磁带、磁盘存储器或其他磁存储设备,或可被用来存储期望的信息并由计算机810访问的任何其他媒体。通信媒体一般体现为诸如载波或其他传输机制之类的调制的数据信号中的计算机可读指令、数据结构、程序模块或其他数据,并包括任何信息传递媒体。术语“调制的数据信号”意指这样的信号,其特性中的一个或多个已经被以将信息编码在该信号中的方式设置或改变。作为示例而非限制,通信媒体包括诸如有线网络和直接连线连接之类的有线媒体和诸如声音、RF、红外和其他无线媒体之类的无线媒体。以上任意的组合也包括在计算机可读媒体的范围内。
系统存储器830包括诸如只读存储器(ROM)831和随机存取存储器(RAM)832之类的易失性和/或非易失性存储器形式的计算机存储媒体。包括例如在开机启动期间帮助在计算机810内的元件之间传送信息的基本例程的基本输入/输出系统833(BIOS)一般存储在ROM 831中。RAM 832一般包括处理单元820可以立即访问的和/或当前正在操作的数据和/或程序模块。作为示例而非限制,图8示出了操作系统834、应用程序835、其他程序模块836和程序数据837。
计算机810还可包括其他可移除/不可移除、易失性/非易失性计算机存储媒体。仅作为示例,图8示出了从不可移除、非易失性磁媒体读取数据或向其写入的硬盘驱动器841,从可移除、非易失性磁盘852读取数据或向其写入的磁盘驱动器851,从诸如CD ROM或其他光学媒体之类的可移除、非易失性光盘856读取数据或向其写入的光盘驱动器855。可用于示例操作环境的其他可移除/不可移除、易失性/非易失性计算机存储媒体包括但不限于:磁带盒、闪存卡、数字通用盘、数字视频带、固态RAM、固态ROM等。一般通过诸如接口840之类的不可移除存储器接口将硬盘驱动器841连接到系统总线821,并且一般通过诸如接口850之类的可移除存储器接口将磁盘驱动器851和光盘驱动器855连接到系统总线821。
以上所描述的以及在图8中示出的驱动器及其相关联的计算机存储媒体提供用于计算机810的计算机可读指令、数据结构、程序模块和其他数据的存储。例如,在图8中,硬盘驱动器841被示出为存储操作系统844、应用程序845、其他程序模块846和程序数据847。注意到这些组件可以相同或不同于操作系统834、应用程序835、其他程序模块836和程序数据837。此处为操作系统844、应用程序845、其他程序模块846和程序数据847给出不同的编号以示出他们至少是不同的拷贝。用户可以通过诸如平板或电子数字化器864、麦克风863、键盘862和一般被称为鼠标、轨迹球或触摸板的指示设备861之类的输入设备来输入命令和信息到计算机810。图8中未示出的其他输入设备可包括摇杆、游戏板、圆盘式卫星天线、扫描仪等。这些和其他输入设备通常通过耦合到系统总线的用户输入接口860连接到处理单元820,但也可以通过其他接口和总线结构(例如并口、游戏端口或通用串行总线(USB))连接。监视器891或其他类型的显示设备也通过诸如视频接口890之类的接口连接到系统总线821。监视器891还可整合触摸屏面板等。注意到监视器和/或触摸屏面板可以物理耦合到其中合并了计算设备810的外壳,例如在平板类型的个人计算机中。另外,诸如计算设备810的计算机还可包括其他外围输出设备,例如可以通过输出外围接口894等连接的扬声器895和打印机896。
计算机810可操作于使用到一个或多个远程计算机(例如远程计算机880)的逻辑连接的联网环境。远程计算机880可以是个人计算机、服务器、路由器、网络PC、对等设备或其他公共网络节点,一般包括以上描述的关于计算机810的众多或全部元件,尽管图8中仅示出了存储器存储设备881。图8中所描述的逻辑连接包括一个或多个局域网(LAN)871和一个或多个广域网(WAN)873,但是还可包括其他网络。这样的联网环境是办公室、企业范围计算机网络、内联网和互联网中常见的。
当使用在LAN联网环境中时,计算机810通过网络接口或适配器870连接到LAN 871。当使用在WAN联网环境中时,计算机810一般包括调制解调器872或其他用于通过诸如互联网之类的WAN 873建立通信的装置。内置的或外置的调制解调器872可以通过用户输入接口860或其他合适的机制连接到系统总线821。包括诸如接口和天线的无线联网组件可通过诸如接入点或对等计算机之类合适的设备耦合到WAN或LAN。在联网环境中,关于计算机810描述的程序模块或其一部分可存储在远程存储器存储设备中。作为示例而非限制,图8示出了驻留在存储器设备881中的远程应用程序885。应当意识到的是,所示的网络连接是示例性的,并且还可以使用在计算机之间建立通信链路的其他装置。
可通过用户接口860连接辅助子系统899(例如用于内容的辅助显示)以允许即使计算机系统的主要部分处于电力不足状态,也可向用户提供诸如程序内容、系统状态和事件通知之类的数据。辅助子系统899可连接到调制解调器872和/或网络接口870以允许在主处理单元820处于电力不足状态时这些系统之间的通信。
结论
虽然本发明可以进行各种修改和替代结构,但是其特定例示实施方式已在附图中示出了并且以上已进行了详细的描述。然而,应当理解的是没有意图将本发明限制到所公开的具体形式,与此相反,意图是要覆盖落入本发明的精神和范围内的所有的修改、替代结构和同等变换。

Claims (15)

1.在一种计算环境中在至少一个处理器上执行的方法,包括:将虚拟存储器扩展从源存储位置迁移到目标存储位置,其中包括在将虚拟存储器扩展的任何部分拷贝到目标存储位置之前,在将虚拟存储器扩展的全部拷贝到目标存储位置之前,或将虚拟存储器扩展的全部拷贝到目标存储位置之后,将虚拟机从第一位置迁移到第二位置,同时继续允许访问虚拟存储器扩展的虚拟存储数据,而与虚拟存储数据的每个部分在该迁移期间物理上位于什么位置无关,并通过以下方式在所述第二位置服务于读出请求:确定对应于该读出请求的读出数据是否已经迁移到目标存储位置,如果是,则使用该数据,而如果不是,从该源存储位置或该第二位置可访问的另一位置获取读出数据。
2.根据权利要求1所述的方法,其中迁移所述虚拟存储器扩展包括执行所述虚拟存储器扩展的至少一部分从所述源存储位置到所述目标存储位置的后台拷贝。
3.根据权利要求1所述的方法,其中迁移所述虚拟存储器扩展包括执行所述虚拟存储器扩展的至少一部分从所述源存储位置到所述目标存储位置的后台拷贝,同时访问所述虚拟存储数据的虚拟机在源虚拟机主机上运行,在源虚拟机主机上被暂停,在源虚拟机主机上被停止,或者在目标虚拟机主机上运行。
4.根据权利要求1所述的方法,其中迁移所述虚拟存储器扩展包括发送写入的数据到相应于指向所述源存储位置的最近写入的数据的所述目标存储位置。
5.根据权利要求4所述的方法,其进一步包括节流写入以限制一个时间周期内最近写入的数据的字节数,或者限制还未被发送到所述目标存储位置的最近写入的数据的字节数。
6.根据权利要求1所述的方法,其中通过使所述虚拟存储数据被完全拷贝到所述目标存储位置的所述虚拟存储器扩展来完成迁移,并且进一步包括镜像在所述源存储位置和所述目标存储位置上的虚拟存储器扩展实例以允许可从所述源存储位置或所述目标存储位置或者从两者访问数据;或者在迁移完成之后的任何时间从所述源存储位置删除所述虚拟存储数据。
7.根据权利要求1所述的方法,其中迁移所述虚拟存储数据包括执行所述虚拟存储器扩展的至少一部分从所述源存储位置到所述目标存储位置的后台拷贝,其中包括节流所述后台拷贝以利用小于其上正进行所述后台拷贝的网络的最大传送速率。
8.根据权利要求1所述的方法,其中将所述虚拟存储器扩展从所述源存储位置迁移到所述目标存储位置作为从第一位置到第二位置迁移虚拟机的一部分发生,包括在已将所述虚拟存储器扩展的任何虚拟存储数据迁移到所述目标存储位置之前,在所有所述虚拟存储器扩展已被拷贝到所述目标存储位置之前,或者在所有所述虚拟存储器扩展已被拷贝到所述目标存储位置之后移动所述虚拟机。
9.根据权利要求1所述的方法,其中迁移所述虚拟存储器扩展包括将所述虚拟存储器扩展的所述虚拟存储数据的至少一部分拷贝到中间公共位置,或者其中所述虚拟存储器扩展包括保持在公共存储位置上的一些数据,并且迁移所述虚拟存储器扩展包括从所述公共存储位置访问数据,或其中这两种迁移所述虚拟存储器扩展都包括将所述虚拟存储器扩展的所述虚拟存储数据的至少一部分拷贝到所述中间公共位置,并且其中所述虚拟存储器扩展包括保持在公共存储位置上的一些数据,并且迁移所述虚拟存储器扩展包括从所述公共存储位置访问数据。
10.根据权利要求1所述的方法,进一步包括,其中所述目标存储位置被耦合到目标计算机系统,并且进一步包括,发送识别所述目标计算机系统仅能够从所述源存储位置获得的数据的所述虚拟存储器扩展的虚拟存储数据的区域的描述。
11.在一种计算环境中的一种系统,包括:具有虚拟机和虚拟硬盘的源虚拟机主机、所述虚拟机和所述虚拟硬盘将要迁移到的目标虚拟机主机、以及控制所述虚拟硬盘的迁移的一个或多个代理,所述虚拟硬盘迁移被配置为按如下方式发生:
(a)在所述虚拟机被迁移到所述目标虚拟机主机之前发生;
(b)部分地发生,其中在所述虚拟机被迁移到所述目标虚拟机主机之前将所述虚拟硬盘的数据的一部分迁移到所述目标虚拟机主机,在所述虚拟机被迁移到所述目标虚拟机主机之后将所述虚拟硬盘的数据的其它的一些部分迁移到所述目标虚拟机主机;或者
(c)在所述虚拟机被迁移到所述目标虚拟机主机之后发生,以及
通过以下方式在所述目标虚拟机主机服务于读出请求:确定对应于该读出请求的读出数据是否已经迁移到所述目标虚拟机主机,如果是,则使用该数据,而如果不是,从源虚拟机主机或该目标虚拟机主机可访问的另一位置获取读出数据。
12.根据权利要求11所述的系统,其中一个或多个代理发送指向所述源虚拟机主机的最近写入的写入作为到所述目标虚拟机主机的写入数据,并且从所述源虚拟机主机后台拷贝数据到所述目标虚拟机主机,其中以至少与后台拷贝的优先级一样高的优先级发生最近写入的写入的发送。
13.根据权利要求11所述的系统,其中所述虚拟硬盘包括可由所述目标虚拟机主机访问的基础层和在所述源虚拟机主机中的至少一个其他层,并且其中迁移包括将至少一些数据从所述基础层中读出到所述目标虚拟机主机而不从所述源虚拟机主机发送该数据。
14.根据权利要求11所述的系统,其中所述源虚拟机主机提供所述目标虚拟机主机需要从所述源虚拟机主机获得的数据区域的描述、或者所述目标虚拟机主机能够从另一个位置获得的数据区域的描述、或者所述目标虚拟机主机需要从所述源虚拟机主机获得的数据区域的描述和所述目标虚拟机主机能够从另一个位置获得的数据区域的描述这两者。
15.根据权利要求11所述的系统,其中所述源虚拟机主机跟踪相应于所述目标虚拟机主机需要从所述源虚拟机主机获得的写入的污染区域。
CN201180008699.0A 2010-02-08 2011-01-17 虚拟存储器的后台迁移 Active CN102741820B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/701,630 US8751738B2 (en) 2010-02-08 2010-02-08 Background migration of virtual storage
US12/701,630 2010-02-08
PCT/US2011/021456 WO2011097064A2 (en) 2010-02-08 2011-01-17 Background migration of virtual storage

Publications (2)

Publication Number Publication Date
CN102741820A CN102741820A (zh) 2012-10-17
CN102741820B true CN102741820B (zh) 2015-04-01

Family

ID=44354582

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180008699.0A Active CN102741820B (zh) 2010-02-08 2011-01-17 虚拟存储器的后台迁移

Country Status (4)

Country Link
US (4) US8751738B2 (zh)
CN (1) CN102741820B (zh)
HK (1) HK1176721A1 (zh)
WO (1) WO2011097064A2 (zh)

Families Citing this family (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9558074B2 (en) * 2010-06-11 2017-01-31 Quantum Corporation Data replica control
US8671238B2 (en) * 2010-07-13 2014-03-11 Vmware, Inc. Robust live migration using shared filesystem
US8489699B2 (en) 2010-08-13 2013-07-16 Vmware, Inc. Live migration of virtual machine during direct access to storage over SR IOV adapter
US8924675B1 (en) * 2010-09-24 2014-12-30 Emc Corporation Selective migration of physical data
US9069620B2 (en) 2010-10-20 2015-06-30 Microsoft Technology Licensing, Llc Creating and deploying service-ready virtual hard disks
US9015119B2 (en) 2010-10-26 2015-04-21 International Business Machines Corporation Performing a background copy process during a backup operation
US9477597B2 (en) 2011-03-25 2016-10-25 Nvidia Corporation Techniques for different memory depths on different partitions
US8924966B1 (en) 2011-03-31 2014-12-30 Emc Corporation Capture/revert module for complex assets of distributed information technology infrastructure
US8701057B2 (en) 2011-04-11 2014-04-15 Nvidia Corporation Design, layout, and manufacturing techniques for multivariant integrated circuits
US10289684B2 (en) * 2011-05-03 2019-05-14 Vmware, Inc. Live migration of virtual machine persistent data using mirrored input-output operations
KR101512714B1 (ko) * 2011-05-06 2015-04-23 주식회사 케이티 가상머신 디스크 마이그레이션 장치 및 그 방법
US10102018B2 (en) * 2011-05-27 2018-10-16 Red Hat, Inc. Introspective application reporting to facilitate virtual machine movement between cloud hosts
US8490092B2 (en) * 2011-07-06 2013-07-16 Microsoft Corporation Combined live migration and storage migration using file shares and mirroring
US9529712B2 (en) * 2011-07-26 2016-12-27 Nvidia Corporation Techniques for balancing accesses to memory having different memory types
US9189271B2 (en) * 2011-09-13 2015-11-17 Empire Technology Development, Llc Operation transfer from an origin virtual machine to a destination virtual machine while continue the execution of the operation on the origin virtual machine
US8756601B2 (en) * 2011-09-23 2014-06-17 Qualcomm Incorporated Memory coherency acceleration via virtual machine migration
CN103064733A (zh) * 2011-10-20 2013-04-24 电子科技大学 云计算虚拟机热迁移技术
US20130111127A1 (en) * 2011-10-28 2013-05-02 Hitachi, Ltd. Storage system and data processing method in storage system
CN103930882B (zh) 2011-11-15 2017-10-03 Nicira股份有限公司 具有中间盒的网络架构
US9081504B2 (en) 2011-12-29 2015-07-14 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Write bandwidth management for flash devices
US9286100B2 (en) * 2011-12-29 2016-03-15 Telefonaktiebolaget L M Ericsson (Publ) Virtual machine migration using 3GPP MCIM
US8930947B1 (en) 2011-12-30 2015-01-06 Emc Corporation System and method for live migration of a virtual machine with dedicated cache
US9009416B1 (en) 2011-12-30 2015-04-14 Emc Corporation System and method for managing cache system content directories
US9053033B1 (en) 2011-12-30 2015-06-09 Emc Corporation System and method for cache content sharing
US9158578B1 (en) * 2011-12-30 2015-10-13 Emc Corporation System and method for migrating virtual machines
US9104529B1 (en) 2011-12-30 2015-08-11 Emc Corporation System and method for copying a cache system
US9235524B1 (en) 2011-12-30 2016-01-12 Emc Corporation System and method for improving cache performance
US9223607B2 (en) * 2012-01-17 2015-12-29 Microsoft Technology Licensing, Llc System for replicating or migrating virtual machine operations log by throttling guest write iOS based on destination throughput
US9158568B2 (en) 2012-01-30 2015-10-13 Hewlett-Packard Development Company, L.P. Input/output operations at a virtual block device of a storage server
US9098325B2 (en) * 2012-02-28 2015-08-04 Hewlett-Packard Development Company, L.P. Persistent volume at an offset of a virtual block device of a storage server
US9104339B1 (en) * 2012-04-27 2015-08-11 Symantec Corporation Support track aligned partitions inside virtual machines
JP5658197B2 (ja) * 2012-06-04 2015-01-21 株式会社日立製作所 計算機システム、仮想化機構、及び計算機システムの制御方法
US9600206B2 (en) 2012-08-01 2017-03-21 Microsoft Technology Licensing, Llc Request ordering support when switching virtual disk replication logs
US9141505B1 (en) * 2012-09-27 2015-09-22 Emc Corporation Adaptive failure survivability in a storage system using save time and data transfer after power loss
WO2014054075A1 (en) * 2012-10-04 2014-04-10 Hitachi, Ltd. System management method, and computer system
KR101471879B1 (ko) * 2012-10-31 2014-12-11 삼성에스디에스 주식회사 하이퍼바이저 기반 서버 이중화 시스템, 그 방법 및 서버 이중화 컴퓨터 프로그램이 기록된 기록매체
CN102929715B (zh) * 2012-10-31 2015-05-06 曙光云计算技术有限公司 基于虚拟机迁移的网络资源调度方法和系统
CN103856502B (zh) * 2012-11-29 2016-12-21 北京华胜天成科技股份有限公司 实现虚拟机镜像文件热迁移的方法和nas集群系统
US9003409B2 (en) * 2012-11-30 2015-04-07 International Business Machines Corporation Common contiguous memory region optimized long distance virtual machine migration
CN103885811B (zh) * 2012-12-21 2017-05-31 中国电信股份有限公司 虚拟机系统全系统在线迁移的方法、系统与装置
US10241814B2 (en) 2013-01-29 2019-03-26 Red Hat Israel, Ltd. Virtual machine memory migration by storage
US9405642B2 (en) * 2013-01-29 2016-08-02 Red Hat Israel, Ltd. Providing virtual machine migration reliability using an intermediary storage device
US9633027B1 (en) 2013-03-14 2017-04-25 EMC IP Holding Company LLC High speed backup
US9141424B2 (en) * 2013-03-14 2015-09-22 International Business Machines Corporation Achieving continuous availability for planned workload and site switches with no data loss
US9081599B2 (en) * 2013-05-28 2015-07-14 Red Hat Israel, Ltd. Adjusting transfer rate of virtual machine state in virtual machine migration
GB2516944A (en) * 2013-08-08 2015-02-11 Ibm Live migration of a virtual machine using a peripheral function
US10007428B2 (en) * 2013-08-16 2018-06-26 Micron Technology, Inc. Data storage management
US9842032B2 (en) * 2013-08-27 2017-12-12 Red Hat, Inc. Memory first live snapshot
CN104468641B (zh) * 2013-09-12 2019-01-15 腾讯科技(深圳)有限公司 一种业务数据迁移方法、装置和云存储系统
CN104468458B (zh) * 2013-09-12 2018-09-11 中国电信股份有限公司 客户工作负载迁移到云环境的方法和系统以及迁移代理
US9305071B1 (en) * 2013-09-30 2016-04-05 Emc Corporation Providing virtual storage processor (VSP) mobility with induced file system format migration
US9851918B2 (en) * 2014-02-21 2017-12-26 Red Hat Israel, Ltd. Copy-on-write by origin host in virtual machine live migration
US9959203B2 (en) * 2014-06-23 2018-05-01 Google Llc Managing storage devices
US9350682B1 (en) * 2014-07-30 2016-05-24 Amazon Technologies, Inc. Compute instance migrations across availability zones of a provider network
US10027738B2 (en) 2014-10-01 2018-07-17 SkyKick, Inc. Optimizing data migration processes
US9811367B2 (en) * 2014-11-13 2017-11-07 Nsp Usa, Inc. Method and apparatus for combined hardware/software VM migration
US10318325B2 (en) * 2015-01-07 2019-06-11 International Business Machines Corporation Host-side cache migration
US9146769B1 (en) 2015-04-02 2015-09-29 Shiva Shankar Systems and methods for copying a source machine to a target virtual machine
US10725804B2 (en) * 2015-08-05 2020-07-28 Vmware, Inc. Self triggered maintenance of state information of virtual machines for high availability operations
US10725883B2 (en) * 2015-08-05 2020-07-28 Vmware, Inc. Externally triggered maintenance of state information of virtual machines for high availablity operations
CN105183512A (zh) * 2015-08-28 2015-12-23 浪潮(北京)电子信息产业有限公司 一种在物理硬盘部署操作系统的方法及系统
WO2017069648A1 (en) * 2015-10-21 2017-04-27 Huawei Technologies Co., Ltd. Distributed cache live migration
US9652296B1 (en) 2015-11-13 2017-05-16 Red Hat Israel, Ltd. Efficient chained post-copy virtual machine migration
CN105471985A (zh) * 2015-11-23 2016-04-06 北京农业信息技术研究中心 负载均衡方法及云平台计算方法、云平台
US10230785B1 (en) * 2015-12-28 2019-03-12 Amazon Technologies, Inc. Post data synchronization for domain migration
CN106406763A (zh) * 2016-09-21 2017-02-15 郑州云海信息技术有限公司 一种后台拷贝方法及装置
FI20165910L (fi) 2016-11-30 2018-05-31 AJR Solutions Oy Virtuaalikoneiden siirtäminen
JP6691302B2 (ja) * 2017-01-20 2020-04-28 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
US10481806B2 (en) 2017-03-21 2019-11-19 International Business Machines Corporation Method of enhancing the performance of storage system through optimization in compressed volume migration
US10817321B2 (en) * 2017-03-21 2020-10-27 International Business Machines Corporation Hardware independent interface for cognitive data migration
EP3625927A4 (en) * 2017-07-12 2020-12-09 Hewlett-Packard Development Company, L.P. Storage device migration
KR102474582B1 (ko) * 2017-08-28 2022-12-05 삼성전자주식회사 가상화 클러스터 환경의 비바람직한 호스트 서버 상에서 더티 가상 머신의 실행을 방지하는 방법 및 시스템
CN107391050A (zh) * 2017-09-14 2017-11-24 郑州云海信息技术有限公司 一种数据迁移方法、系统、装置和计算机可读存储介质
US10817323B2 (en) * 2018-01-31 2020-10-27 Nutanix, Inc. Systems and methods for organizing on-demand migration from private cluster to public cloud
US10552199B2 (en) * 2018-02-26 2020-02-04 Nutanix, Inc. System and method for binary throttling for live migration of virtual machines
US10664323B2 (en) * 2018-03-07 2020-05-26 Microsoft Technology Licensing, Llc Live migration of virtual machines in distributed computing systems
US11126362B2 (en) 2018-03-14 2021-09-21 International Business Machines Corporation Migrating storage data
US10552209B2 (en) * 2018-03-15 2020-02-04 Nutanix, Inc. System and method for throttling for live migration of virtual machines
US10552200B2 (en) 2018-03-22 2020-02-04 Nutanix, Inc. System and method for dynamic throttling for live migration of virtual machines
CN110413213B (zh) * 2018-04-28 2023-06-27 伊姆西Ip控股有限责任公司 存储卷在存储阵列之间的无缝迁移
CN109445908B (zh) * 2018-10-30 2021-04-27 杭州炎魂网络科技有限公司 一种虚拟机备份方法和系统
CN109358952A (zh) * 2018-10-30 2019-02-19 张家口浩扬科技有限公司 一种虚拟机迁移方法和系统
US11194620B2 (en) 2018-10-31 2021-12-07 Nutanix, Inc. Virtual machine migration task management
US11188368B2 (en) 2018-10-31 2021-11-30 Nutanix, Inc. Asynchronous workload migration control
CN111324413B (zh) * 2018-12-14 2023-08-15 中移(杭州)信息技术有限公司 一种数据迁移方法及数据迁移管理设备
US10809935B2 (en) * 2018-12-17 2020-10-20 Vmware, Inc. System and method for migrating tree structures with virtual disks between computing environments
US11822681B1 (en) 2018-12-31 2023-11-21 United Services Automobile Association (Usaa) Data processing system with virtual machine grouping based on commonalities between virtual machines
US20200264781A1 (en) * 2019-02-20 2020-08-20 Nanjing Iluvatar CoreX Technology Co., Ltd. (DBA “Iluvatar CoreX Inc. Nanjing”) Location aware memory with variable latency for accelerating serialized algorithm
US11809888B2 (en) 2019-04-29 2023-11-07 Red Hat, Inc. Virtual machine memory migration facilitated by persistent memory devices
CN111897621A (zh) * 2019-05-06 2020-11-06 阿里巴巴集团控股有限公司 一种虚拟机迁移方法、装置、设备、系统及存储介质
US11238063B2 (en) * 2019-07-25 2022-02-01 EMC IP Holding Company LLC Provenance-based replication in a storage system
US11119682B2 (en) 2019-07-30 2021-09-14 Hewlett Packard Enterprise Development Lp Compressed extent versions
JP7347007B2 (ja) * 2019-08-28 2023-09-20 富士フイルムビジネスイノベーション株式会社 情報処理装置、情報処理システム、及び情報処理プログラム
CN113391757B (zh) * 2020-03-12 2022-05-03 杭州海康威视数字技术股份有限公司 一种节点扩展方法、装置及迁入节点
US12026055B2 (en) 2020-07-13 2024-07-02 Samsung Electronics Co., Ltd. Storage device with fault resilient read-only mode
US11586391B2 (en) * 2020-12-16 2023-02-21 Nutanix, Inc. Technique for efficient migration of live virtual disk across storage containers of a cluster
JP2022112614A (ja) * 2021-01-22 2022-08-03 株式会社日立製作所 リソースの移動スケジュールを決定する装置
US11487467B1 (en) 2021-05-28 2022-11-01 Microsoft Technology Licensing, Llc Layered memory mapped file technology
US20240020019A1 (en) * 2022-07-15 2024-01-18 Vmware, Inc. Resumable transfer of virtual disks
WO2024151764A1 (en) * 2023-01-12 2024-07-18 University Of Washington Systems and methods for mapping, migrating, and/or processing data over a network

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101216805A (zh) * 2007-01-07 2008-07-09 国际商业机器公司 用于在处理器存储装置内的数据移动的方法和系统
CN101278270A (zh) * 2005-10-07 2008-10-01 国际商业机器公司 在虚拟存储器环境中处理dma请求的设备和方法
US7640409B1 (en) * 2005-07-29 2009-12-29 International Business Machines Corporation Method and apparatus for data migration and failover

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452454A (en) 1991-12-10 1995-09-19 Digital Equipment Corporation Generic remote boot for networked workstations by creating local bootable code image
JP2000512416A (ja) 1997-03-12 2000-09-19 ストーリッジ テクノロジー コーポレーション ネットワーク付属仮想テープデータ記憶サブシステム
US5926834A (en) * 1997-05-29 1999-07-20 International Business Machines Corporation Virtual data storage system with an overrun-resistant cache using an adaptive throttle based upon the amount of cache free space
US6075938A (en) * 1997-06-10 2000-06-13 The Board Of Trustees Of The Leland Stanford Junior University Virtual machine monitors for scalable multiprocessors
US6757797B1 (en) * 1999-09-30 2004-06-29 Fujitsu Limited Copying method between logical disks, disk-storage system and its storage medium
US6629264B1 (en) * 2000-03-30 2003-09-30 Hewlett-Packard Development Company, L.P. Controller-based remote copy system with logical unit grouping
US7720928B2 (en) 2000-06-02 2010-05-18 Hewlett-Packard Development Company, L.P. Centralized fine-grained enhancements for distributed table driven I/O mapping
US6718435B2 (en) * 2001-08-14 2004-04-06 International Business Machines Corporation Method and system for migrating data in a raid logical drive migration
US6912635B2 (en) * 2002-05-08 2005-06-28 Hewlett-Packard Development Company, L.P. Distributing workload evenly across storage media in a storage array
CN2569238Y (zh) 2002-07-01 2003-08-27 威盛电子股份有限公司 分布式共享内存系统中远程节点读取本地内存维护装置
US7484208B1 (en) 2002-12-12 2009-01-27 Michael Nelson Virtual machine migration
US7127568B2 (en) * 2003-01-23 2006-10-24 Hitachi, Ltd. Throttling in storage systems
US6925533B2 (en) 2003-05-07 2005-08-02 International Business Machines Corporation Virtual disk image system with local cache disk for iSCSI communications
US20050010326A1 (en) * 2003-05-28 2005-01-13 Vincent Hayward Method and apparatus for synthesizing virtual interaction between rigid and deformable bodies
US20050071560A1 (en) * 2003-09-30 2005-03-31 International Business Machines Corp. Autonomic block-level hierarchical storage management for storage networks
US8006056B2 (en) 2004-01-30 2011-08-23 Hewlett-Packard Development Company, L.P. Storage system including capability to move a virtual storage device group without moving data
US7039785B2 (en) * 2004-02-24 2006-05-02 Hitachi, Ltd. Method and apparatus for increasing an amount of memory on demand when monitoring remote mirroring performance
US7149859B2 (en) 2004-03-01 2006-12-12 Hitachi, Ltd. Method and apparatus for data migration with the efficient use of old assets
US7281124B2 (en) 2004-06-17 2007-10-09 Intel Corporation Establishing a virtual drive accessible to pre-boot and operating system runtime phases
US20050289218A1 (en) 2004-06-28 2005-12-29 Rothman Michael A Method to enable remote storage utilization
US7383405B2 (en) * 2004-06-30 2008-06-03 Microsoft Corporation Systems and methods for voluntary migration of a virtual machine between hosts with common storage connectivity
US7278000B2 (en) * 2004-08-03 2007-10-02 Hitachi, Ltd. Data migration with worm guarantee
CA2590875C (en) 2004-11-05 2011-09-13 Data Robotics Incorporated Storage system condition indicator and method
US7406617B1 (en) 2004-11-22 2008-07-29 Unisys Corporation Universal multi-path driver for storage systems including an external boot device with failover and failback capabilities
US20060155944A1 (en) * 2005-01-13 2006-07-13 Hitachi, Ltd. System and method for data migration and shredding
JP2009506399A (ja) 2005-06-24 2009-02-12 シンクソート インコーポレイテッド バックアップイメージを仮想化するシステム及び方法
US7761573B2 (en) 2005-12-07 2010-07-20 Avaya Inc. Seamless live migration of virtual machines across optical networks
US20070234337A1 (en) 2006-03-31 2007-10-04 Prowess Consulting, Llc System and method for sanitizing a computer program
US7693157B2 (en) * 2006-04-25 2010-04-06 Microsoft Corporation Quality of service support for A/V streams
US7653794B2 (en) 2006-05-08 2010-01-26 Microsoft Corporation Converting physical machines to virtual machines
US20070294676A1 (en) 2006-06-19 2007-12-20 Ewan Ellis Mellor Open virtual appliance
US8903888B1 (en) * 2006-10-27 2014-12-02 Hewlett-Packard Development Company, L.P. Retrieving data of a virtual machine based on demand to migrate the virtual machine between physical machines
US8296760B2 (en) * 2006-10-27 2012-10-23 Hewlett-Packard Development Company, L.P. Migrating a virtual machine from a first physical machine in response to receiving a command to lower a power mode of the first physical machine
US20100306773A1 (en) 2006-11-06 2010-12-02 Lee Mark M Instant on Platform
US9354927B2 (en) * 2006-12-21 2016-05-31 Vmware, Inc. Securing virtual machine data
US7734669B2 (en) * 2006-12-22 2010-06-08 Commvault Systems, Inc. Managing copies of data
US20080172448A1 (en) 2007-01-16 2008-07-17 Microsoft Corporation Packetized boot service broadcasting
EP1962192A1 (en) 2007-02-21 2008-08-27 Deutsche Telekom AG Method and system for the transparent migration of virtual machine storage
US8370597B1 (en) * 2007-04-13 2013-02-05 American Megatrends, Inc. Data migration between multiple tiers in a storage system using age and frequency statistics
US8196138B2 (en) 2007-04-19 2012-06-05 International Business Machines Corporation Method and system for migrating virtual machines between hypervisors
US8069341B2 (en) 2007-06-29 2011-11-29 Microsoft Corporation Unified provisioning of physical and virtual images
US8239646B2 (en) 2007-07-31 2012-08-07 Vmware, Inc. Online virtual machine disk migration
US8341459B2 (en) * 2007-08-01 2012-12-25 Brocade Communications Systems, Inc. Data migration without interrupting host access and with data lock for write access requests such that held write access requests do not expire
US8191063B2 (en) 2007-09-30 2012-05-29 Symantex Corporation Method for migrating a plurality of virtual machines by associating files and state information with a single logical container
US8060927B2 (en) * 2007-10-31 2011-11-15 Microsoft Corporation Security state aware firewall
US20090204650A1 (en) * 2007-11-15 2009-08-13 Attune Systems, Inc. File Deduplication using Copy-on-Write Storage Tiers
JP4871850B2 (ja) 2007-12-04 2012-02-08 株式会社日立製作所 仮想計算機システム及び仮想計算機移行制御方法
JP2009163562A (ja) * 2008-01-08 2009-07-23 Fujitsu Ltd ストレージシステム、ストレージシステムの制御部、ストレージシステムの制御方法
US8380674B1 (en) * 2008-01-09 2013-02-19 Netapp, Inc. System and method for migrating lun data between data containers
US7966517B2 (en) * 2008-03-20 2011-06-21 Hitachi, Ltd. Method and apparatus for virtual network attached storage remote migration
JP5164628B2 (ja) * 2008-03-24 2013-03-21 株式会社日立製作所 ネットワークスイッチ装置、サーバシステム及びサーバシステムにおけるサーバ移送方法
US8171278B2 (en) 2008-08-11 2012-05-01 Vmware, Inc. Booting a computer system from central storage
JP4705982B2 (ja) * 2008-12-11 2011-06-22 株式会社日立製作所 情報処理システム、情報処理方法、及び管理装置
US20100161922A1 (en) * 2008-12-19 2010-06-24 Richard William Sharp Systems and methods for facilitating migration of virtual machines among a plurality of physical machines
US9348842B2 (en) 2009-03-23 2016-05-24 Riverbed Technology, Inc. Virtualized data storage system optimizations
US9069730B2 (en) * 2009-06-29 2015-06-30 Hewlett-Packard Development Company, L. P. Coordinated reliability management of virtual machines in a virtualized system
CN101599995B (zh) 2009-07-13 2012-01-11 中国传媒大学 面向高并发检索系统的目录分发方法及网络架构
US8386731B2 (en) * 2009-09-14 2013-02-26 Vmware, Inc. Method and system for optimizing live migration of persistent data of virtual machine using disk I/O heuristics
US8468288B2 (en) * 2009-12-10 2013-06-18 International Business Machines Corporation Method for efficient guest operating system (OS) migration over a network
US8370473B2 (en) * 2009-12-16 2013-02-05 International Business Machines Corporation Live multi-hop VM remote-migration over long distance

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7640409B1 (en) * 2005-07-29 2009-12-29 International Business Machines Corporation Method and apparatus for data migration and failover
CN101278270A (zh) * 2005-10-07 2008-10-01 国际商业机器公司 在虚拟存储器环境中处理dma请求的设备和方法
CN101216805A (zh) * 2007-01-07 2008-07-09 国际商业机器公司 用于在处理器存储装置内的数据移动的方法和系统

Also Published As

Publication number Publication date
US20190114095A1 (en) 2019-04-18
US11112975B2 (en) 2021-09-07
US9081510B2 (en) 2015-07-14
US20110197039A1 (en) 2011-08-11
US20160004467A1 (en) 2016-01-07
CN102741820A (zh) 2012-10-17
HK1176721A1 (zh) 2013-08-02
WO2011097064A2 (en) 2011-08-11
WO2011097064A3 (en) 2011-10-20
US8751738B2 (en) 2014-06-10
US10025509B2 (en) 2018-07-17
US20140289354A1 (en) 2014-09-25

Similar Documents

Publication Publication Date Title
CN102741820B (zh) 虚拟存储器的后台迁移
US10949303B2 (en) Durable block storage in data center access nodes with inline erasure coding
US20180025025A1 (en) Managing a global namespace for a distributed filesystem
US8788628B1 (en) Pre-fetching data for a distributed filesystem
US9811532B2 (en) Executing a cloud command for a distributed filesystem
US9811662B2 (en) Performing anti-virus checks for a distributed filesystem
CN101799743B (zh) 用于逻辑卷管理的方法和装置
US9804928B2 (en) Restoring an archived file in a distributed filesystem
EP2411918B1 (en) Virtualized data storage system architecture
US7028078B1 (en) System and method for performing virtual device I/O operations
US10860245B2 (en) Method and apparatus for optimizing data storage based on application
US20130117240A1 (en) Accessing cached data from a peer cloud controller in a distributed filesystem
US7734878B1 (en) System and method for performing virtual device I/O operations
US11199989B2 (en) Methods, apparatuses and computer program products for supporting and performing data replication of virtual machine
CN104040525B (zh) 通过网络连接访问覆盖介质
CN103620580A (zh) 用于数据副本的迁移的系统和方法
TW202203214A (zh) 用於雲端遊戲之高速保存資料儲存
JP2012133772A (ja) リモートストレージシステムのためのデータ処理方法及び装置
US9442672B2 (en) Replicating data across controllers
CN102576323A (zh) 促进复制期间的数据压缩
JP2003296035A (ja) ストレージ装置及びストレージ方法
WO2020060620A1 (en) Storage segment server covered cache
JP6271769B2 (ja) 計算機システム、計算機システムにおけるデータの移行方法
US11112973B2 (en) Computer system and data management method
KR20230051087A (ko) 데이터를 저장하기 위한 방법, 스토리지 장치, 및 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1176721

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150616

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150616

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1176721

Country of ref document: HK