CN105335234A - 一种虚拟机即时迁移方法 - Google Patents

一种虚拟机即时迁移方法 Download PDF

Info

Publication number
CN105335234A
CN105335234A CN201510711187.0A CN201510711187A CN105335234A CN 105335234 A CN105335234 A CN 105335234A CN 201510711187 A CN201510711187 A CN 201510711187A CN 105335234 A CN105335234 A CN 105335234A
Authority
CN
China
Prior art keywords
virtual machine
machine
physical machine
migrated
load
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.)
Pending
Application number
CN201510711187.0A
Other languages
English (en)
Inventor
姬源
周思明
谢冬
沈冠全
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.)
Electric Power Dispatch Control Center of Guizhou Power Grid Co Ltd
Original Assignee
Electric Power Dispatch Control Center of Guizhou Power Grid Co Ltd
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 Electric Power Dispatch Control Center of Guizhou Power Grid Co Ltd filed Critical Electric Power Dispatch Control Center of Guizhou Power Grid Co Ltd
Priority to CN201510711187.0A priority Critical patent/CN105335234A/zh
Publication of CN105335234A publication Critical patent/CN105335234A/zh
Pending legal-status Critical Current

Links

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种虚拟机即时迁移方法,涉及一种使用物理机资源建立虚拟机过程中的负载均衡方法,本发明通过接收一个辅助虚拟机迁移请求,然后判断当前待迁移虚拟机的负载水平;最后比较当前待迁移虚拟机的负载水平和合适负载水平,提高了数据中心的性能和资源使用效率。

Description

