一种虚拟机即时迁移方法

文档序号:9579136阅读:371来源:国知局
一种虚拟机即时迁移方法
【技术领域】
[0001] 本发明涉及一种使用物理机资源建立虚拟机过程中的负载均衡方法。
【背景技术】
[0002] 虚拟机是对计算机系统的一种软件实现方式,能够以与物理机相似的方式执行计 算机程序。虚拟化技术允许不同的虚拟机共享底层的物理硬件资源,每个虚拟机上都运行 自己的一个客体操作系统。虚拟化的进程通常有一个管理程序执行,允许多个操作系统并 行运行在一个宿主系统上。管理程序使用一个虚拟操作平台来展现客体操作系统,并对客 体操作系统的执行进行监控。此外,管理程序为每一个客体操作系统定义硬件资源的分配, 比如中央处理单元(CPU)能力、内存、网络带宽等。
[0003] 对服务器、应用分配控制器、负载均衡器等计算和网络资源的虚拟化,可以提高服 务提供方数据中心的性能。此外,对这些资源进行虚拟化还能减少服务提供方的开销。比 如,大多数在数据中心执行的应用在绝大部分时间都只占用5%至10%的物理CPU资源。然 而,如果将这些应用作为虚拟机部署在一台物理机器上,资源的利用率可以达到80%。同 时,不会影响部署了这些应用的宿主物理机本身的隔离性和独立性。因此,在过去的几年 中,数据中心对虚拟化技术的采用发展十分迅速,预计很快绝大部分服务都将以虚拟机的 形式部署。
[0004] 通常,一台单独的物理机资源不足够支持多个虚拟机。大多数情况下,多个虚拟 机的平均资源消耗会超过一台物理机的资源供给能力。因此,通常将虚拟机分布到多台物 理机器上,使得所有虚拟机的总平均资源消耗不会超过可配置的物理机资源的阈值(比如 80% )。但是,虚拟机的资源消耗是动态变化的,一台物理机有可能因其上运行的虚拟机实 例的峰值资源消耗而导致过载。因此,需要平衡虚拟机对其宿主物理机资源的使用,这类任 务即常说的负载均衡。
[0005] 虚拟机迀移过程中,先增量式地将待迀移虚拟机的CPU状态和内存镜像,包括寄 存器内容,从源物理机拷贝到目标物理机。当内存镜像拷贝完毕后,挂起源物理机上虚拟机 的执行,然后在目标物理机上恢复虚拟机的执行。在目标物理机上的虚拟机执行将从其停 止时的指令之后的一条指令开始恢复执行。
[0006] 需要注意的是,考虑到虚拟机在迀移过程中,仍然在源物理机上运行,那么只有在 需要被拷贝的内存镜像变化十分微小时,才将虚拟机的执行切换到目标物理机上。这个内 存镜像变化的大小通常是一个预定义的且可配置的参数值(比如,内存页数目)。
[0007] 虚拟机迀移还需要源物理机到目标物理机间的迀移网络连接。通常,源物理机和 目标物理机处于同一IP子网内。因此,当虚拟机迀移到目标物理机上时,虚拟机会广播地 址解析协议消息,指明虚拟机的IP地址移动到一个新的物理位置。而虚拟机文件系统驻载 在同一个存储上,无需进行大量的持久化数据同步,因此虚拟机的迀移可以在很短的关机 时间内完成。
[0008] 但是,传统的虚拟机即时迀移过程存在效率问题,此迀移过程同时限制了虚拟机 和物理机的性能。具体而言,传统的虚拟机迀移过程具有以下缺点。首先,迀移过程中虚拟 机服务质量大幅下降,因为增量式的内存拷贝占用大量的CPU和网络资源。这种服务质量 下降甚至会导致在物理机切换时间点的短暂服务失效。尽快这种服务失效时间很短,一般 在一秒以内,对于任务关键型的应用来说是不可容忍的。其次,服务性能下降的时间可能会 很长,对于任务关键型的应用来说同样不可容忍。
[0009] 此外,传统的虚拟机即时迀移过程在拷贝虚拟机内存镜像时消耗大量CPU和网络 资源,进一步加剧了物理机的资源紧张状态。而从一台物理机向另一台物理机拷贝内存镜 像的过程可能难以达到一个交汇点。当源物理机上虚拟机内存持续变化,使得切换所需满 足的内存镜像变化阈值始终不能得到满足,使得迀移过程一直占用源物理机资源,导致源 物理机性能大幅下降。这种情况还可能导致迀移过程的失败,因为转移虚拟机内存的过程 过长。
[0010] 虚拟机迀移的主要目的是提高数据中心的性能和资源使用效率,而传统的虚拟机 即时迀移方法无法保证这些目标。事实上,传统虚拟机即时迀移过程可能牺牲数据中心的 性能,导致低效率的数据中心运行。因此,传统的虚拟机迀移过程难以有效地进行负载均 衡。

