虚拟机运行方法和装置的制造方法
【技术领域】
[0001]本发明涉及虚拟机技术领域,特别是涉及一种虚拟机运行方法和装置。
【背景技术】
[0002]随着云计算技术领域的高速发展,越来越多的公司开发了自己公司的云平台。然而作为云平台中最基础的IaaS(Infrastructure as a Service,基础设施即服务)层中虚拟机的高可靠运行是影响云平台的首要因素,当运行有虚拟机的服务器出现宕机时,则虚拟机的运行也会中断,虚拟机的可靠性较低,这导致依赖于虚拟机构建的云平台受到影响。
【发明内容】
[0003]基于此,有必要针对虚拟机的可靠性较低的问题,提供一种虚拟机运行方法和装置。
[0004]—种虚拟机运行方法,所述方法包括:
[0005]定期收集虚拟机服务器的负载信息;
[0006]当监测到所述虚拟机服务器发生异常时,根据所述虚拟机服务器的所述负载信息确定所述虚拟机服务器所运行的虚拟机;
[0007]向所述备用服务器发送启动所述虚拟机的启动指令,使所述备用服务器根据所述启动指令,从所述虚拟机服务器和所述备用服务器各自划分出的部分磁盘构成的分布式文件系统中获取所述虚拟机的启动文件和增量文件,以根据所述启动文件启动所述虚拟机,并根据所述增量文件恢复运行状态。
[0008]在其中一个实施例中,所述方法还包括:
[0009]所述虚拟机服务器将所述虚拟机运行过程中所产生的增量文件存储到所述虚拟机服务器的虚拟机磁盘,并将存储的增量文件同步到所述分布式文件系统。
[0010]在其中一个实施例中,所述当监测到所述虚拟机服务器发生异常时,根据所述虚拟机服务器的所述负载信息确定所述虚拟机服务器所运行的虚拟机,包括:
[0011 ]接收监控服务器在监控到虚拟机服务器异常时触发的异常信息;
[0012]获取所述异常信息中虚拟机服务器的标识;
[0013]在所述负载信息中提取与所述虚拟机服务器的标识对应的虚拟机标识。
[0014]在其中一个实施例中,所述方法还包括:
[0015]定期收集备用服务器的负载信息;
[0016]在确定所述虚拟机服务器所运行的虚拟机后,根据收集的备用服务器的负载信息选定备用服务器;
[0017]向选定的备用服务器发送启动所述虚拟机的启动指令。
[0018]在其中一个实施例中,所述方法还包括:
[0019]所述备用服务器或者所述虚拟机服务器在启动所述虚拟机时,链接到所述分布式文件系统中的启动文件开始启动所述虚拟机,并将所述启动文件同步到本地的虚拟机磁盘后重新链接到本地的启动文件继续启动所述虚拟机。
[0020]上述虚拟机运行方法,当监测到虚拟机服务器发生异常时,根据收集到虚拟机服务器的负载信息确定虚拟机服务器所运行的虚拟机,并向备用服务器发送启动虚拟机的启动指令,备用服务器根据启动指令从分布式文件系统中获取虚拟机的启动文件和增量文件,以在备用服务器上启动并恢复虚拟机的运行。这样,在虚拟机服务器出现宕机时,运行在虚拟机服务器上的虚拟机会的运行会中断,虚拟机服务器对应的备用服务器会将在虚拟机服务器上运行中断的虚拟机启动,使虚拟机在备用服务器上继续运行,避免了由于虚拟机运行中断而影响依赖于虚拟机的云平台,提高了虚拟机的可靠性。
[0021]—种虚拟机运行装置,所述装置包括:
[0022]负载信息收集模块,用于定期收集虚拟机服务器的负载信息;
[0023]虚拟机确定模块,用于当监测到所述虚拟机服务器发生异常时,根据所述虚拟机服务器的所述负载信息确定所述虚拟机服务器所运行的虚拟机;
[0024]虚拟机启动模块,用于向所述备用服务器发送启动所述虚拟机的启动指令,使所述备用服务器根据所述启动指令,从所述虚拟机服务器和所述备用服务器各自划分出的部分磁盘构成的分布式文件系统中获取所述虚拟机的启动文件和增量文件,以根据所述启动文件启动所述虚拟机,并根据所述增量文件恢复运行状态。
[0025]在其中一个实施例中,所述虚拟机服务器将所述虚拟机运行过程中所产生的增量文件存储到所述虚拟机服务器的虚拟机磁盘,并将存储的增量文件同步到所述分布式文件系统。
[0026]在其中一个实施例中,所述虚拟机确定模块包括:
[0027]异常信息接收模块,用于接收监控服务器在监控到虚拟机服务器异常时触发的异常信息;
[0028]服务器标识获取模块,用于获取所述异常信息中虚拟机服务器的标识;
[0029]虚拟机标识提取模块,用于在所述负载信息中提取与所述虚拟机服务器的标识对应的虚拟机标识。
[0030]在其中一个实施例中,所述负载信息收集模块还用于定期收集备用服务器的负载信息;
[0031]所述虚拟机启动模块还用于在确定所述虚拟机服务器所运行的虚拟机后,根据收集的备用服务器的负载信息选定备用服务器;向选定的备用服务器发送启动所述虚拟机的启动指令。
[0032]在其中一个实施例中,所述备用服务器或者所述虚拟机服务器在启动所述虚拟机时,链接到所述分布式文件系统中的启动文件开始启动所述虚拟机,并将所述启动文件同步到本地的虚拟机磁盘后重新链接到本地的启动文件继续启动所述虚拟机。
[0033]上述虚拟机运行装置,当监测到虚拟机服务器发生异常时,根据收集到虚拟机服务器的负载信息确定虚拟机服务器所运行的虚拟机,并向备用服务器发送启动虚拟机的启动指令,备用服务器根据启动指令从分布式文件系统中获取虚拟机的启动文件和增量文件,以在备用服务器上启动并恢复虚拟机的运行。这样,在虚拟机服务器出现宕机时,运行在虚拟机服务器上的虚拟机会的运行会中断,虚拟机服务器对应的备用服务器会将在虚拟机服务器上运行中断的虚拟机启动,使虚拟机在备用服务器上继续运行,避免了由于虚拟机运行中断而影响依赖于虚拟机的云平台,提高了虚拟机的可靠性。
【附图说明】
[0034]图1为一个实施例中虚拟机运行系统的应用环境图;
[0035]图2为一个实施例中虚拟机运行方法的流程示意图;
[0036]图3为一个实施例中选定备用服务器的步骤的流程示意图;
[0037]图4为一个实施例中虚拟机运行装置的结构框图;
[0038]图5为一个实施例中虚拟机确定模块的结构框图。
【具体实施方式】
[0039]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0040]图1是虚拟机运行系统的应用环境图。虚拟机运行系统包括管理控制平台102、监测服务器104、虚拟机服务器106和备用服务器集群110。其中监测服务器102和虚拟机服务器104均可以是一台服务器,也可以是服务器集群。管理控制平台102、监测服务器104、虚拟机服务器106和备用服务器集群110之间通过网络相连接。备用服务器集群110包括至少一个备用服务器,还包括管理服务器112。当备用服务器集群110中只有一台备用服务器时,则备用服务器同时也是管理服务器。
[0041 ]如图2所示,在一个实施例中,提供一种虚拟机运行方法,本实施例以该方法应用图1中备用服务器集群110中的管理服务器112上为例进行说明,该方法具体包括以下步骤:
[0042]步骤202,定期收集虚拟机服务器的负载信息。
[0043]具体地,管理服务器112可根据预设间隔时间来收集虚拟机服务器106的负载信息。虚拟机服务器106的负载信息是用于表示虚拟机服务器106中所运行任务的情况。虚拟机服务器106的负载信息具体可以包括虚拟机服务器106的标识、虚拟机服务器106的资源利用率、虚拟机服务器106上所运行虚拟机的个数以及每个虚拟机服务器的标识。
[0044]在一个实施例中,在虚拟机服务器106所在网段中设置备用服务器集群110,在备用服务器集群110中设置奇数个备用服务器,奇数大于等于I。备用服务器集群110中的备用服务器的数量与网段中虚拟机服务器的数量相匹配,当网段虚拟机服务器的数量较多时,则设置多个备用服务器,当网段虚拟机服务器的数量较少时,则设置少量备用服务器。备用服务器之间通过由备用服务器发起投票的方式选取管理服务器,每次统计得票数最多的备用服