一种虚拟机即时迁移方法
技术领域
本发明涉及一种使用物理机资源建立虚拟机过程中的负载均衡方法。
背景技术
虚拟机是对计算机系统的一种软件实现方式,能够以与物理机相似的方式执行计算机程序。虚拟化技术允许不同的虚拟机共享底层的物理硬件资源,每个虚拟机上都运行自己的一个客体操作系统。虚拟化的进程通常有一个管理程序执行,允许多个操作系统并行运行在一个宿主系统上。管理程序使用一个虚拟操作平台来展现客体操作系统,并对客体操作系统的执行进行监控。此外,管理程序为每一个客体操作系统定义硬件资源的分配,比如中央处理单元(CPU)能力、内存、网络带宽等。
对服务器、应用分配控制器、负载均衡器等计算和网络资源的虚拟化,可以提高服务提供方数据中心的性能。此外,对这些资源进行虚拟化还能减少服务提供方的开销。比如,大多数在数据中心执行的应用在绝大部分时间都只占用5%至10%的物理CPU资源。然而,如果将这些应用作为虚拟机部署在一台物理机器上,资源的利用率可以达到80%。同时,不会影响部署了这些应用的宿主物理机本身的隔离性和独立性。因此,在过去的几年中,数据中心对虚拟化技术的采用发展十分迅速,预计很快绝大部分服务都将以虚拟机的形式部署。
通常,一台单独的物理机资源不足够支持多个虚拟机。大多数情况下,多个虚拟机的平均资源消耗会超过一台物理机的资源供给能力。因此,通常将虚拟机分布到多台物理机器上,使得所有虚拟机的总平均资源消耗不会超过可配置的物理机资源的阈值(比如80%)。但是,虚拟机的资源消耗是动态变化的,一台物理机有可能因其上运行的虚拟机实例的峰值资源消耗而导致过载。因此,需要平衡虚拟机对其宿主物理机资源的使用,这类任务即常说的负载均衡。
虚拟机迁移过程中,先增量式地将待迁移虚拟机的CPU状态和内存镜像,包括寄存器内容,从源物理机拷贝到目标物理机。当内存镜像拷贝完毕后,挂起源物理机上虚拟机的执行,然后在目标物理机上恢复虚拟机的执行。在目标物理机上的虚拟机执行将从其停止时的指令之后的一条指令开始恢复执行。
需要注意的是,考虑到虚拟机在迁移过程中,仍然在源物理机上运行,那么只有在需要被拷贝的内存镜像变化十分微小时,才将虚拟机的执行切换到目标物理机上。这个内存镜像变化的大小通常是一个预定义的且可配置的参数值(比如,内存页数目)。
虚拟机迁移还需要源物理机到目标物理机间的迁移网络连接。通常,源物理机和目标物理机处于同一IP子网内。因此,当虚拟机迁移到目标物理机上时,虚拟机会广播地址解析协议消息,指明虚拟机的IP地址移动到一个新的物理位置。而虚拟机文件系统驻载在同一个存储上,无需进行大量的持久化数据同步,因此虚拟机的迁移可以在很短的关机时间内完成。
但是,传统的虚拟机即时迁移过程存在效率问题,此迁移过程同时限制了虚拟机和物理机的性能。具体而言,传统的虚拟机迁移过程具有以下缺点。首先,迁移过程中虚拟机服务质量大幅下降,因为增量式的内存拷贝占用大量的CPU和网络资源。这种服务质量下降甚至会导致在物理机切换时间点的短暂服务失效。尽快这种服务失效时间很短,一般在一秒以内,对于任务关键型的应用来说是不可容忍的。其次,服务性能下降的时间可能会很长,对于任务关键型的应用来说同样不可容忍。
此外,传统的虚拟机即时迁移过程在拷贝虚拟机内存镜像时消耗大量CPU和网络资源,进一步加剧了物理机的资源紧张状态。而从一台物理机向另一台物理机拷贝内存镜像的过程可能难以达到一个交汇点。当源物理机上虚拟机内存持续变化,使得切换所需满足的内存镜像变化阈值始终不能得到满足,使得迁移过程一直占用源物理机资源,导致源物理机性能大幅下降。这种情况还可能导致迁移过程的失败,因为转移虚拟机内存的过程过长。
虚拟机迁移的主要目的是提高数据中心的性能和资源使用效率,而传统的虚拟机即时迁移方法无法保证这些目标。事实上,传统虚拟机即时迁移过程可能牺牲数据中心的性能,导致低效率的数据中心运行。因此,传统的虚拟机迁移过程难以有效地进行负载均衡。
发明内容
有鉴于现有技术的上述缺陷,本发明提供了一种解决方案,克服基于传统虚拟机迁移方法的负载均衡解决方案中的缺点。
为实现上述目的,本发明提供了一种虚拟机即时迁移方法,包括以下步骤:
步骤一、接收一个辅助虚拟机迁移请求,该请求中至少包含一个关于合适负载水平的描述;
步骤二、判断当前待迁移虚拟机的负载水平;
步骤三、比较当前待迁移虚拟机的负载水平和合适负载水平;当待迁移虚拟机负载水平低于合适负载水平时,发起待迁移虚拟机的即时迁移;当待迁移虚拟机负载水平不低于合适负载水平时,降低当前待迁移虚拟机的负载水平,直到其低于合适负载水平,然后发起待迁移虚拟机的即时迁移。
本发明的有益效果是:本发明能够提高数据中心的性能和资源使用效率。
附图说明
图1是传统虚拟机迁移过程的概要图;
图2是描述了一个具体实施方案中的数据中心系统图,用以说明负载均衡器辅助虚拟机即时迁移的过程;
图3是在不同具体实施方案中负载均衡器辅助虚拟机即时迁移的流程框图;
图4和图5的流程框图描述了一些具体实施方案中,驻载了多个虚拟机的多个物理机上的负载均衡技术。
具体实施方式
下面结合附图和实施例对本发明作进一步说明:
如图1所示,以往的解决方案是由一个虚拟机迁移过程来执行负载均衡任务。这种虚拟机迁移过程也被称为“虚拟机即时迁移”,因为虚拟机在其运行过程中被转移到不同宿主物理机上。比如,物理机100上运行虚拟机111,112和113。当迁移过程监测到物理机100处于忙碌状态时(比如资源占用率超过80%),虚拟机111-113中的一个或多个被迁移到物理机120上,从而支持更多的虚拟机实例。如图1所示,虚拟机111和113被迁移到物理机120上。虚拟机的迁移过程可能由用户触发,也可能由一个监控数据中心运行性能的虚拟机控制器140触发。而迁移过程则由虚拟机控制器140进行协调,由迁移的源物理机和目标物理机来具体完成。虚拟机迁移过程通常要求源物理机和目标物理机共享同一个存储130,其上驻载着虚拟机文件系统。虚拟机控制器140向物理机100下达指令,将虚拟机111迁移到物理机120上。
虚拟机迁移过程中,先增量式地将待迁移虚拟机(比如虚拟机111)的CPU状态和内存镜像,包括寄存器内容,从源物理机拷贝到目标物理机。当内存镜像拷贝完毕后,挂起源物理机上虚拟机的执行,然后在目标物理机上恢复虚拟机的执行。在目标物理机120上的虚拟机执行将从其停止时的指令之后的一条指令开始恢复执行。
需要注意的是,考虑到虚拟机111在迁移过程中,仍然在源物理机上运行,那么只有在需要被拷贝的内存镜像变化十分微小时,才将虚拟机的执行切换到目标物理机120上。这个内存镜像变化的大小通常是一个预定义的且可配置的参数值(比如,内存页数目)。
虚拟机迁移还需要源物理机到目标物理机间的迁移网络连接。通常,源物理机和目标物理机处于同一IP子网内。因此,当虚拟机迁移到目标物理机120上时,虚拟机会广播地址解析协议消息,指明虚拟机的IP地址移动到一个新的物理位置。而虚拟机文件系统驻载在同一个存储130上,无需进行大量的持久化数据同步,因此虚拟机的迁移可以在很短的关机时间内完成。
但是,传统的虚拟机即时迁移过程存在效率问题,此迁移过程同时限制了虚拟机和物理机的性能。具体而言,传统的虚拟机迁移过程具有以下缺点。首先,迁移过程中虚拟机服务质量大幅下降,因为增量式的内存拷贝占用大量的CPU和网络资源。这种服务质量下降甚至会导致在物理机切换时间点的短暂服务失效。尽快这种服务失效时间很短,一般在一秒以内,对于任务关键型的应用来说是不可容忍的。其次,服务性能下降的时间可能会很长,对于任务关键型的应用来说同样不可容忍。
此外,传统的虚拟机即时迁移过程在拷贝虚拟机内存镜像时消耗大量CPU和网络资源,进一步加剧了物理机的资源紧张状态。而从一台物理机向另一台物理机拷贝内存镜像的过程可能难以达到一个交汇点。当源物理机上虚拟机内存持续变化,使得切换所需满足的内存镜像变化阈值始终不能得到满足,使得迁移过程一直占用源物理机资源,导致源物理机性能大幅下降。这种情况还可能导致迁移过程的失败,因为转移虚拟机内存的过程过长。
虚拟机迁移的主要目的是提高数据中心的性能和资源使用效率,而传统的虚拟机即时迁移方法无法保证这些目标。事实上,传统虚拟机即时迁移过程可能牺牲数据中心的性能,导致低效率的数据中心运行。因此,传统的虚拟机迁移过程难以有效地进行负载均衡。
图2根据具体实施例展示了一个典型但非限制性的数据中心实施场景(如图2中200所示),用来说明负载均衡器辅助虚拟机即时迁移。多个客户端用户(如图2中客户端210所示)可以通过网络(如图2中225所示),访问数据中心(如图2中220所示)上运行的若干应用。一个客户端210,可以但不限于是一台个人台式电脑、一部智能手机、一部移动电话、一部平板电脑或一部便携式个人电脑等。客户端210上运行一个软件(比如浏览器)和一个操作系统(比如Windows、Android、或Linux等),可以访问数据中心的资源。网络225可能是局域网、广域网或互联网等。
数据中心220由一个负载均衡器230和若干物理机(如图2中240-*所示)组成。一个物理机可以是任何计算或网络资源,比如Web服务器、数据库服务器、存储设备、网络控制器或者负载均衡器等。通常,一个物理机包括计算资源,比如内存、一个或多个中央处理单元,存储、网络连接等等。每个物理机240-1、240-2或240-3,可以运行一个或多个虚拟机(如图2中250所示)。
负载均衡器(如图2中230所示)是一个虚拟或物理设备,比如一个应用分配控制器,将客户端210的请求分配到数据中心的各个虚拟机上,以实现负载均衡。在背景部分的介绍中,传统负载均衡器的运行机制仅限于虚拟机层次的请求均衡,因此无法通过虚拟机250来控制物理机240上的资源使用。
在典型数据中心实施场景200中,物理机(240-1到240-3)上运行虚拟机(250-1到250-6),其中不同的虚拟机上可以运行同一应用的一个实例。比如,虚拟机250-2和250-4运行应用APP1的一个实例。因此,客户端210对应用APP1的若干请求可以被分配到虚拟机250-2和250-4上。接下来,将具体描述根据物理机硬件资源利用情况对请求进行分配的细节。
在具体实施例中,一台咨询服务器(如图2中260所示)作为虚拟机迁移控制器。咨询服务器260协调数据中心实施场景200中的虚拟机迁移。咨询服务器260会监控每个物理机240或虚拟机的负载状况来判断数据中心的负载是否均衡,是否有必要迁移一个或多个虚拟机。
为了保证虚拟机即时迁移的效率,特别当待迁移虚拟机负载水平很高时,为了保证迁移成功,负载均衡器230在即时迁移的过程中被用来减轻待迁移虚拟机的负载。咨询服务器260则会通知负载均衡器230,某个特定虚拟机(比如虚拟机250-2)将要开始进行迁移。作为响应,负载均衡器230则会减少虚拟机250-2的负载,直到其负载达到一个合适负载水平,使得迁移过程可以成功的进行并结束。当待迁移虚拟机达到合适负载水平时,负载均衡器230通知咨询服务器260,迁移过程可以开始。咨询服务器260也可以先发起迁移过程,并在迁移过程中通知负载均衡器230降低待迁移虚拟机的负载,从而无须等待负载均衡器发来的信号。
虚拟机即时迁移的过程中涉及到CPU和内存镜像状态的拷贝。这个过程仅应该在待迁移虚拟机的负载水平较低的时候进行,这样才能保证内存镜像状态变化十分小,因此内存拷贝才能及时完成,不至于对应用APP1的服务质量产生太大影响。
当待迁移虚拟机负载水平较高时,迁移过程难以成功完成时,咨询服务器260将请求负载均衡器230协助完成迁移过程。负载均衡器230可以通过以下一些技术,降低待迁移虚拟机(比如虚拟机250-2)的负载水平。一种是把将要转发给虚拟机250-2的来自客户端210的请求,分配到其它物理机上,这个或这些物理机运行了可以处理这些请求的虚拟机,比如这个或这些虚拟机运行了与待迁移虚拟机相同的应用。比如,发往虚拟机250-2的请求可以被转发到与它运行了相同应用实例APP1的虚拟机250-4上。负载均衡器230能够根据物理机的资源使用率对客户端请求的分布进行均衡,使得所有物理机的负载得以均衡。接下来将对负载均衡的实施方式进行详细说明。
负载均衡器230可以建立一个新的连接会话,将原本转发到待迁移虚拟机的请求转发到运行在不同物理机器上的其它虚拟机上,从而降低待迁移虚拟机250-2的负载水平。比如,为了替代物理机240-1上的虚拟机250-2,在物理机240-2上运行的虚拟机250-4上新建一个连接,该虚拟机和其所运行的物理机不参与虚拟机即时迁移。而物理机240-3,则被设定为虚拟机即时迁移的目的物理机,用以运行迁移以后的虚拟机250-2(即图2中250-2N)。负载均衡器230也可以直接采用限制带宽的技术对转发到虚拟机250-2的请求进行准入控制,从而降低待迁移虚拟机250-2的负载水平。
图3根据具体实施例展示了一个典型但非限制性的流程图(如图三中300所示),用来说明负载均衡器辅助虚拟机即时迁移的流程。负载均衡器负责控制待迁移虚拟机的负载,保障即时迁移过程的成功完成,而咨询服务器则作为虚拟机迁移控制器,控制物理机将待迁移虚拟机从源物理机转移到目标物理机上。
如上所述,即时迁移的过程可以由用户启动,也可以由咨询服务来启动。此过程通常在确认经过迁移可以提高或优化数据中心的性能后启动,或者当源物理机必须进行维护而关机时启动。
S310:负载均衡器(比如230)接收到一个协助启动虚拟机即时迁移过程的请求。这个请求由咨询服务器发出,可能包含一个或多个下列参数:一个待迁移虚拟机的认证标志(ID),一个驻载待迁移虚拟机的物理机认证标志,以及一个合适的负载水平。合适的负载水平表明了当待迁移虚拟机处于此负载水平内时,迁移过程很可能会成功。而合适的负载水平取值可以由用户(比如系统管理员)预先设置,也可以基于其它负载度量和以往迁移成功过程的统计数据来设定。负载水平由待迁移虚拟机使用的物理机上的硬件资源测量而来。
硬件资源的使用率计算基于以下一种或多种度量,但不限于此:处理器(CPU)使用率,比如物理机中所有处理器核使用的处理器时钟周期除以所有可用处理器核的最大时钟周期;内存分配,比如已分配的内存占所有物理内存的百分比;内存页面切换率(MPR);带宽使用率,比如已经占用的传输带宽占物理机安装的所有网卡带宽的百分比;以及输入和输出的比值(IOR)。合适的负载水平可以包含一种或多种上述度量。比如,当内存页面切换率低于20页每分钟时,虚拟机迁移操作应该是安全的,那么一个合适的负载水平可以设定为MPR<20。而在一个具体实施例中,负载均衡器可以为每个物理机上的每个虚拟机设定合适的负载水平。
必须注意的是,接收协助虚拟机迁移的请求可能发生在特定虚拟机迁移前或迁移中。当咨询服务器发送此请求后,它会一直等待负载均衡器的相应,表明开始或恢复虚拟机的迁移。
S320:确认待迁移虚拟机的当前负载水平。即反映硬件资源使用率的度量指标被负载均衡器从待迁移虚拟机的管理程序中搜集上来,或者由物理机上安装的虚拟机管理系统搜集上来。
S330:比较当前负载水平和合适的负载水平参数。如果当前负载水平高于合适的负载水平,执行步骤S340;否则,执行步骤S350。
S340:调整待迁移虚拟机的负载,使得其负载水平符合合适的负载水平。然后重复执行S330。可以使用各种不同的技术降低待迁移虚拟机的负载水平。如上所述,这些技术包括但不限于:转发请求到与待迁移虚拟机安装同样应用的其它虚拟机上,转发请求到其它安装了类似待迁移虚拟机服务的物理机上并在物理机上进行负载均衡,挂起在待迁移虚拟机上新建连接的进程,并对连接待迁移虚拟机的网络带宽进行准入限制。值得注意的是,这些方法可以同时或顺序的进行来降低负载水平。
S350:当待迁移虚拟机负载水平达到或低于合适的负载水平时,负载均衡器会向咨询服务器发出确认,表明虚拟机迁移过程可以完成或恢复。
图4根据具体实施例展示了一个典型但非限制性的流程图(如图四中400所示),展示了一种驻载了多个虚拟机的多个物理机中进行负载均衡的方法。此方法在运行同一应用实例的多个虚拟机间进行请求的均衡。此方法选择一个虚拟机为应用发出的请求服务。运行在一个或多个数据中心的多个不同物理机上的不同虚拟机可以被选择来处理来自应用的请求。
S410:物理机上的各类资源的资源利用率被阶段性的测量。如上所述,这些资源利用率度量包括但不限于CPU使用率、内存分配、内存页面切换率、输入输出使用率、以及带宽利用率等。一个物理机上某类资源的资源利用率是一段时间内若干测量值的平均值。
S420:对每一个物理机(记为pm)和一个资源类型(记为r),一种资源利用率的测量分数计算方法如下所示:
R U _ S c o r e ( p m , r ) = w e i g h t ( r ) ( 1 - R U ( p m , r ) ) l o a d _ T H ( r )
其中,一种资源类型的权值weight(r)由相应资源类型与应用执行相关性决定。比如,如果一个应用是CPU密集型的,那么CPU资源的权值应该高于其它类型资源的权值。RU(pm,r)参数代表资源r的资源利用率测量值,load_TH(r)参数代表一个资源r的资源使用率的预定阈值,其取值范围为0到1,代表使用率为0%到100%。需要注意的是,load_TH对于同一类型的资源取值可能相同,不管针对哪个物理机。比如,对于所有物理机,内存资源的load_TH值可以设为0.85,即内存利用率不得超过85%。
需要注意,对于驻载待迁移虚拟机的物理机而言,通常不计算资源利用率的测量分数。因此,此物理机将不会被用于完成负载均衡的机器。由此,也可以减少转发到待迁移虚拟机上的请求。
具体实施例中,既可以计算每一台物理机中每一个类型资源的资源利用率测量分数,也可以只计算一部分物理机的资源利用率测量分数。这部分物理机仅包括那些资源利用率都不超过预定阈值的物理机。
S430:每一台物理机的总资源利用率则通过对物理机上各类资源利用率测量分数求和后再除以各类资源的权值之和得到。总资源利用率分数(PMU_Score)的计算方法如下所示:
P M U _ S c o r e ( p m ) = Σ r R U _ S c o r e ( p m , r ) Σ r W e i g h t ( r )
S440:选择总资源利用率分数最低的物理机上驻载的虚拟机来处理应用的请求。需要注意的是,如果被选中的物理机上存在两个或多个可以处理应用请求的虚拟机,则任意选择一个虚拟机来处理应用的请求。
S450:客户端的请求被转发到新选择的虚拟机上。
上述方法在具体实施例中可以由一个咨询服务器、数据中心中安装的每一个应用分配控制器以及负载均衡器来实现,也可以由多个咨询服务器、每一个应用分配控制器以及负载均衡器来实现。特别值得注意的是,咨询服务器既能够独立地完成资源利用率的测量,也可以从应用分配控制器来接收这些测量信息。
负载均衡的决策由一个咨询服务器做出。咨询服务器收集并保存系统中每一个物理机的资源利用率状况,因此能够做出决策,将收到的请求转发给最合适的虚拟机。在具体实施例中,应用分配控制器会向咨询服务器查询请求转发的决策信息。作为响应,咨询服务器则指导负载均衡器将接收到的客户端请求转发给一个运行了能够处理此类请求的应用的一个虚拟机。对于某些实施例而言,负载均衡器将不会把请求转发到待迁移的虚拟机,以保证其负载水平不会提高。
值得注意的是,图4中描述的方法能够提供实时的负载均衡,因此极为适合时间敏感的应用。对于每一个接收到的客户端请求都可以及时做出转发的决策。更为重要的是,图4中描述的方法是一种分布式的解决方案。每一个应用分配控制器都会测量相同物理机上的所有相同类型资源,因此负载转移的过程中发生拥挤的可能性非常小,通常能够保证物理机的负载水平维持在较低水平。同时值得注意的是,图4方法流图中的每一个步骤并不需要按照严格的时序来执行。
图5根据具体实施例展示了一个典型但非限制性的流程图(如图五中500所示),展示了另一种驻载了多个虚拟机的多个物理机中进行负载均衡的方法。此方法可以由每一个应用分配控制器、一个负载均衡器和(或)一个咨询服务器来实现。此方法在多个运行同一应用实例的虚拟机中观察资源利用率的变化趋势,从而进行负载均衡。根据资源利用率的趋势,此方法给每一个物理机赋予一个负载均衡权重值。对于资源利用率高的物理机赋予一个较低的权重值,反之则赋予一个较高的权重值。负载均衡权重值决定了分配给每个物理机的相对请求数目。比如,一个负载均衡权重值为4的物理机与一个负载均衡权重值为2的物理机相比,其接收到的请求数目为对方的2倍。在具体实施例中,驻载了待迁移虚拟机的物理机的负载均衡权重显著地低于系统中的其它虚拟机,因此可以保证尽可能少的请求转发到驻载了待迁移虚拟机的物理机上。
S510:测量每一个驻载了运行着需要进行负载均衡应用的虚拟机的物理机的每一种资源类型的利用率。如上所述,每一类资源的资源利用率是一段时间内若干测量值的平均值。在此具体实施例中,测量资源利用率的时间段设置的相对比较长,比如60-300秒。
S520:计算每一类资源的资源利用率的测量分数,资源利用率测量分数计算方法与S420和S430中描述的方法一样。
S530:计算每一个物理机的负载均衡权重值(LBW),计算方法如下所示:
LB w ( p m ) = v P M U _ S c o r e ( p m )
其中,PMU_Score(pm)为一个物理机上的总资源利用率分数,计算方法与S430中一样,v是一个预先定义的参数,比如100。
S540:收到一个客户端请求时,根据驻载了能够处理此类请求的虚拟机的物理机负载均衡权重值的比例关系,选择目标虚拟机。
S550:转发客户端请求到选定的目标虚拟机。
同样值得注意的是,图5方法流图中的每一个步骤并不需要按照严格的时序来执行。此处描述的负载均衡过程可以与其它全局负载均衡指标结合使用,比如接近度等。因此选择迁移的目标物理机时,可以根据负载均衡权重值和一种或多种其它负载均衡指标来确定。c
上述的详细描述阐述了本发明涵盖的各种可能具体形式中的几种。其目的是帮助理解本发明可能存在的具体形式,而不是对本发明的定义做出限制。
本发明中涉及的各种具体实施例可以由不同的硬件、固件和软件组合而实现。其中的软件部分最好由应用程序实现,并包含在一个应用存储单元或其它计算机可读的媒体中。而此应用程序可以被上传到一个包含合适体系架构的机器上并被执行。此机器最好符合一个包含下列硬件的计算机平台:一个或多个中央处理单元(CPUs),内存,输入输出接口。此计算机平台同时应该包含一个操作系统和微指令代码集。本发明中涉及的各类过程和方法可以由上述计算机平台及其上的应用程序所执行。