【发明内容】

[0011] 有鉴于现有技术的上述缺陷,本发明提供了一种解决方案,克服基于传统虚拟机 迀移方法的负载均衡解决方案中的缺点。
[0012] 为实现上述目的,本发明提供了一种虚拟机即时迀移方法,包括以下步骤:
[0013] 步骤一、接收一个辅助虚拟机迀移请求,该请求中至少包含一个关于合适负载水 平的描述;
[0014] 步骤二、判断当前待迀移虚拟机的负载水平;
[0015] 步骤三、比较当前待迀移虚拟机的负载水平和合适负载水平;当待迀移虚拟机负 载水平低于合适负载水平时,发起待迀移虚拟机的即时迀移;当待迀移虚拟机负载水平不 低于合适负载水平时,降低当前待迀移虚拟机的负载水平,直到其低于合适负载水平,然后 发起待迀移虚拟机的即时迀移。
[0016] 本发明的有益效果是:本发明能够提高数据中心的性能和资源使用效率。
【附图说明】
[0017] 图1是传统虚拟机迀移过程的概要图;
[0018] 图2是描述了一个具体实施方案中的数据中心系统图,用以说明负载均衡器辅助 虚拟机即时迀移的过程;
[0019] 图3是在不同具体实施方案中负载均衡器辅助虚拟机即时迀移的流程框图;
[0020] 图4和图5的流程框图描述了一些具体实施方案中,驻载了多个虚拟机的多个物 理机上的负载均衡技术。
【具体实施方式】
[0021] 下面结合附图和实施例对本发明作进一步说明:
[0022] 如图1所示,以往的解决方案是由一个虚拟机迀移过程来执行负载均衡任务。这 种虚拟机迀移过程也被称为"虚拟机即时迀移",因为虚拟机在其运行过程中被转移到不同 宿主物理机上。比如,物理机100上运行虚拟机111,112和113。当迀移过程监测到物理 机100处于忙碌状态时(比如资源占用率超过80% ),虚拟机111-113中的一个或多个被 迀移到物理机120上,从而支持更多的虚拟机实例。如图1所示,虚拟机111和113被迀移 到物理机120上。虚拟机的迀移过程可能由用户触发,也可能由一个监控数据中心运行性 能的虚拟机控制器140触发。而迀移过程则由虚拟机控制器140进行协调,由迀移的源物 理机和目标物理机来具体完成。虚拟机迀移过程通常要求源物理机和目标物理机共享同一 个存储130,其上驻载着虚拟机文件系统。虚拟机控制器140向物理机100下达指令,将虚 拟机111迀移到物理机120上。
[0023] 虚拟机迀移过程中,先增量式地将待迀移虚拟机(比如虚拟机111)的CPU状态和 内存镜像,包括寄存器内容,从源物理机拷贝到目标物理机。当内存镜像拷贝完毕后,挂起 源物理机上虚拟机的执行,然后在目标物理机上恢复虚拟机的执行。在目标物理机120上 的虚拟机执行将从其停止时的指令之后的一条指令开始恢复执行。
[0024] 需要注意的是,考虑到虚拟机111在迀移过程中,仍然在源物理机上运行,那么 只有在需要被拷贝的内存镜像变化十分微小时,才将虚拟机的执行切换到目标物理机120 上。这个内存镜像变化的大小通常是一个预定义的且可配置的参数值(比如,内存页数 目)。
[0025] 虚拟机迀移还需要源物理机到目标物理机间的迀移网络连接。通常,源物理机和 目标物理机处于同一IP子网内。因此,当虚拟机迀移到目标物理机120上时,虚拟机会广 播地址解析协议消息,指明虚拟机的IP地址移动到一个新的物理位置。而虚拟机文件系统 驻载在同一个存储130上,无需进行大量的持久化数据同步,因此虚拟机的迀移可以在很 短的关机时间内完成。
[0026] 但是,传统的虚拟机即时迀移过程存在效率问题,此迀移过程同时限制了虚拟机 和物理机的性能。具体而言,传统的虚拟机迀移过程具有以下缺点。首先,迀移过程中虚拟 机服务质量大幅下降,因为增量式的内存拷贝占用大量的CPU和网络资源。这种服务质量 下降甚至会导致在物理机切换时间点的短暂服务失效。尽快这种服务失效时间很短,一般 在一秒以内,对于任务关键型的应用来说是不可容忍的。其次,服务性能下降的时间可能会 很长,对于任务关键型的应用来说同样不可容忍。
[0027] 此外,传统的虚拟机即时迀移过程在拷贝虚拟机内存镜像时消耗大量CPU和网络 资源,进一步加剧了物理
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1