本申请涉及虚拟机均质化以实现跨异构型计算机的迁移。描述了一种可将虚拟机安全地迁移到具有不同平台的计算机系统的技术。通过将虚拟机的能力与新平台的能力进行比较可检查虚拟机的兼容性。为了确保兼容性,当创建时,虚拟机可以具有受限于可用于迁移的不同平台的最低的公共能力的能力。基于类似能力,诸计算机系统可以分组为迁移池,和/或可以基于虚拟机所需的诸如对应于所需性能、故障容差和/或灵活性的能力,将该虚拟机映射到某些计算机系统。
【技术实现步骤摘要】
本申请涉及虚拟机,具体而言,涉及虚拟机在跨异构型计算机上的迁移。
技术介绍
虚拟机(VM)包括在主机计算机系统上执行的的软件,该软件好像它是物理机器那样运作。一个计算机系统可以主控多个虚拟机,每个虚拟机运行在一个虚拟机监视器 (VMM)上,该虚拟机监视器也被称为系统管理程序,它控制主机资源在诸虚拟机之间的共享。通常运行虚拟机来以比传统的程序更加充分的方式利用物理机器的硬件资源,和/或在同一时间在同一物理机器上运行不同的操作系统。当创建了虚拟机,虚拟机监视器通常会将底层硬件特征、拓扑和其它特性展示给该虚拟机。这就允许该虚拟机充分利用其运行的平台的能力。出于各种理由,有时希望或必须将虚拟机从一个物理机器迁移到另一物理机器, 而不要停止该虚拟机的执行(虽然在某些持续时间该虚拟机是不可用的)。这样的理由包括负载平衡、维护、故障转移等等。然而,当在异构型计算环境中迁移虚拟机时,也就是,在具有不同能力的计算平台之间,可能会出现许多硬件相关和软件相关的问题。例如,新平台可能并不支持与该虚拟机先前所使用的特定处理器特征相关联的指令集,从而导致应用程序或操作系统崩溃。另一个问题是当缓存拓扑不同时,例如,在新平台上存在更小的缓存线性转储清除大小(cache line flush size),这就会导致数据恶化的问题。还有另一个问题是虚拟机可能被优化以使用一物理机器的非均勻存储器访问(NUMA)拓扑和/或非均勻I/O访问拓扑。如果这些拓扑中的一个不同或两者都不同,就会导致下降的性能。对于软件而言,在新机器上的虚拟机监视器的版本可能与先前平台的版本不同, 从而导致了兼容性问题。还有,当虚拟机迁移到不同的平台时,会存在操作系统或应用程序许可证激活的问题。总之,在异构型计算环境中,迁移虚拟机会导致硬件资源利用不足、低下性能、系统停机时间和/或数据丢失。
技术实现思路
提供本
技术实现思路
以便以简化形式介绍将在以下的具体实施方式中进一步描述的一些代表性概念。本
技术实现思路
不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在以限制所要求保护的主题的范围的任何方式来使用。简要地,在此描述的主题的各个方面都旨在基于虚拟机所需的能力和/或计算机系统上可用的能力将虚拟机迁移至具有不同平台的计算机系统的技术。这样的能力包括处理器特征集、处理器缓存特性、控制寄存器特性、模型特定寄存器特性、存储器类型范围寄存器特性、地址范围寄存器特性、非均勻存储器访问拓扑、非均勻I/O访问拓扑、虚拟机监视器版本数据和/或许可证相关的数据。在一个方面,在允许迁移之前检查兼容性。在另一个方面,虚拟机的平台相关的能力被故意限定为计算机系统之间可用的平台相关的能力的最低公共集,以使得虚拟机与多个计算机系统中的任意计算机系统相兼容。例如,返回给虚拟机的CPU特征可以是每个机器都能支持的最低CPU特征,该特征基于不同的CPU体系结构和/或步进而不同,包括在体系结构之间的步进和/或单个处理器厂商的和/或不同处理器厂商的步进。在一个方面中,可以基于相似的能力将诸计算机系统分组为迁移池,例如,较新的计算机系统并不受限于较老的计算机系统的能力,而仅受限于它们的迁移池中最低的能力。在另一个方面中,可以基于虚拟机所需的能力,诸如基于性能、故障容差和/或灵活性, 将该虚拟机映射到某些计算机系统。结合附图阅读以下详细描述,本专利技术的其他优点会变得显而易见。附图说明 作为示例而非限制,在附图中示出了本专利技术,附图中相同的附图标记指示相同或相似的元素,附图中 图1是示出以维护跨不同平台的兼容性的方式来迁移虚拟机的示例组件的框图。图2是表示虚拟化处理器特征集以匹配在不同平台中的公共的那些从而确保兼容性的示例步骤的流程图。图3是示出基于公共能力如何将不同的平台汇合在一起,以便在池内的迁移避免了兼容性相关的问题的框图。图4表示了如何基于每个虚拟机所需能力和与之相对的每个平台所提供的能力可将虚拟机映射到不同的平台的框图。图5是示出在虚拟机迁移期间采取的保持跨平台兼容性的示例步骤的流程图。图6示出可以将本专利技术的各方面并入其中的计算环境的说明性示例。具体实施例方式在此所描述的技术的各个方面总体来说旨在便于以避免由平台中的不同的硬件和/或软件所导致的各种问题的方式在异构型计算平台中的虚拟机迁移。为此,描述了一组异构型平台的能力的标识,虚拟机所需能力的说明以及对使用这些能力的虚拟机的创建,包括由虚拟机监视器对底层硬件和/或软件的虚拟化以支持这些能力。还描述了当迁移或重启虚拟机时的虚拟机能力的持续以及兼容性验证。在一个方面中,描述了在迁移虚拟机之后将任何已改变的能力通知该虚拟机。应当理解,此处的任何示例都是非限制性的示例。如此,本专利技术不限于此处所描述的任何特定实施例、方面、概念、结构、功能或示例。相反,这里所描述的任何一个实施例、方面、概念、结构、功能或示例都是非限制性的,且本专利技术可以按一般而言在计算和/或虚拟机技术中提供好处和优点的各种方式来使用。图1示出了有关虚拟机10 从具有一个平台106的源主机104到具有另一个平台Iio的目标主机108的迁移的各个方面。可以很容易地理解,如果平台是相同的,则不存在兼容性问题,因此,此处的描述针对于关于它们各自的硬件和/或软件能力(包括在此描述的各种特征和/或特性)的不同的平台106和110。注意,在目标主机上的虚拟机实例在图1中标注为102b,尽管除了其位置之外,该虚拟机实例在本质上并没有被改变。如所知的,每个主机运行一个虚拟机监视器,在图1中标注为112和114。在其它操作中,虚拟机监视器允许不同类型的虚拟机,例如配置有不同操作系统、版本等,以运行在平台上。通常,每个虚拟机操作系统可以没有察觉到它运行在虚拟机监视器之上,并且可以如同它就是在物理主机计算机系统上运行的唯一的操作系统那样操作。如在此所述,结合虚拟机监视器112和114的系统管理器116以确保兼容性的方式处理迁移。为此,系统管理器116包括兼容性逻辑118,该兼容性逻辑118检查虚拟机是否能被迁移,并且如果不能就放弃所请求的迁移。此外,虚拟机监视器112和114分别包括兼容性管理器120和122,它们能够控制虚拟机的兼容性配置以提供跨平台的兼容性。更加具体地,每个兼容性管理器能够基于在异构型平台之间可用的特征和特性,将虚拟机的能力设定为最低的公共特征集/特性集。 这种兼容性相关的信息可以作为兼容性数据124由系统管理器116维护。一组兼容性与每个平台的CPU相关。它们包括处理器特征,例如指令集、控制寄存器特性、缓存特性等等,并随处理器厂商和执行而改变。如所知的,CPUID指令返回数据,可以通过这些数据来为给定平台确定这些特征中的许多特征。相对于处理器缓存,处理器缓存体系结构对应于CPUID叶2和4。如果虚拟机正在运行在源主机上的缓存优化应用程序,将该虚拟机迁移到目标主机导致性能的降低。此外,如果在目标主机上的缓存线性转储清除大小小于源,则会发生数据恶化。这样,源和目标主机处理器的特性需要匹配。CL 转储清除大小(CPUID 80000001. ebx. 16-23) 如上所述,一个选择是如果,例如由于较旧的CPU或来自不同厂商的CPU的原因, 目标主机不能支持CPU特性,则放弃迁移。然而本文档来自技高网...
【技术保护点】
1.在一计算环境中,一种在至少一个处理器上执行的方法,包括:标识(502)多个计算机系统的平台相关的能力,其中,至少两个所述计算机系统具有不同的平台相关的能力;限制(508)虚拟机的平台相关的能力以使得所述虚拟机与所述多个计算机系统中的任意计算机系统相兼容;以及将所述虚拟机从所述多个计算机系统中的一个计算机系统迁移(514)到所述多个计算机系统中的另一计算机系统。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:R·B·贝内特,R·A·维加,S·甘古利,M·D·亨德尔,R·N·戴维,L·鲁瑟,T·格尔,Y·郑,
申请(专利权)人:微软公司,
类型:发明
国别省市:US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。