Claims (1)

1.一种虚拟机即时迁移方法,其特征在于包括以下步骤:
步骤一、接收一个辅助虚拟机迁移请求,该请求中至少包含一个关于合适负载水平的描述;
步骤二、判断当前待迁移虚拟机的负载水平;
步骤三、比较当前待迁移虚拟机的负载水平和合适负载水平;当待迁移虚拟机负载水平低于合适负载水平时,发起待迁移虚拟机的即时迁移;当待迁移虚拟机负载水平不低于合适负载水平时,降低当前待迁移虚拟机的负载水平,直到其低于合适负载水平,然后发起待迁移虚拟机的即时迁移。
CN201510711187.0A 2015-10-29 2015-10-29 一种虚拟机即时迁移方法 Pending CN105335234A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510711187.0A CN105335234A (zh) 2015-10-29 2015-10-29 一种虚拟机即时迁移方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510711187.0A CN105335234A (zh) 2015-10-29 2015-10-29 一种虚拟机即时迁移方法

Publications (1)

Publication Number Publication Date
CN105335234A true CN105335234A (zh) 2016-02-17

Family

ID=55285789

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510711187.0A Pending CN105335234A (zh) 2015-10-29 2015-10-29 一种虚拟机即时迁移方法

Country Status (1)

Country Link
CN (1) CN105335234A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107423114A (zh) * 2017-07-17 2017-12-01 中国科学院软件研究所 一种基于服务分类的虚拟机动态迁移方法
CN107566319A (zh) * 2016-06-30 2018-01-09 中央大学 虚拟机器即时转移方法
CN108124000A (zh) * 2016-11-29 2018-06-05 佳能株式会社 管理系统及控制方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681895A (zh) * 2011-03-11 2012-09-19 北京市国路安信息技术有限公司 一种动态自迁移云服务方法
CN102790793A (zh) * 2012-05-08 2012-11-21 北京邮电大学 一种面向云计算虚拟机迁移的决策方法及控制模块
US20130145364A1 (en) * 2011-12-01 2013-06-06 Tunghai University Method of dynamic resource allocation for a virtual machine cluster
CN104199736A (zh) * 2014-06-30 2014-12-10 浙江大学苏州工业技术研究院 云环境下的数据中心节能方法
CN104484222A (zh) * 2014-12-31 2015-04-01 北京天云融创软件技术有限公司 一种基于混合遗传算法的虚拟机调度方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681895A (zh) * 2011-03-11 2012-09-19 北京市国路安信息技术有限公司 一种动态自迁移云服务方法
US20130145364A1 (en) * 2011-12-01 2013-06-06 Tunghai University Method of dynamic resource allocation for a virtual machine cluster
CN102790793A (zh) * 2012-05-08 2012-11-21 北京邮电大学 一种面向云计算虚拟机迁移的决策方法及控制模块
CN104199736A (zh) * 2014-06-30 2014-12-10 浙江大学苏州工业技术研究院 云环境下的数据中心节能方法
CN104484222A (zh) * 2014-12-31 2015-04-01 北京天云融创软件技术有限公司 一种基于混合遗传算法的虚拟机调度方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107566319A (zh) * 2016-06-30 2018-01-09 中央大学 虚拟机器即时转移方法
CN107566319B (zh) * 2016-06-30 2021-01-26 中央大学 虚拟机器即时转移方法
CN108124000A (zh) * 2016-11-29 2018-06-05 佳能株式会社 管理系统及控制方法
CN107423114A (zh) * 2017-07-17 2017-12-01 中国科学院软件研究所 一种基于服务分类的虚拟机动态迁移方法
CN107423114B (zh) * 2017-07-17 2020-12-22 中国科学院软件研究所 一种基于服务分类的虚拟机动态迁移方法

