CN101669106B - 虚拟机迁移的系统和方法 - Google Patents

虚拟机迁移的系统和方法 Download PDF

Info

Publication number
CN101669106B
CN101669106B CN2008800134140A CN200880013414A CN101669106B CN 101669106 B CN101669106 B CN 101669106B CN 2008800134140 A CN2008800134140 A CN 2008800134140A CN 200880013414 A CN200880013414 A CN 200880013414A CN 101669106 B CN101669106 B CN 101669106B
Authority
CN
China
Prior art keywords
principal computer
lun
virtual machine
virtual
storage array
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
CN2008800134140A
Other languages
English (en)
Other versions
CN101669106A (zh
Inventor
D·兰吉高达
R·弗莱尔斯
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 CN101669106A publication Critical patent/CN101669106A/zh
Application granted granted Critical
Publication of CN101669106B publication Critical patent/CN101669106B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

描述了虚拟机迁移。在各实施例中,虚拟机可利用LUN(逻辑单元号)屏蔽来从一个主计算机迁移到另一个主计算机。存储阵列的LUN可被映射到虚拟机的虚拟驱动器。将LUN与虚拟机的第一主计算机相关联的LUN掩码被配置成去除该LUN的屏蔽以将该虚拟机从该第一主计算机迁移到第二主计算机。

Description

虚拟机迁移的系统和方法
背景 
在数据中心环境中,可利用虚拟化来合并各自运行单个应用程序的若干、以其他方式独立的计算机的资源。例如,企业可实现具有各自作为web服务器、数据库服务器和电子邮件服务器的三个单独计算机的网络。被实现为各自运行单个应用程序的各单独计算机可能显著地未被充分利用并且是对资源的低效利用。这三个企业服务器可被合并成一个作为三个虚拟机的虚拟主计算机的物理设备,并且每一个虚拟机都能够独立运行企业服务器应用程序中的一个。 
每一个虚拟机都是看上去具有其自己的处理器、盘驱动器、网络控制器等的虚拟主计算机的软件组件。然而,虚拟化管理器高效地利用并分配诸如公共处理器和存储器等虚拟机的共享资源。可虚拟化具有多个独立计算机的数据中心以合并硬件、资源和系统管理。 
在具有各自作为任何数量的虚拟机的虚拟主机的不止一个虚拟主计算机的虚拟环境中,一个虚拟机可从一个虚拟主计算机移动或“迁移”到另一个虚拟主计算机。虚拟机可出于诸如负载平衡等各种原因而从一个虚拟主计算机移至另一个虚拟主计算机,以便对虚拟主机执行诸如任务共享等维护。虚拟主计算机的虚拟机的硬盘驱动器往往很大并且通常是千兆字节级的。当虚拟机从一个虚拟主计算机迁移到另一个虚拟主计算机时,转移对应的大型数据文件可能花费相当长的时间。此外,正在迁移的虚拟机在从一个虚拟主计算机到另一个虚拟主计算机的迁移过程期间是关闭且不可用的。 
概述 
提供本概述以便介绍将在以下详细描述中进一步描述的虚拟机迁移的简化概念。本概述并不旨在标识所要求保护的主题的必要特征,也不旨在用于帮助确定所要求保护的主题的范围。 
在虚拟机迁移的各实施例中,虚拟机可利用LUN(逻辑单元号)屏蔽来从一个主计算机迁移到另一个主计算机。可将存储阵列的LUN映射到虚的虚拟驱动器。将LUN与虚拟机的第一主计算机相关联的LUN掩码能够被配置成去除该LUN的屏蔽(unmask)以将该虚拟机从该第一主计算机迁移到第二主计算机。 
在虚拟机的其他实施例中,虚拟化系统的虚拟管理器可发起在存储阵列上对LUN的创建并且去除该LUN的屏蔽以使该LUN与该虚拟管理器相关联。该虚拟管理器可发起从虚拟机模板中对虚拟机的创建,其中该虚拟机具有相关联的虚拟驱动器并被配置成在主计算机上执行。该虚拟管理器然后可对主计算机上的虚拟机的虚拟驱动器去除来自该虚拟管理器的LUN的屏蔽。 
附图简述 
参考以下附图描述了虚拟机迁移的各实施例。在各附图中,使用相同的标号来指示相同的特征和组件: 
图1示出了其中可以实现虚拟机迁移的各实施例的示例虚拟化系统。 
图2进一步示出了图1所示的示例虚拟化系统,并示出了虚拟机迁移的一实施例。 
图3示出了根据一个或多个实施例的用于虚拟机迁移的示例方法。 
图4进一步示出了根据一个或多个实施例的用于虚拟机迁移的示例方法。 
图5示出了其中可以实现虚拟机迁移的各实施例的示例虚拟化系统。 
图6示出了根据一个或多个实施例的用于虚拟机迁移的示例方法。 
图7示出了其中可以实现虚拟机迁移的各实施例的示例虚拟化系统。 
图8示出了能够实现虚拟机迁移的各实施例的示例计算机设备的各个组件。 
详细描述 
虚拟机迁移的各实施例提供了利用存储区域网络来将虚拟机从一个虚拟主计算机迁移到另一个虚拟主计算机的技术。在一实施例中,虚拟机可利用LUN(逻辑单元号)屏蔽来从一个主计算机迁移到另一个主计算机。LUN是表示通过存储区域网络而变得可用的数据存储的逻辑单元,并且LUN可映射到该存储区域网络中的任何数量的物理驱动器。利用LUN屏蔽来迁移虚拟机 比必需将虚拟机的所有文件复制到目的地主计算机更快。 
虽然所描述的用于虚拟机迁移的系统和方法的特征和概念能够在任何数量的不同计算系统和环境中实现,但虚拟机迁移的各实施例在以下各示例系统和环境的上下文中描述。 
图1示出了其中可以实现虚拟机迁移的各实施例的示例虚拟化系统100。在一实施例中,虚拟管理器102管理和控制主计算机104(1-2),这些主计算机是任何数量的虚拟机的虚拟主计算机。虚拟化系统100是具有虚拟机的企业数据中心的示例,这些虚拟机作为虚拟化的独立计算机出现以合并硬件、资源和/或系统管理。尽管只示出了两个主计算机104(1-2),但虚拟化系统100可包括由虚拟管理器102管理的任何数量的主计算机设备。 
主计算机104(1-2)各自可包括任何数量的虚拟机。在该示例中,主计算机104(1)包括虚拟机106,而主计算机104(2)包括虚拟机108。每一个虚拟机106、108都被实现为各自主计算机的软件组件并且可被管理以运行以便高效地利用主计算机的共享资源,诸如公共处理器和存储器等。每一个主计算机104(1-2)都可被实现为包括一个或多个处理器(例如,微处理器、控制器等中的任一个),并且可包括为主计算机提供数据存储的任何类型的计算机可读介质。 
主计算机104(1-2)的计算机可读介质可维护诸如操作系统和任何数量的虚拟机等软件应用程序。这些软件应用程序可被实现为计算机可执行指令并由主计算机的处理器来执行以实现虚拟机迁移的各实施例。另外,主计算机104(1-2)可包括任何数量的不同组件及其组合,如参考图8所示的示例计算机设备所进一步描述的。 
在虚拟化系统100中,主计算机104(1)中的虚拟机106具有两个相关联的虚拟驱动器110(1-2)(也被称为“虚拟硬盘驱动器”)。类似地,主计算机104(2)中的虚拟机108具有相关联的虚拟驱动器112。尽管虚拟机106被示为只具有两个相关联的虚拟驱动器,而虚拟机108被示为只具有一个相关联的虚拟驱动器,但任何数量的虚拟驱动器可以与虚拟机相关联。虚拟驱动器110(1-2)和112各自可被实现为各自主计算机处的、映射到网络连接的存储阵列上的物理驱动器的文件。在该虚拟化实现中,由虚拟机对虚拟驱动器发起的“盘访问”事件作为文件读取或作为文件写入命令来执行。 
虚拟化系统100包括存储阵列114,其可包括维护主计算机104(1-2)和/或虚拟机106、108的计算机可读数据的任何数量的物理驱动器和/或存储介质。存储阵列114也被称为“存储区域网络”,即SAN,并且可经由数据网络118通过对主计算机104(1-2)的存储接口116来连接到网络。 
通信网络118可被实现为具有任何类型的协议的任何类型的数据或通信网络,并且可被表示或以其它方式实现为两个或更多网络的组合。例如,数据网络118可被实现为将存储阵列114的存储接口116通信地链接到主计算机104(1-2)的光纤通道或iSCSI(因特网小型计算机系统接口)网络。 
存储阵列114包括LUN 120(1-3),其各自是表示通过存储阵列114来展示或变得可用的存储单元的“逻辑单元号”。LUN可映射到存储阵列114的若干物理驱动器和/或存储介质并且可被实现为任何类型的LUN,诸如简单、跨区、带区、带奇偶性的带区等。LUN 120(1-3)中的每一个都分别具有对应的LUN掩码122(1-3)。LUN掩码可被实现为标识哪一个主计算机可访问对应的LUN以控制主计算机对存储阵列114的访问的列表。LUN的无屏蔽列表是网络上的被授权访问该LUN的计算机和/或通信端口的列表,并且设置该列表的操作被称为LUN屏蔽。在该示例中,LUN掩码122(1)将LUN 120(1)与主计算机104(1)相关联,LUN掩码122(2)将LUN 120(2)与主计算机104(2)相关联,而LUN掩码122(3)将LUN 120(3)与主计算机104(1)相关联。 
存储接口116也被称为“SAN结构”并且可被实现为方便存储阵列114和数据网络118之间的数据通信的任何数量的互连的SAN(存储区域网络)交换机。虚拟机106的虚拟驱动器110(1-2)中的每一个以及虚拟机108的虚拟驱动器112被映射到存储阵列114的LUN。虚拟驱动器110(1-2)和112还经由各自的主机总线适配器来连接到数据网络118。在该示例中,虚拟机106的虚拟驱动器110(1)被映射到存储阵列114的LUN 120(1)并且由主机总线适配器124(1)通过数据网络118来连接。类似地,虚拟机106的虚拟驱动器110(2)被映射到存储阵列114的LUN 120(3)并且由主机总线适配器124(2)通过数据网络118来连接。虚拟机108的虚拟驱动器112被映射到存储阵列114的LUN 120(2)并且由主机总线适配器126通过数据网络118来连接。 
在虚拟机迁移的一实施例中,虚拟机可利用LUN屏蔽来从一个主计算机 迁移到另一个主计算机。在该示例虚拟化系统100中,虚拟管理器102可发起并管理虚拟机106从主计算机104(1)到主计算机104(2)的迁移。最初,虚拟机106的虚拟驱动器110(1-2)中的每一个文件都被放置在LUN上。虚拟驱动器中的文件全都可被放置在单个LUN上,或者每一个文件都可被放置在单独的LUN上。在该示例中,存储阵列114的LUN 120(1)引用将虚拟机106的虚拟驱动器110(1-2)映射到LUN的映射文件128。 
虚拟管理器102然后可发起关闭虚拟机106并使其处于主计算机104(1)上的停止且保存的状态。可取消虚拟机106的虚拟驱动器110(1-2)与主计算机104(1)的关联,并且可从主计算机104(1)中删除虚拟机106。可改变LUN掩码122(1)和122(3)以便去除各自的LUN 120(1)和120(3)对主计算机104(1)的屏蔽并将这些LUN与主计算机104(2)相关联以将虚拟机106从主计算机104(1)迁移到主计算机104(2)。虚拟机106然后可在主计算机104(2)上根据映射文件128来创建以使得虚拟驱动器110(1-2)各自从存储阵列上的相应LUN 120(1)和120(3)映射到主计算机140(2)上的虚拟机。 
图2示出了进一步示出图1所示的虚拟化系统100的示例虚拟化系统200。在该示例虚拟化系统200中,虚拟机106已从主计算机104(1)迁移到主计算机104(2)(在202)。LUN掩码122(1)和122(3)标识主计算机104(2)可在虚拟机106迁移后访问对应的LUN 120(1)和120(3)。 
如果数据网络118被实现为iSCSI网络,则可在LUN登录到该iSCSI网络时去除该LUN对主计算机的屏蔽。例如,虚拟机106可在对应的LUN 120(1)和120(3)通过登录到iSCSI网络而展现(surface)在主计算机104(2)上时从主计算机104(1)迁移到主计算机104(2)。在一实现中,LUN还可进行认证以登录到iSCSI网络。 
在虚拟机迁移的一实施例中,虚拟管理器102可确定一组主计算机中的哪一个主计算机是利用LUN屏蔽的虚拟机迁移的有效目标。可启动周期性地执行并确定哪一个主计算机是虚拟机迁移的有效目标的任务或过程。该任务可被实现为轮询每一个主计算机以确定存储接口116的哪些通信端口204可由哪些主计算机访问。可使用主机总线适配器的应用程序接口(API)来确定哪些通信端口204在存储接口116上对特定主计算机可见。然后可在存储阵列上的数 据库表中维护该相关信息以供参考。 
为了确定哪些主计算机是虚拟机迁移的有效目标,虚拟管理器102可标识附连到每一个不同的主计算机的所有虚拟驱动器。虚拟管理器102然后可将这些虚拟驱动器中的每一个文件都映射到存储阵列114上的LUN。虚拟管理器102还可标识用于数据通信的、向其展示每一个LUN的存储接口116的通信端口204。然后在数据库表中维护该相关信息以供参考。 
在虚拟机106从主计算机104(1)迁移到主计算机104(2)之前,虚拟管理器102可确定LUN 120(1)和120(3)通过存储接口116对于主计算机104(1)和104(2)两者是否“可见”。虚拟管理器102可标识用于数据通信的、这些LUN所映射到的存储接口116的一个或多个通信端口204。虚拟管理器102然后可确定第一主计算机104(1)是否能够经由一个或多个所标识的通信端口204中的任一个来访问存储阵列114。类似地,虚拟管理器102可确定第二主计算机104(2)是否能够经由一个或多个所标识的通信端口204中的任一个来访问存储阵列114。在主计算机104(1)和104(2)两者都能够经由所标识的通信端口204中的至少一个(并且不必是同一通信端口)来访问存储阵列114的情况下,虚拟管理器102然后可发起并管理虚拟机106的迁移。 
一般而言,在此描述的任何功能、方法、和模块都可使用硬件、软件、固件(例如,固定逻辑电路)、手动处理或其任何组合来实现。功能、方法、或模块的软件实现表示当在计算机处理器上执行时执行指定任务的程序代码。参考图3、4和6所描述的示例方法300、400和600可在计算机可执行指令的一般上下文中描述。一般而言,计算机可执行指令可包括执行特定功能或实现特定抽象数据类型的应用程序、例程、程序、对象、组件、数据结构、过程、模块、功能等。这些方法还能在其中功能由通过通信网络链接的远程处理设备完成的分布式计算环境中实现。在分布式计算环境中,计算机可执行指令可以位于包括存储器存储设备在内的本地和远程计算机存储介质中。此外,此处所描述的特征是平台无关的,以便这些技术可在具有各种处理器的各种计算平台上实现。 
图3示出了虚拟机迁移的示例方法300。描述方法的次序并不旨在解释为限制,并且任何数量的所述方法框都可以按任何次序组合以实现本方法或实现 替换方法。 
在框302,标识虚拟机的虚拟驱动器,其中虚拟驱动器被映射到存储阵列的相应LUN。例如,虚拟管理器102(图1)可标识对应于主计算机104(1)处的虚拟机106的虚拟驱动器110(1-2)。虚拟机106的虚拟驱动器110(1)被映射到存储阵列114的LUN 120(1)并且由主机总线适配器124(1)通过数据网络118来连接。类似地,虚拟机106的虚拟驱动器110(2)被映射到存储阵列114的LUN120(3)并且由主机总线适配器124(2)通过数据网络118来连接。 
在框304,将虚拟驱动器映射到存储阵列的LUN所引用的映射文件。例如,存储阵列114的LUN 120(1)引用将虚拟机106的虚拟驱动器110(1-2)映射到LUN的映射文件128。 
在框306,确定每一个LUN都可通过存储阵列的存储接口来访问。例如,虚拟管理器102可确定LUN 120(1)和120(3)通过存储接口116对于主计算机104(1)和104(2)两者是否“可见”。虚拟管理器102可标识用于数据通信的、这些LUN所映射到的存储接口116的通信端口204。虚拟管理器102然后可确定第一主计算机104(1)和第二主计算机104(2)是否能够经由所标识的通信端口204中的任一个来访问存储阵列114。在主计算机104(1)和104(2)两者都能够经由所标识的通信端口204中的至少一个(并且不必是同一通信端口)来访问存储阵列114的情况下,虚拟机106可从第一主计算机104(1)迁移到第二主计算机104(2)。确定每一个LUN都可通过存储阵列的存储接口来访问将参考图4所示的方法进一步描述。 
在框308,去除每一个LUN的屏蔽以将虚拟机从第一主计算机迁移到第二主计算机。例如,虚拟管理器102可发起改变LUN掩码122(1)和122(3)以便去除来自主计算机104(1)的各自的LUN 120(1)和120(3)的屏蔽,并将这些LUN与主计算机104(2)相关联以将虚拟机106从主计算机104(1)迁移到主计算机104(2)。如果数据网络118被实现为iSCSI网络,则去除LUN 120(1)和120(3)中每一个对主计算机104(2)的屏蔽包括将每一个LUN登录到将存储阵列114的存储接口116通信地链接到主计算机104(1-2)的iSCSI网络。 
在框310,从第一主计算机中删除虚拟机,并且在框312,取消虚拟驱动器与该第一主计算机的关联。例如,可取消虚拟机106的虚拟驱动器110(1-2) 与主计算机104(1)的关联,并且可从主计算机104(1)中删除虚拟机106。 
在框314,在第二主计算机上根据映射文件来创建虚拟机,以使得虚拟驱动器各自从存储阵列的相应LUN映射到第二主计算机上的虚拟机。例如,虚拟机106可在主计算机104(2)上根据映射文件128来创建以使得虚拟驱动器110(1-2)各自从存储阵列114上的相应LUN 120(1)和120(3)映射到主计算机140(2)上的虚拟机106。 
参考示例方法300所描述的方法框302-314中的每一个都可被实现为可重新开始的虚拟机迁移任务以使得如果无法完成任务,则虚拟机迁移可从失败的任务重新开始。这些可重新开始的任务各自可被实现为首先检查任务是否已经完成。如果任务被确定为已完成,则可启动下一个任务。如果虚拟机迁移任务由于例如瞬时错误或网络连接故障而失败,则该任务可重新开始并且虚拟机迁移将从其失败的地方继续。在一实现中,用于确定是否已执行任务的检查可包括对维护在方法框已完成时持久存储的任务信息的数据库的检查。另选地或另外地,可执行查询以确定任务是否已完成,诸如检查虚拟驱动器是否已被标识,映射到映射文件等。 
图4示出了虚拟机迁移的示例方法400,并且在一实施例中,该方法是确定可通过存储阵列的存储接口来访问的LUN以方便虚拟机迁移的方法框306的实现。描述方法的次序并不旨在解释为限制,并且任何数量的所述方法框都可以按任何次序组合以实现本方法或实现替换方法。 
在框402,标识用于数据通信的、每一个LUN所映射到的存储接口的通信端口。例如,在发起对虚拟机106的迁移之前,虚拟管理器102(图1)可标识用于数据通信的、LUN 120(1)和120(3)中的每一个所映射到的存储接口116的通信端口204(图2)。 
在框404,确定第一主计算机是否能够经由所标识的通信端口中的任一个来访问存储阵列。如果第一主计算机无法经由所标识的通信端口中的任一个来访问存储阵列(即,来自框404的“否”),则在框406,从第一主计算机的虚拟机迁移不可行。 
如果该第一主计算机能够经由所标识的通信端口中的任一个来访问存储阵列(即,来自框404的“是”),则在框408确定第二主计算机是否能够经 由所标识的通信端口中的任一个来访问该存储阵列。如果第二主计算机无法经由所标识的通信端口中的任一个来访问存储阵列(即,来自框408的“否”),则在框410,到第二主计算机的虚拟机迁移不可行。 
如果第二主计算机能够经由所标识的通信端口中的任一个来访问存储阵列(即,来自框408的“是”),则该虚拟机可从第一主计算机迁移到第二主计算机。例如,在主计算机104(1)和104(2)两者都能够经由所标识的通信端口204中的至少一个(并且不必是同一通信端口)来访问存储阵列114的情况下,虚拟管理器102可发起虚拟机106从主计算机104(1)到主计算机104(2)的迁移。 
图5示出了其中可以实现虚拟机迁移的各实施例的示例虚拟化系统500。在一实施例中,虚拟机可从定义虚拟机的模型的模板文件中来创建,并且该虚拟机然后可迁移到一主计算机。在虚拟化系统500中,虚拟管理器502管理和控制作为任何数量的虚拟机的虚拟主计算机的任何数量的主计算机,诸如主计算机504。 
虚拟管理器502可发起在可包括任何数量的物理驱动器和/或存储介质的存储阵列508上对LUN 506的创建。存储阵列508经由数据网络512通过对虚拟管理器502和主计算机504的存储接口510来连接到网络。通信网络512可被实现为具有任何类型的协议的任何类型的数据或通信网络,并且可被表示或以其它方式实现为两个或更多网络的组合。例如,数据网络512可被实现为将存储阵列508的存储接口510通信地链接到虚拟管理器502和主计算机504的光纤通道或iSCSI网络。 
存储阵列508包括LUN 506,该LUN是表示通过存储阵列508来展示或变得可用的存储单元的“逻辑单元号”。LUN 506可映射到存储阵列508中的若干物理驱动器和/或存储介质,并且可被实现为任何类型的LUN。LUN 506具有标识哪一个设备可访问该LUN的LUN掩码514(A)。 
在虚拟管理器502创建LUN 506后,该虚拟管理器502可去除该LUN对该虚拟管理器的屏蔽以将该LUN与该虚拟管理器相关联。在该示例中,LUN掩码514(A)最初将LUN 506与虚拟管理器502相关联(由关联“A”示出)。虚拟管理器502可发起从虚拟机模板518中对虚拟机516的创建以使得该虚拟机作为主计算机504的软件组件来创建。虚拟机516具有相关联的虚拟驱动器 520,其被映射到存储阵列508的LUN 506并且由主机总线适配器522通过数据网络512来连接。 
在主计算机504上创建虚拟机516后,虚拟管理器502然后可去除LUN506的屏蔽以便将该LUN从该虚拟管理器映射到主计算机504上的虚拟机516的虚拟驱动器520。在该示例中,LUN掩码514(B)示出将LUN 506与主计算机504相关联(由关联“B”示出)的已更新的屏蔽。 
在虚拟机迁移的一实施例中,虚拟管理器502可在创建LUN 506和虚拟机516时接收定义存储阵列508的可靠性配置等级的配置输入。例如,管理员可发起对虚拟机的创建并且从配置用户界面中输入可靠性和配置信息,诸如关于存储阵列508的特定RAID配置。 
图6示出了虚拟机迁移的示例方法600,该方法包括从模板文件中创建虚拟机,并且然后将该虚拟机迁移到主计算机。描述方法的次序并不旨在解释为限制,并且任何数量的所述方法框都可以按任何次序组合以实现本方法或实现替换方法。 
在框602,在存储阵列上创建LUN。例如,虚拟管理器502(图5)发起在存储阵列508上对LUN 506的创建。在框604,去除LUN对虚拟管理器的屏蔽以将该LUN与该虚拟管理器相关联。例如,LUN 506具有最初标识哪一个设备可访问该LUN的LUN掩码514(A)。去除LUN 514(A)对虚拟管理器502的屏蔽以将该LUN与该虚拟管理器相关联。 
在框606,从虚拟机模板中创建虚拟机。例如,虚拟机516可从虚拟机模板518中作为主计算机504的软件组件来创建,并且该虚拟机516具有相关联的虚拟驱动器520。在框608,在创建虚拟机时接收定义存储阵列的可靠性配置等级的配置输入。例如,虚拟管理器502可在创建LUN 506和虚拟机516时接收定义存储阵列508的可靠性配置等级的配置输入。 
在框610,去除LUN的屏蔽以将该LUN从虚拟管理器映射到主计算机上的虚拟机的虚拟驱动器。例如,虚拟管理器502可去除LUN 506的屏蔽以将LUN 506从该虚拟管理器映射到主计算机504上的虚拟机516的虚拟驱动器520。LUN掩码514(B)示出将LUN 506与主计算机504相关联的已更新的屏蔽。 
图7示出了其中可以实现虚拟机迁移的各实施例的示例虚拟化系统700。 在一实施例中,存储阵列上的数据库的关联可从第一主计算机上的虚拟机迁移到第二主计算机上的虚拟机的实例化。在虚拟化系统700中,虚拟管理器702管理和控制主计算机704(1-2)。存储阵列706经由数据网络710通过对虚拟管理器702和主计算机704(1-2)的存储接口708来连接到网络。 
在该示例中,主计算机704(1)包括虚拟机712,而主计算机704(2)包括虚拟机714的实例化。虚拟化系统700是具有在两个不同的主计算机704(1-2)上运行的数据库应用程序(即,虚拟机712和虚拟机实例化714)的数据库系统的示例。虚拟机712和虚拟机实例化714各自被实现为各自主计算机的软件组件。 
在该示例中,主计算机704(1)中的虚拟机712具有两个相关联的虚拟驱动器716(1-2)。类似地,主计算机704(2)中的虚拟机实例化714具有相关联的虚拟驱动器718。尽管虚拟机712被示为只具有两个相关联的虚拟驱动器,而虚拟机实例化714被示为只具有一个相关联的虚拟驱动器,但任何数量的虚拟驱动器可以与虚拟机相关联。虚拟驱动器716(1-2)和718各自可被实现为各自主计算机处的、映射到网络连接的存储阵列706上的物理驱动器的文件。存储阵列706可包括维护数据库应用程序(即,虚拟机712和虚拟机实例化714)的数据库数据的任何数量的物理驱动器和/或存储介质,诸如数据库720。 
存储阵列706包括LUN 722,其将虚拟机712的虚拟驱动器716(1)映射到存储阵列706上的物理驱动器。LUN 722具有将主计算机704(1)标识为可访问LUN 722的对应的LUN掩码724。存储阵列706还包括LUN 726,其最初将虚拟机实例化714的虚拟驱动器718映射到存储阵列706上的数据库720(例如,物理驱动器)。LUN 726具有最初将主计算机704(2)标识为可访问该LUN(由关联“A”示出)的对应的LUN掩码728(B)。虚拟机712的虚拟驱动器716(1)被映射到LUN 722并且由主机总线适配器730(1)通过数据网络710来连接。类似地,虚拟机实例化714的虚拟驱动器718最初被映射到LUN 726并且由主机总线适配器732通过数据网络710来连接。 
在该虚拟机迁移的实施例中,虚拟管理器702可去除LUN 726的屏蔽以将该LUN从主计算机724(2)映射到主计算机704(1)上的虚拟机712的虚拟驱动器716(2)。在该示例中,LUN掩码728(B)示出将LUN 726与主计算机704(1) 相关联(由关联“B”示出)的已更新的屏蔽。在该实施例中,存储阵列706上的、作为数据库应用程序的数据库的数据库720(例如,物理驱动器)从主计算机704(2)迁移到主计算机704(1)。虚拟机712的虚拟驱动器716(2)然后被映射到LUN 726并且由主机总线适配器730(2)通过数据网络710来连接。 
图8示出了示例计算机设备800的各个组件,该设备可被实现为用于实现虚拟机迁移的各实施例的任何形式的计算机、电子产品和/或基于计算的设备。例如,计算机设备800可被实现为参考图1-2描述的主计算机104(1-2)、参考图5描述的主计算机504或参考图7描述的主计算机704(1-2)中的任一个。 
计算机设备800包括用于接收任何类型的数据输入的一个或多个输入接口802。计算机设备800还包括通信接口804,其可被实现为串行和/或并行接口、无线接口、任何类型的网络接口、调制解调器、以及用于诸如与联网设备和系统进行外部通信的任何其它类型的通信接口中的任一个或多个。 
计算机设备800还包括一个或多个处理器806(例如,微处理器、控制器等中的任一个)。处理器806处理用于控制计算机设备800的操作、与其他电子和计算设备进行通信以及实现虚拟机迁移的各实施例的各种计算机可执行指令。 
计算机设备800可用诸如一个或多个存储器组件等计算机可读介质808来实现,存储器组件的示例包括随机存取存储器(RAM)、非易失性存储器(例如,只读存储器(ROM)、闪存、EPROM、EEPROM等中的任一个或多个)、以及盘存储设备。盘存储设备可以包括任何类型的磁性或光学存储设备,如硬盘驱动器、可记录和/或可重写压缩盘(CD)、DVD、DVD+RW等。 
计算机可读介质808提供存储诸如软件应用程序和涉及计算机设备800的操作方面的任何其它类型的信息和数据等各种信息和/或数据的数据存储机制。例如,操作系统810和/或其它应用程序812可以作为软件应用程序来用计算机可读介质808维护,并在处理器806上执行以实现虚拟机迁移的各实施例。 
作为软件组件,虚拟机814和/或虚拟管理器816可以用计算机可读介质808来维护并在处理器806上执行以实现虚拟机迁移的各实施例。在各实施例中,虚拟管理器816发起并管理从一个主计算机到虚拟化系统中的另一个主计算机的虚拟机迁移。 
计算机设备800还可包括向音频呈现和/或显示系统提供音频和/或视频数据的音频和/或视频输出818。音频呈现和/或显示系统可包括处理、显示、和/或以其它方式呈现音频、视频、和图像数据的任何设备。视频信号和音频信号可经由RF(射频)链路、S-视频链路、复合视频链路、分量视频链路、模拟音频连接、或其它类似的通信链路来从计算机设备800传送至显示设备。在一实现中,音频呈现和/或显示系统可以是计算机设备800的集成组件。 
虽然单独地示出,但计算机设备800的某些组件可以用应用程序专用集成电路(ASIC)来实现。另外,系统总线(未示出)通常连接计算机设备800中的各个组件。系统总线可被实现为任何若干类型的总线结构中的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口或使用各种总线体系结构中的任一种的局部总线。 
尽管已经用结构特征和/或方法专用的语言描述了虚拟机迁移的各实施例,但是应该理解所附权利要求的主题不必限于所述的具体特征或方法。相反,这些具体特征和方法是作为虚拟机迁移的示例实现来公开的。 

Claims (26)

1.一种用于虚拟机迁移的方法(300),包括:
标识虚拟机(106)的、各自映射到存储阵列(114)的相应LUN(逻辑单元号)(120)的一个或多个虚拟驱动器(110)(302);
将所述一个或多个虚拟驱动器(110)映射到存储在所述存储阵列(114)的LUN(120)上的映射文件(128)(304);
去除每一个LUN(120)的屏蔽以将所述虚拟机(106)从第一主计算机(104(1))迁移到第二主计算机(104(2))(308);以及
在所述第二主计算机(104(2))上根据所述映射文件(128)来创建所述虚拟机(108)以使得所述一个或多个虚拟驱动器(110)各自从所述存储阵列(114)的相应LUN(120)映射到所述第二主计算机(104(2))上的虚拟机(108)(314)。
2.如权利要求1所述的方法,其特征在于,还包括:
从所述第一主计算机中删除所述虚拟机;以及
取消所述一个或多个虚拟驱动器与所述第一主计算机的关联。
3.如权利要求1所述的方法,其特征在于,标识所述一个或多个虚拟驱动器、映射所述一个或多个虚拟驱动器、去除每一个LUN的屏蔽以及创建所述虚拟机各自都是可重新开始的虚拟机迁移任务以使得如果任务无法完成,则所述虚拟机迁移可从失败的任务重新开始。
4.如权利要求1所述的方法,其特征在于,还包括确定每一个LUN都可由所述第二主计算机通过所述存储阵列的存储接口来访问。
5.如权利要求4所述的方法,其特征在于,还包括:
标识用于数据通信的、每一个LUN所映射到的存储接口的一个或多个通信端口;
确定所述第一主计算机是否能够经由一个或多个所标识的通信端口中的任一个来访问所述存储阵列;
确定所述第二主计算机是否能够经由所述一个或多个所标识的通信端口中的任一个来访问所述存储阵列;以及
在所述第一主计算机能够经由所标识的通信端口中的至少一个来访问所述存储阵列的情况下,并且在所述第二主计算机能够经由所标识的通信端口中的至少一个来访问所述存储阵列的情况下,将所述虚拟机从所述第一主计算机迁移到所述第二主计算机。
6.如权利要求1所述的方法,其特征在于,去除每一个LUN对所述第二主计算机的屏蔽包括将每一个LUN登录到将所述存储阵列的存储接口通信地链接到所述第一主计算机和所述第二主计算机的iSCSI(因特网小型计算机系统接口)网络。
7.如权利要求1所述的方法,其特征在于,还包括根据定义所述LUN的可靠性等级的配置可靠性信息来创建所述存储阵列的LUN。
8.一种虚拟化系统(100),包括:
被配置成在第一主计算机(104(1))上执行的虚拟机(106);
存储阵列(114)的LUN(逻辑单元号)(120),所述LUN(120)被映射到所述虚拟机(106)的虚拟驱动器(110);以及
被配置成将所述LUN(120)与所述虚拟机(106)的第一主计算机(104(1))相关联的LUN掩码(122),所述LUN掩码(122)能够被配置成去除所述LUN(120)的屏蔽以将所述虚拟机(106)从所述第一主计算机(104(1))迁移到第二主计算机(104(2))。
9.如权利要求8所述的虚拟化系统,其特征在于,所述存储阵列的LUN被配置成引用将所述虚拟机的虚拟驱动器映射到所述LUN的映射文件。
10.如权利要求8所述的虚拟化系统,其特征在于,还包括虚拟管理器,其被配置成发起并管理所述虚拟机从所述第一主计算机到所述第二主计算机的迁移。
11.如权利要求10所述的虚拟化系统,其特征在于,所述虚拟管理器还被配置成发起从所述第一主计算机中对所述虚拟机的删除,并发起对所述虚拟驱动器与所述第一主计算机的关联取消。
12.如权利要求10所述的虚拟化系统,其特征在于,所述虚拟管理器还被配置成确定所述LUN可由所述第二主计算机通过所述存储阵列的存储接口来访问以方便所述虚拟机从所述第一主计算机到所述第二主计算机的迁移。
13.如权利要求12所述的虚拟化系统,其特征在于,所述虚拟管理器还被配置成:
标识用于数据通信的、所述LUN所映射到的存储接口的一个或多个通信端口;
确定所述第一主计算机是否能够经由一个或多个所标识的通信端口中的任一个来访问所述存储阵列;
确定所述第二主计算机是否能够经由所述一个或多个所标识的通信端口中的任一个来访问所述存储阵列;以及
在所述第一主计算机能够经由所标识的通信端口中的至少一个来访问所述存储阵列的情况下,并且在所述第二主计算机能够经由所标识的通信端口中的至少一个来访问所述存储阵列的情况下发起并管理所述虚拟机从所述第一主计算机到所述第二主计算机的迁移。
14.如权利要求8所述的虚拟化系统,其特征在于,还包括iSCSI(因特网小型计算机系统接口)网络,其被配置成将所述存储阵列的存储接口通信地链接到所述第一主计算机和所述第二主计算机,并且其中所述LUN在所述LUN从所述第一主计算机中注销并登录到所述第二主计算机时去除对所述第二主计算机的屏蔽。
15.一种用于虚拟管理器的方法:
发起在存储阵列(508)上对LUN(逻辑单元号)(506)的创建;
去除所述LUN(506)对所述虚拟管理器(502)的屏蔽以将所述LUN(506)与所述虚拟管理器(502)相关联;
发起从虚拟机模板(518)中对虚拟机(516)的创建,所述虚拟机(516)具有相关联的虚拟驱动器(520)并被配置成在主计算机(504)上执行;以及
去除所述LUN(506)的屏蔽以将所述LUN(506)从所述虚拟管理器(502)映射到所述主计算机(504)上的虚拟机(516)的虚拟驱动器(520)。
16.如权利要求15所述的方法,其特征在于,还包括在创建所述虚拟机时接收定义所述存储阵列的可靠性配置等级的一个或多个配置输入。
17.如权利要求15所述的方法,其特征在于,还包括:
将所述虚拟驱动器映射到存储在所述存储阵列的LUN上的映射文件;
对另一主计算机去除来自所述主计算机的LUN的屏蔽以将所述虚拟机从所述主计算机迁移到该另一主计算机;以及
发起在所述另一主计算机上根据所述映射文件的对所述虚拟机的创建以使得所述虚拟驱动器从所述存储阵列的LUN映射到所述另一主计算机上的虚拟机。
18.如权利要求17所述的方法,其特征在于,还包括:
确定所述LUN可由所述另一主计算机通过所述存储阵列的存储接口来访问;
标识用于数据通信的、所述LUN所映射到的存储接口的一个或多个通信端口;
确定所述主计算机是否能够经由一个或多个所标识的通信端口中的任一个来访问所述存储阵列;
确定所述另一主计算机是否能够经由所述一个或多个所标识的通信端口中的任一个来访问所述存储阵列;以及
在所述主计算机能够经由所标识的通信端口中的至少一个来访问所述存储阵列的情况下,并且在所述另一主计算机能够经由所标识的通信端口中的至少一个来访问所述存储阵列的情况下,发起所述虚拟机从所述主计算机到所述另一主计算机的迁移。
19.如权利要求15所述的方法,其特征在于,还包括去除所述存储阵列上的另一LUN的屏蔽以将所述另一LUN从另一主计算机迁移到所述主计算机上的虚拟机的另一虚拟驱动器,所述虚拟驱动器和所述另一虚拟驱动器各自被映射到所述虚拟机的相应数据库。
20.如权利要求15所述的方法,其特征在于,还包括:
发起在另一主计算机上对所述虚拟机的虚拟机实例化的创建,所述虚拟机实例化具有另一虚拟驱动器并被配置成在所述另一主计算机上执行;以及
去除所述LUN的屏蔽以将所述LUN从所述主计算机映射到所述另一主计算机上的所述虚拟机实例化的所述另一虚拟驱动器。
21.一种用于虚拟管理器的系统:
用于发起在存储阵列(508)上对LUN(逻辑单元号)(506)的创建的装置;
用于去除所述LUN(506)对所述虚拟管理器(502)的屏蔽以将所述LUN(506)与所述虚拟管理器(502)相关联的装置;
用于发起从虚拟机模板(518)中对虚拟机(516)的创建的装置,所述虚拟机(516)具有相关联的虚拟驱动器(520)并被配置成在主计算机(504)上执行;以及
用于去除所述LUN(506)的屏蔽以将所述LUN(506)从所述虚拟管理器(502)映射到所述主计算机(504)上的虚拟机(516)的虚拟驱动器(520)的装置。
22.如权利要求21所述的系统,其特征在于,还包括用于在创建所述虚拟机时接收定义所述存储阵列的可靠性配置等级的一个或多个配置输入的装置。
23.如权利要求21所述的系统,其特征在于,还包括:
用于将所述虚拟驱动器映射到存储在所述存储阵列的LUN上的映射文件的装置;
用于对另一主计算机去除来自所述主计算机的LUN的屏蔽以将所述虚拟机从所述主计算机迁移到该另一主计算机的装置;以及
用于发起在所述另一主计算机上根据所述映射文件的对所述虚拟机的创建以使得所述虚拟驱动器从所述存储阵列的LUN映射到所述另一主计算机上的虚拟机的装置。
24.如权利要求23所述的系统,其特征在于,还包括:
用于确定所述LUN可由所述另一主计算机通过所述存储阵列的存储接口来访问的装置;
用于标识用于数据通信的、所述LUN所映射到的存储接口的一个或多个通信端口的装置;
用于确定所述主计算机是否能够经由一个或多个所标识的通信端口中的任一个来访问所述存储阵列的装置;
用于确定所述另一主计算机是否能够经由所述一个或多个所标识的通信端口中的任一个来访问所述存储阵列的装置;以及
用于在所述主计算机能够经由所标识的通信端口中的至少一个来访问所述存储阵列的情况下,并且在所述另一主计算机能够经由所标识的通信端口中的至少一个来访问所述存储阵列的情况下,发起所述虚拟机从所述主计算机到所述另一主计算机的迁移的装置。
25.如权利要求21所述的系统,其特征在于,还包括用于去除所述存储阵列上的另一LUN的屏蔽以将所述另一LUN从另一主计算机迁移到所述主计算机上的虚拟机的另一虚拟驱动器的装置,所述虚拟驱动器和所述另一虚拟驱动器各自被映射到所述虚拟机的相应数据库。
26.如权利要求21所述的系统,其特征在于,还包括:
用于发起在另一主计算机上对所述虚拟机的虚拟机实例化的创建的装置,所述虚拟机实例化具有另一虚拟驱动器并被配置成在所述另一主计算机上执行;以及
用于去除所述LUN的屏蔽以将所述LUN从所述主计算机映射到所述另一主计算机上的所述虚拟机实例化的所述另一虚拟驱动器的装置。
CN2008800134140A 2007-04-25 2008-03-20 虚拟机迁移的系统和方法 Active CN101669106B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/789,727 2007-04-25
US11/789,727 US8479194B2 (en) 2007-04-25 2007-04-25 Virtual machine migration
PCT/US2008/057754 WO2008134144A1 (en) 2007-04-25 2008-03-20 Virtual machine migration

Publications (2)

Publication Number Publication Date
CN101669106A CN101669106A (zh) 2010-03-10
CN101669106B true CN101669106B (zh) 2013-10-16

Family

ID=39888313

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008800134140A Active CN101669106B (zh) 2007-04-25 2008-03-20 虚拟机迁移的系统和方法

Country Status (8)

Country Link
US (2) US8479194B2 (zh)
EP (1) EP2156310B1 (zh)
JP (1) JP5615698B2 (zh)
CN (1) CN101669106B (zh)
CL (1) CL2008001143A1 (zh)
ES (1) ES2707792T3 (zh)
TW (1) TWI579770B (zh)
WO (2) WO2008134143A1 (zh)

Families Citing this family (134)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8560671B1 (en) 2003-10-23 2013-10-15 Netapp, Inc. Systems and methods for path-based management of virtual servers in storage network environments
US8479194B2 (en) 2007-04-25 2013-07-02 Microsoft Corporation Virtual machine migration
US8280974B2 (en) * 2007-07-31 2012-10-02 Hewlett-Packard Development Company, L.P. Migrating workloads using networked attached memory
US8539098B2 (en) 2007-10-17 2013-09-17 Dispersive Networks, Inc. Multiplexed client server (MCS) communications and systems
US9116734B1 (en) * 2011-01-14 2015-08-25 Dispersive Networks Inc. Dispersive storage area networks
US8560634B2 (en) 2007-10-17 2013-10-15 Dispersive Networks, Inc. Apparatus, systems and methods utilizing dispersive networking
US20090172125A1 (en) * 2007-12-28 2009-07-02 Mrigank Shekhar Method and system for migrating a computer environment across blade servers
US9047468B2 (en) 2007-12-28 2015-06-02 Intel Corporation Migration of full-disk encrypted virtualized storage between blade servers
EP2248003A1 (en) * 2007-12-31 2010-11-10 Netapp, Inc. System and method for automatic storage load balancing in virtual server environments
JP2009205189A (ja) * 2008-02-26 2009-09-10 Buffalo Inc フォルダ管理方法
US9015705B2 (en) * 2008-03-28 2015-04-21 International Business Machines Corporation Computing device having a migrated virtual machine accessing physical storage space on another computing device
US7941539B2 (en) * 2008-06-30 2011-05-10 Oracle America, Inc. Method and system for creating a virtual router in a blade chassis to maintain connectivity
US8307177B2 (en) 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
US8281305B2 (en) * 2008-10-17 2012-10-02 Hitachi, Ltd. Method and apparatus for resource provisioning
JP2010108409A (ja) * 2008-10-31 2010-05-13 Hitachi Ltd ストレージ管理方法及び管理サーバ
JP4705982B2 (ja) * 2008-12-11 2011-06-22 株式会社日立製作所 情報処理システム、情報処理方法、及び管理装置
US8607252B2 (en) * 2008-12-11 2013-12-10 International Business Machines Corporation Automated lamp stack migration
US8255496B2 (en) 2008-12-30 2012-08-28 Juniper Networks, Inc. Method and apparatus for determining a network topology during network provisioning
US8331362B2 (en) * 2008-12-30 2012-12-11 Juniper Networks, Inc. Methods and apparatus for distributed dynamic network provisioning
US8565118B2 (en) 2008-12-30 2013-10-22 Juniper Networks, Inc. Methods and apparatus for distributed dynamic network provisioning
US8190769B1 (en) 2008-12-30 2012-05-29 Juniper Networks, Inc. Methods and apparatus for provisioning at a network device in response to a virtual resource migration notification
US9344401B2 (en) * 2009-02-04 2016-05-17 Citrix Systems, Inc. Methods and systems for providing translations of data retrieved from a storage system in a cloud computing environment
US8209469B2 (en) * 2009-03-10 2012-06-26 Microsoft Corporation Offline device-side logical unit number controller
JP5476764B2 (ja) * 2009-03-30 2014-04-23 富士通株式会社 サーバ装置、計算機システム、プログラム及び仮想計算機移動方法
US8074038B2 (en) * 2009-05-12 2011-12-06 Microsoft Corporation Converting luns into files or files into luns in real time
US8953603B2 (en) 2009-10-28 2015-02-10 Juniper Networks, Inc. Methods and apparatus related to a distributed switch fabric
US8442048B2 (en) 2009-11-04 2013-05-14 Juniper Networks, Inc. Methods and apparatus for configuring a virtual network switch
JP5548489B2 (ja) * 2010-03-11 2014-07-16 株式会社日立製作所 計算機システム、仮想化機構、および計算機システムの障害回復方法
US8756598B1 (en) * 2010-03-31 2014-06-17 Netapp, Inc. Diskless virtual machine cloning by separately cloning a virtual drive and configuration data of a source virtual machine for combination into a cloned virtual machine
CN101819545B (zh) * 2010-04-09 2012-07-25 济南银泉科技有限公司 一种利用虚拟化技术实现平台迁移的方法
US11449394B2 (en) 2010-06-04 2022-09-20 Commvault Systems, Inc. Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources
CN101859263B (zh) * 2010-06-12 2012-07-25 中国人民解放军国防科学技术大学 一种支持在线迁移的虚拟机间快速通信方法
US9141625B1 (en) * 2010-06-22 2015-09-22 F5 Networks, Inc. Methods for preserving flow state during virtual machine migration and devices thereof
US8417737B2 (en) 2010-10-20 2013-04-09 Microsoft Corporation Online database availability during upgrade
US8799453B2 (en) 2010-10-20 2014-08-05 Microsoft Corporation Managing networks and machines for an online service
US8296267B2 (en) 2010-10-20 2012-10-23 Microsoft Corporation Upgrade of highly available farm server groups
US8386501B2 (en) 2010-10-20 2013-02-26 Microsoft Corporation Dynamically splitting multi-tenant databases
US8751656B2 (en) 2010-10-20 2014-06-10 Microsoft Corporation Machine manager for deploying and managing machines
US9075661B2 (en) 2010-10-20 2015-07-07 Microsoft Technology Licensing, Llc Placing objects on hosts using hard and soft constraints
US8832686B2 (en) 2010-10-29 2014-09-09 Microsoft Corporation Inherited product activation for virtual machines
US20130247039A1 (en) * 2010-11-08 2013-09-19 Yusuke Tsutsui Computer system, method for allocating volume to virtual server, and computer-readable storage medium
US8850550B2 (en) 2010-11-23 2014-09-30 Microsoft Corporation Using cached security tokens in an online service
US9721030B2 (en) 2010-12-09 2017-08-01 Microsoft Technology Licensing, Llc Codeless sharing of spreadsheet objects
US8891406B1 (en) 2010-12-22 2014-11-18 Juniper Networks, Inc. Methods and apparatus for tunnel management within a data center
US8566542B1 (en) * 2011-01-06 2013-10-22 Hewlett-Packard Development Company, L.P. Backup using storage array LUN level snapshot
US8984506B2 (en) * 2011-01-07 2015-03-17 International Business Machines Corporation Techniques for dynamically discovering and adapting resource and relationship information in virtualized computing environments
US8941659B1 (en) 2011-01-28 2015-01-27 Rescon Ltd Medical symptoms tracking apparatus, methods and systems
US8869145B1 (en) * 2011-04-28 2014-10-21 Netapp, Inc. Method and system for managing storage for virtual machines
US9424144B2 (en) 2011-07-27 2016-08-23 Microsoft Technology Licensing, Llc Virtual machine migration to minimize packet loss in virtualized network
US8667490B1 (en) * 2011-07-29 2014-03-04 Emc Corporation Active/active storage and virtual machine mobility over asynchronous distances
US9747287B1 (en) 2011-08-10 2017-08-29 Nutanix, Inc. Method and system for managing metadata for a virtualization environment
US9009106B1 (en) 2011-08-10 2015-04-14 Nutanix, Inc. Method and system for implementing writable snapshots in a virtualized storage environment
US8863124B1 (en) 2011-08-10 2014-10-14 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment
US8850130B1 (en) 2011-08-10 2014-09-30 Nutanix, Inc. Metadata for managing I/O and storage for a virtualization
US8601473B1 (en) 2011-08-10 2013-12-03 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment
US8549518B1 (en) 2011-08-10 2013-10-01 Nutanix, Inc. Method and system for implementing a maintenanece service for managing I/O and storage for virtualization environment
US9652265B1 (en) 2011-08-10 2017-05-16 Nutanix, Inc. Architecture for managing I/O and storage for a virtualization environment with multiple hypervisor types
US9274825B2 (en) 2011-08-16 2016-03-01 Microsoft Technology Licensing, Llc Virtualization gateway between virtualized and non-virtualized networks
US9027019B2 (en) * 2011-09-22 2015-05-05 Cisco Technology, Inc. Storage drive virtualization
WO2013064189A1 (de) * 2011-11-03 2013-05-10 Siemens Aktiengesellschaft Migration einer virtuellen maschine
US8819230B2 (en) * 2011-11-05 2014-08-26 Zadara Storage, Ltd. Virtual private storage array service for cloud servers
TWI456502B (zh) * 2011-12-01 2014-10-11 Univ Tunghai 虛擬機叢集之動態資源分配方法
TW201324357A (zh) * 2011-12-01 2013-06-16 Univ Tunghai 虛擬機叢集之綠能管理方法
JP5976842B2 (ja) * 2012-04-23 2016-08-24 株式会社日立製作所 計算機システム、及び、計算機システムの仮想サーバ移行制御方法
US9772866B1 (en) 2012-07-17 2017-09-26 Nutanix, Inc. Architecture for implementing a virtualization environment and appliance
US9092583B2 (en) * 2012-11-16 2015-07-28 Dell Products L.P. Systems and methods for communication between modular information handling systems in a chassis
US9223597B2 (en) 2012-12-21 2015-12-29 Commvault Systems, Inc. Archiving virtual machines in a data storage system
US20140181038A1 (en) 2012-12-21 2014-06-26 Commvault Systems, Inc. Systems and methods to categorize unprotected virtual machines
US9703584B2 (en) 2013-01-08 2017-07-11 Commvault Systems, Inc. Virtual server agent load balancing
US20140201162A1 (en) 2013-01-11 2014-07-17 Commvault Systems, Inc. Systems and methods to restore selected files from block-level backup for virtual machines
US9286110B2 (en) 2013-01-14 2016-03-15 Commvault Systems, Inc. Seamless virtual machine recall in a data storage system
US9405642B2 (en) * 2013-01-29 2016-08-02 Red Hat Israel, Ltd. Providing virtual machine migration reliability using an intermediary storage device
US10241814B2 (en) 2013-01-29 2019-03-26 Red Hat Israel, Ltd. Virtual machine memory migration by storage
US9940019B2 (en) 2013-06-12 2018-04-10 International Business Machines Corporation Online migration of a logical volume between storage systems
US9274916B2 (en) 2013-06-12 2016-03-01 International Business Machines Corporation Unit attention processing in proxy and owner storage systems
US9779003B2 (en) 2013-06-12 2017-10-03 International Business Machines Corporation Safely mapping and unmapping host SCSI volumes
US8819317B1 (en) 2013-06-12 2014-08-26 International Business Machines Corporation Processing input/output requests using proxy and owner storage systems
US9274989B2 (en) 2013-06-12 2016-03-01 International Business Machines Corporation Impersonating SCSI ports through an intermediate proxy
US9769062B2 (en) 2013-06-12 2017-09-19 International Business Machines Corporation Load balancing input/output operations between two computers
US9317311B2 (en) 2013-06-17 2016-04-19 International Business Machines Corporation Generating a deployment pattern for reuse in a networked computing environment
US20150032954A1 (en) * 2013-07-24 2015-01-29 Netapp, Inc. Method and system for presenting and managing storage shares
US20150074536A1 (en) * 2013-09-12 2015-03-12 Commvault Systems, Inc. File manager integration with virtualization in an information management system, including user control and storage management of virtual machines
US9258324B2 (en) 2013-11-26 2016-02-09 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for protecting a communication network against internet enabled cyber attacks through use of screen replication from controlled internet access points
CN103618627B (zh) * 2013-11-27 2017-01-04 华为技术有限公司 一种管理虚拟机的方法、装置及系统
US9280385B2 (en) * 2013-12-19 2016-03-08 International Business Machines Corporation Optimally provisioning and merging shared resources to maximize resource availability
CN103647849B (zh) * 2013-12-24 2017-02-08 华为技术有限公司 一种业务迁移方法、装置和一种容灾系统
US20150237140A1 (en) * 2014-02-14 2015-08-20 Tenoware R&D Limited Data storage systems and methods
US9811427B2 (en) 2014-04-02 2017-11-07 Commvault Systems, Inc. Information management by a media agent in the absence of communications with a storage manager
KR102206351B1 (ko) * 2014-04-28 2021-01-22 삼성전자 주식회사 전자 장치 및 이의 작업 연계 방법
WO2015188346A1 (en) * 2014-06-12 2015-12-17 Empire Technology Development Llc Virtual machine migration based on communication from nodes
US9959203B2 (en) 2014-06-23 2018-05-01 Google Llc Managing storage devices
US9336039B2 (en) * 2014-06-26 2016-05-10 Vmware, Inc. Determining status of migrating virtual machines
US20160019317A1 (en) 2014-07-16 2016-01-21 Commvault Systems, Inc. Volume or virtual machine level backup and generating placeholders for virtual machine files
CN104142853B (zh) * 2014-08-12 2018-02-09 华为技术有限公司 虚拟机存储资源部署方法和装置
US9417968B2 (en) 2014-09-22 2016-08-16 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US9710465B2 (en) 2014-09-22 2017-07-18 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US9436555B2 (en) 2014-09-22 2016-09-06 Commvault Systems, Inc. Efficient live-mount of a backed up virtual machine in a storage management system
US10776209B2 (en) 2014-11-10 2020-09-15 Commvault Systems, Inc. Cross-platform virtual machine backup and replication
US9612765B2 (en) * 2014-11-19 2017-04-04 International Business Machines Corporation Context aware dynamic composition of migration plans to cloud
US9983936B2 (en) 2014-11-20 2018-05-29 Commvault Systems, Inc. Virtual machine change block tracking
US9389789B2 (en) 2014-12-15 2016-07-12 International Business Machines Corporation Migration of executing applications and associated stored data
US10187320B2 (en) 2015-02-23 2019-01-22 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Transferring workloads between computing devices in a distributed computing system
JP2016167143A (ja) * 2015-03-09 2016-09-15 富士通株式会社 情報処理システムおよび情報処理システムの制御方法
CN104899072B (zh) * 2015-05-05 2018-07-20 中国船舶重工集团公司第七0九研究所 基于虚拟化平台的细粒度资源调度系统及方法
US10725883B2 (en) 2015-08-05 2020-07-28 Vmware, Inc. Externally triggered maintenance of state information of virtual machines for high availablity operations
US10725804B2 (en) * 2015-08-05 2020-07-28 Vmware, Inc. Self triggered maintenance of state information of virtual machines for high availability operations
CN105607949B (zh) * 2015-12-22 2017-04-26 西安交通大学 一种串行与并行相结合的虚拟机在线迁移方法
CN106959889A (zh) * 2016-01-11 2017-07-18 阿里巴巴集团控股有限公司 一种服务器资源调整的方法和装置
US9946569B1 (en) 2016-02-08 2018-04-17 Nutanix, Inc. Virtual machine bring-up with on-demand processing of storage requests
US10592350B2 (en) 2016-03-09 2020-03-17 Commvault Systems, Inc. Virtual server cloud file system for virtual machine restore to cloud operations
US10467103B1 (en) 2016-03-25 2019-11-05 Nutanix, Inc. Efficient change block training
US10747630B2 (en) 2016-09-30 2020-08-18 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including operations by a master monitor node
US10162528B2 (en) 2016-10-25 2018-12-25 Commvault Systems, Inc. Targeted snapshot based on virtual machine location
US10152251B2 (en) 2016-10-25 2018-12-11 Commvault Systems, Inc. Targeted backup of virtual machine
US11063758B1 (en) 2016-11-01 2021-07-13 F5 Networks, Inc. Methods for facilitating cipher selection and devices thereof
US10678758B2 (en) 2016-11-21 2020-06-09 Commvault Systems, Inc. Cross-platform virtual machine data and memory backup and replication
US10817321B2 (en) * 2017-03-21 2020-10-27 International Business Machines Corporation Hardware independent interface for cognitive data migration
US10896100B2 (en) 2017-03-24 2021-01-19 Commvault Systems, Inc. Buffered virtual machine replication
US10387073B2 (en) 2017-03-29 2019-08-20 Commvault Systems, Inc. External dynamic virtual machine synchronization
US10628199B2 (en) 2017-09-20 2020-04-21 Rackware, Inc Restoring and powering-off workloads during workflow execution based on policy triggers
US10877928B2 (en) 2018-03-07 2020-12-29 Commvault Systems, Inc. Using utilities injected into cloud-based virtual machines for speeding up virtual machine backup operations
US10698722B2 (en) * 2018-11-27 2020-06-30 Sap Se Virtual machine migration across cloud computing providers
US11200124B2 (en) 2018-12-06 2021-12-14 Commvault Systems, Inc. Assigning backup resources based on failover of partnered data storage servers in a data storage management system
US10996974B2 (en) 2019-01-30 2021-05-04 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data, including management of cache storage for virtual machine data
US10768971B2 (en) 2019-01-30 2020-09-08 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data
US11119801B2 (en) 2019-03-28 2021-09-14 International Business Machines Corporation Migrating virtual machines across commonly connected storage providers
US11809888B2 (en) 2019-04-29 2023-11-07 Red Hat, Inc. Virtual machine memory migration facilitated by persistent memory devices
US11467753B2 (en) 2020-02-14 2022-10-11 Commvault Systems, Inc. On-demand restore of virtual machine data
US11442768B2 (en) 2020-03-12 2022-09-13 Commvault Systems, Inc. Cross-hypervisor live recovery of virtual machines
US11099956B1 (en) 2020-03-26 2021-08-24 Commvault Systems, Inc. Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations
US11748143B2 (en) 2020-05-15 2023-09-05 Commvault Systems, Inc. Live mount of virtual machines in a public cloud computing environment
US11656951B2 (en) 2020-10-28 2023-05-23 Commvault Systems, Inc. Data loss vulnerability detection
CN112328368B (zh) * 2020-11-20 2022-12-27 上海云轴信息科技有限公司 一种基于云平台的应用层存储方法及设备
CN114067062A (zh) * 2022-01-17 2022-02-18 深圳慧拓无限科技有限公司 一种真实驾驶场景仿真方法、系统、电子设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1696902A (zh) * 2004-05-11 2005-11-16 国际商业机器公司 迁移虚拟机的系统、方法和程序

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0814795B2 (ja) * 1986-01-14 1996-02-14 株式会社日立製作所 マルチプロセッサ仮想計算機システム
JPH06187178A (ja) * 1992-12-18 1994-07-08 Hitachi Ltd 仮想計算機システムの入出力割込み制御方法
US6802062B1 (en) * 1997-04-01 2004-10-05 Hitachi, Ltd. System with virtual machine movable between virtual machine systems and control method
US6947987B2 (en) * 1998-05-29 2005-09-20 Ncr Corporation Method and apparatus for allocating network resources and changing the allocation based on dynamic workload changes
US6259448B1 (en) * 1998-06-03 2001-07-10 International Business Machines Corporation Resource model configuration and deployment in a distributed computer network
US6421711B1 (en) * 1998-06-29 2002-07-16 Emc Corporation Virtual ports for data transferring of a data storage system
JP2000322369A (ja) 1999-03-05 2000-11-24 Hitachi Ltd ディスク装置およびこれを用いた計算機システム
GB2359153A (en) * 2000-02-10 2001-08-15 Int Computers Ltd Device discovery in a shared data storage system
JP3630087B2 (ja) 2000-05-10 2005-03-16 日本電気株式会社 自動データ処理装置
US6775790B2 (en) * 2000-06-02 2004-08-10 Hewlett-Packard Development Company, L.P. Distributed fine-grained enhancements for distributed table driven I/O mapping
FI20001524A (fi) * 2000-06-27 2001-12-28 Nokia Networks Oy Yhdistettyjen olioiden hallinta verkossa
US6671820B1 (en) * 2000-08-10 2003-12-30 Dell Products, L.P. System and method for the prevention of corruption of networked storage devices during backup data recovery
US7743126B2 (en) * 2001-06-28 2010-06-22 Hewlett-Packard Development Company, L.P. Migrating recovery modules in a distributed computing environment
US7310673B2 (en) * 2001-12-21 2007-12-18 Hewlett-Packard Development Company, L.P. Network resource assignment system and method
US6826666B2 (en) * 2002-02-07 2004-11-30 Microsoft Corporation Method and system for transporting data content on a storage area network
US7010663B2 (en) * 2002-03-22 2006-03-07 Sun Microsystems, Inc. Method and system for dividing a plurality of existing volumes of storage into a plurality of virtual logical units of storage
US7093086B1 (en) * 2002-03-28 2006-08-15 Veritas Operating Corporation Disaster recovery and backup using virtual machines
US7003642B2 (en) * 2002-04-17 2006-02-21 Dell Products L.P. System and method for controlling access to storage in a distributed information handling system
US7313793B2 (en) * 2002-07-11 2007-12-25 Microsoft Corporation Method for forking or migrating a virtual machine
JP4123088B2 (ja) * 2003-08-06 2008-07-23 株式会社日立製作所 ストレージネットワーク管理装置及び方法
JP4227035B2 (ja) 2004-02-03 2009-02-18 株式会社日立製作所 計算機システム、管理装置、ストレージ装置及びコンピュータ装置
JP4485256B2 (ja) * 2004-05-20 2010-06-16 株式会社日立製作所 記憶領域の管理方法及び管理システム
US7155558B1 (en) * 2004-07-21 2006-12-26 Vmware, Inc. Providing access to a raw data storage unit in a computer system
US7437606B2 (en) * 2004-08-23 2008-10-14 Hewlett-Packard Development Company, L.P. Method of checkpointing parallel processes in execution within plurality of process domains
US8145601B2 (en) * 2004-09-09 2012-03-27 Microsoft Corporation Method, system, and apparatus for providing resilient data transfer in a data protection system
US7512769B1 (en) * 2004-10-06 2009-03-31 Hewlett-Packard Development Company, L.P. Process migration
US7536525B2 (en) * 2004-11-09 2009-05-19 Dell Products L.P. Virtual machine hot cloning including freezing and unfreezing memory in a distributed network
US8924499B2 (en) * 2004-12-14 2014-12-30 International Business Machines Corporation Operating system migration with minimal storage area network reconfiguration
US7647589B1 (en) * 2005-02-07 2010-01-12 Parallels Software International, Inc. Methods and systems for safe execution of guest code in virtual machine context
US20060184937A1 (en) * 2005-02-11 2006-08-17 Timothy Abels System and method for centralized software management in virtual machines
US20080189700A1 (en) * 2007-02-02 2008-08-07 Vmware, Inc. Admission Control for Virtual Machine Cluster
WO2008121873A1 (en) * 2007-03-29 2008-10-09 Vmware, Inc. Synchronization and customization of a clone computer
US8479194B2 (en) 2007-04-25 2013-07-02 Microsoft Corporation Virtual machine migration
US8281303B2 (en) * 2007-10-31 2012-10-02 Hewlett-Packard Development Company, L.P. Dynamic ejection of virtual devices on ejection request from virtual device resource object within the virtual firmware to virtual resource driver executing in virtual machine

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1696902A (zh) * 2004-05-11 2005-11-16 国际商业机器公司 迁移虚拟机的系统、方法和程序

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Fast transparent migration for virtual machines;NELSON M etc.;《PROCEEDINGS OF THE GENERAL TRACK. 2005 USENIX ANNUAL TECHNICAL CONFERENCE》;20050415;第391-394页 *
NELSON M etc..Fast transparent migration for virtual machines.《PROCEEDINGS OF THE GENERAL TRACK. 2005 USENIX ANNUAL TECHNICAL CONFERENCE》.2005,第391-394页.

Also Published As

Publication number Publication date
JP5615698B2 (ja) 2014-10-29
WO2008134144A1 (en) 2008-11-06
US20130298122A1 (en) 2013-11-07
ES2707792T3 (es) 2019-04-05
WO2008134143A1 (en) 2008-11-06
EP2156310B1 (en) 2018-10-31
TWI579770B (zh) 2017-04-21
US20080270564A1 (en) 2008-10-30
EP2156310A1 (en) 2010-02-24
CN101669106A (zh) 2010-03-10
TW200844863A (en) 2008-11-16
JP2010527056A (ja) 2010-08-05
EP2156310A4 (en) 2012-04-18
CL2008001143A1 (es) 2009-01-16
US8869146B2 (en) 2014-10-21
US8479194B2 (en) 2013-07-02

Similar Documents

Publication Publication Date Title
CN101669106B (zh) 虚拟机迁移的系统和方法
CN114341792B (zh) 存储集群之间的数据分区切换
US9514004B2 (en) Restore in cascaded copy environment
US10169173B2 (en) Preserving management services with distributed metadata through the disaster recovery life cycle
CN101809559B (zh) 在虚拟化服务器和虚拟化存储环境中的去重复
CN106575244B (zh) 确保云应用的高可用性的修补过程
US20150205542A1 (en) Virtual machine migration in shared storage environment
US10983913B2 (en) Securing exclusive access to a copy of a metadata track via a process while the metadata track is held in a shared mode by another process
KR20110048515A (ko) Raid와 함께 애플리케이션의 실행을 위한 방법 및 시스템
US10691545B2 (en) Modifying a container instance network
US20190339889A1 (en) Creating a structurally aware block storage system
US8977825B1 (en) Techniques for abstract profile definition to support information hiding
TW202018500A (zh) 在多次執行指令之間保存及恢復機器狀態
US11055017B1 (en) Throttling a point-in-time snapshot copy operation within a data consistency application
US10976941B2 (en) Validation of storage volumes that are in a peer to peer remote copy relationship
US20180121107A1 (en) Validation of write data subsequent to destaging to auxiliary storage for completion of peer to peer remote copy
US9674105B2 (en) Applying a platform code level update to an operational node
US10565056B2 (en) Parallel data collection and recovery for failing virtual computer processing system
US10691549B2 (en) System managed facilitation of backup of dataset before deletion
US11163474B2 (en) Migration of data from a storage controller to cloud storage by using parallel readers for the data

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
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: 20150507

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

Effective date of registration: 20150507

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.