Similar Documents

Publication Publication Date Title
US9703585B2 (en) Method for live migration of virtual machines
US10613883B2 (en) Managing virtual machine migration
US11252220B2 (en) Distributed code execution involving a serverless computing infrastructure
EP3252608B1 (en) Node system, server device, scaling control method, and program
CN107003887B (zh) Cpu超载设置和云计算工作负荷调度机构
US8694638B2 (en) Selecting a host from a host cluster to run a virtual machine
US8370473B2 (en) Live multi-hop VM remote-migration over long distance
EP3073373B1 (en) Method for interruption affinity binding of virtual network interface card, and computer device
He et al. Performance evaluation of live virtual machine migration in SDN-enabled cloud data centers
US20090132840A1 (en) Cross-layer power management in a multi-layer system
EP2251814A2 (en) License management system and license management method
US20160156568A1 (en) Computer system and computer resource allocation management method
Gupta et al. Power and resource-aware virtual machine placement for IaaS cloud
CN106681839B (zh) 弹性计算动态分配方法
CN103810015A (zh) 虚拟机创建方法和设备
KR20200080458A (ko) 클라우드 멀티-클러스터 장치
CN105335234A (zh) 一种虚拟机即时迁移方法
Tziritas et al. Online live VM migration algorithms to minimize total migration time and downtime
KR20150007698A (ko) 가상 데스크탑 서비스를 위한 부하 분산 시스템
GB2507816A (en) Calculating timeout for remote task execution from network delays and processing duration on local application/hardware replica
Shelar et al. Autonomic and energy-aware resource allocation for efficient management of cloud data centre
US20200065126A1 (en) Resource optimization for virtualization environments
Liyanage et al. Virtual machine migration strategy in cloud computing
US11561815B1 (en) Power aware load placement
JP5758358B2 (ja) 仮想マシンシステム及びその高速ライブマイグレーション方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160217