CN111506389A - 一种虚拟机启动方法及装置 - Google Patents

一种虚拟机启动方法及装置 Download PDF

Info

Publication number
CN111506389A
CN111506389A CN202010220696.4A CN202010220696A CN111506389A CN 111506389 A CN111506389 A CN 111506389A CN 202010220696 A CN202010220696 A CN 202010220696A CN 111506389 A CN111506389 A CN 111506389A
Authority
CN
China
Prior art keywords
virtual machine
virtual
template
starting
virtual machines
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
CN202010220696.4A
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.)
New H3C Big Data Technologies Co Ltd
Original Assignee
New H3C Big Data Technologies 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 New H3C Big Data Technologies Co Ltd filed Critical New H3C Big Data Technologies Co Ltd
Priority to CN202010220696.4A priority Critical patent/CN111506389A/zh
Publication of CN111506389A publication Critical patent/CN111506389A/zh
Pending legal-status Critical Current

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
    • 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/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/45575Starting, stopping, suspending or resuming virtual machine instances

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)

Abstract

本申请涉及虚拟机技术领域,特别涉及一种虚拟机启动方法及装置,该方法包括:创建模板虚拟机,并在上述模板虚拟机内设置用于修改虚拟机操作系配置文件的工具;启动上述模板虚拟机,并获取上述模板虚拟机的运行内存文件,以及将上述模板虚拟机的运行内存文件保存至指定位置;关闭上述模板虚拟机,并在监听到虚拟机批量启动的触发事件时,通过链接克隆的方式创建预设数量的虚拟机;基于上述运行内存文件,以虚拟机内存还原的方式,启动上述预设数量的虚拟机,并通过各虚拟机中的用于修改虚拟机操作系配置文件的工具配置各虚拟机的配置信息。

Description

一种虚拟机启动方法及装置
技术领域
本申请涉及虚拟机技术领域,特别涉及一种虚拟机启动方法及装置。
背景技术
基于内核的虚拟机(Kernel-based Virtual Machine,KVM)虚拟化是基于linux的开源技术。该技术改变了传统意义上一个操作系统与一套物理硬件之间的紧耦合关系,它可以实现在物理服务器上软件模拟多个CPU、内存、磁盘、BIOS、显卡等设备,为操作系统提供多套“真实”的服务器环境进行部署。每个封装的操作系统软件环境我们称为虚拟机。通过KVM虚拟化技术帮忙企业提高了物理服务器的硬件资源利用率,减少了硬件资产的投入。同时虚拟机的软件特性可以灵活增删资源提升了业务应用性和扩展性。虚拟化技术为提高资源利用率将多个虚拟机集中在一台服务器或者将虚拟机的磁盘文件集中在一台共享存储设备中,但是相较于传统服务器,在一些特定的应用场景中会出现启动风暴等问题。
比如当虚拟化技术应用学校的远程桌面环境,学校利用虚拟化技术可以快速部署桌面操作系统用来试验教学,但是学校的教学需求需要在每节课快速启动虚拟机,下课快速关机。这样大面积虚拟机并发操作对于主机的CPU和存储的磁盘IO性能要求极高,当出现瞬间的资源瓶颈,会导致启动失败或者等待数小时后系统才能开机的情况,这使得该场景下的可用性很差,我们称该现象为启动风暴。
目前,为了解决虚拟机启动风暴的问题,业界大部分采用的做法是使用高性能的固态硬盘SSD来替换HDD。一般常见企业级的SSD IOPS在15万左右,以HDD SAS为例IOPS在100~150左右,通过加大投入成本升级固态硬盘能直接提升IO性能。这种方案通过提升存储的IO性能,来缓解启动风暴中存储IO风暴。或者,将虚拟机的系统盘全量放在内存介质中,将内存作为系统盘的存储介质,虚拟机的存储读写转换为对内存的读写,在不增加磁盘投入的同时提高了虚拟机的磁盘IO。
但是,上述两种方式均无法解决虚拟机启动风暴时的CPU风暴,且由于SSD和内存的成本较高,仅适合某些特定的,一定规模的场景。
发明内容
本申请实施例提供一种虚拟机启动方法及装置,用以解决现有技术中存在的批量启动虚拟机而产生启动风暴的问题。
本申请实施例提供的具体技术方案如下:
第一方面,本申请提供了一种虚拟机启动方法,所述方法包括:
创建模板虚拟机,并在所述模板虚拟机内设置用于修改虚拟机操作系配置文件的工具;
启动所述模板虚拟机,并获取所述模板虚拟机的运行内存文件,以及将所述模板虚拟机的运行内存文件保存至指定位置;
关闭所述模板虚拟机,并在监听到虚拟机批量启动的触发事件时,通过链接克隆的方式创建预设数量的虚拟机;
基于所述运行内存文件,以虚拟机内存还原的方式,启动所述预设数量的虚拟机,并通过各虚拟机中的用于修改虚拟机操作系配置文件的工具配置各虚拟机的配置信息。
可选地,若所述模板虚拟机和所述预设数量的虚拟机处于单主机环境,则将所述模板虚拟机的运行内存文件存储在主机本地;
若所述模板虚拟机和所述预设数量的虚拟机处于多主机环境,则将所述模板虚拟机的运行内存文件存储至多主机能够共享访问的共享存储中。
可选地,所述通过链接克隆的方式创建预设数量的虚拟机的步骤包括:
以所述模板虚拟机的虚拟机文件作为镜像虚拟机文件,通过链接克隆的方式创建预设数量的虚拟机,其中,所述预设数量的虚拟机中各虚拟机配置文件中的系统引导盘指向所述镜像虚拟机文件。
可选地,所述预设数量的虚拟机的磁盘不具备还原性;
所述通过各虚拟机中的用于修改虚拟机操作系配置文件的工具配置各虚拟机的配置信息的步骤包括:
在启动一个虚拟机时,判断该一个虚拟机的配置文件是否为已修改状态,其中,该一个虚拟机为所述预设数量的虚拟机中的任一虚拟机;
若是,则根据已修改状态的配置文件启动该一个虚拟机;
若否,则基于虚拟机操作系统命名规则,修改虚拟机虚拟机名称和/或物理地址,并将修改后配置文件标识为已修改,以及将修改后的配置文件保存在本地。
可选地,所述预设数量的虚拟机的磁盘具备还原性;
所述通过各虚拟机中的用于修改虚拟机操作系配置文件的工具配置各虚拟机的配置信息的步骤包括:
在启动一个虚拟机时,基于虚拟机操作系统命名规则,修改虚拟机虚拟机名称和/或物理地址,并启动该一个虚拟机,其中,该一个虚拟机为所述预设数量的虚拟机中的任一虚拟机。
第二方面,本申请提供了一种虚拟机启动装置,所述装置包括:
第一创建单元,用于创建模板虚拟机,并在所述模板虚拟机内设置用于修改虚拟机操作系配置文件的工具;
第一启动单元,用于启动所述模板虚拟机,并获取所述模板虚拟机的运行内存文件,以及将所述模板虚拟机的运行内存文件保存至指定位置;
第二创建单元,用于关闭所述模板虚拟机,并在监听到虚拟机批量启动的触发事件时,通过链接克隆的方式创建预设数量的虚拟机;
第二启动单元,用于基于所述运行内存文件,以虚拟机内存还原的方式,启动所述预设数量的虚拟机,并通过各虚拟机中的用于修改虚拟机操作系配置文件的工具配置各虚拟机的配置信息。
可选地,若所述模板虚拟机和所述预设数量的虚拟机处于单主机环境,则将所述模板虚拟机的运行内存文件存储在主机本地;
若所述模板虚拟机和所述预设数量的虚拟机处于多主机环境,则将所述模板虚拟机的运行内存文件存储至多主机能够共享访问的共享存储中。
可选地,所述通过链接克隆的方式创建预设数量的虚拟机时,所述第二创建单元具体用于:
以所述模板虚拟机的虚拟机文件作为镜像虚拟机文件,通过链接克隆的方式创建预设数量的虚拟机,其中,所述预设数量的虚拟机中各虚拟机配置文件中的系统引导盘指向所述镜像虚拟机文件。
可选地,所述预设数量的虚拟机的磁盘不具备还原性;
所述通过各虚拟机中的用于修改虚拟机操作系配置文件的工具配置各虚拟机的配置信息时,所述第二启动单元具体用于:
在启动一个虚拟机时,判断该一个虚拟机的配置文件是否为已修改状态,其中,该一个虚拟机为所述预设数量的虚拟机中的任一虚拟机;
若是,则根据已修改状态的配置文件启动该一个虚拟机;
若否,则基于虚拟机操作系统命名规则,修改虚拟机虚拟机名称和/或物理地址,并将修改后配置文件标识为已修改,以及将修改后的配置文件保存在本地。
可选地,所述预设数量的虚拟机的磁盘具备还原性;
所述通过各虚拟机中的用于修改虚拟机操作系配置文件的工具配置各虚拟机的配置信息时,所述第二启动单元具体用于:
在启动一个虚拟机时,基于虚拟机操作系统命名规则,修改虚拟机虚拟机名称和/或物理地址,并启动该一个虚拟机,其中,该一个虚拟机为所述预设数量的虚拟机中的任一虚拟机。
第三方面,本申请提供了一种计算设备,该计算设备包括:
存储器,用于存储程序指令;
处理器,用于调用上述存储器中存储的程序指令,按照获得的程序执行上述第一方面中任一项方法。
第四方面,本申请提供一种计算机存储介质,该计算机可读存储介质存储有计算机可执行指令,上述计算机可执行指令用于使上述计算机执行上述第一方面中任一项方法。
本申请有益效果如下:
综上所述,本申请提供了一种虚拟机启动方法,该方法包括:创建模板虚拟机,并在上述模板虚拟机内设置用于修改虚拟机操作系配置文件的工具;启动上述模板虚拟机,并获取上述模板虚拟机的运行内存文件,以及将上述模板虚拟机的运行内存文件保存至指定位置;关闭上述模板虚拟机,并在监听到虚拟机批量启动的触发事件时,通过链接克隆的方式创建预设数量的虚拟机;基于上述运行内存文件,以虚拟机内存还原的方式,启动上述预设数量的虚拟机,并通过各虚拟机中的用于修改虚拟机操作系配置文件的工具配置各虚拟机的配置信息。
采用本申请提供的虚拟机启动方法,通过链接克隆的方式创建虚拟机,并通过内存还原的方式批量启动虚拟机,省去了虚拟机开机过程中引导磁盘分区的过程,对CPU和磁盘IO的消耗大大减少,实现了无需通过SSD和/或内存的方式批量启动虚拟机,且避免了启动风暴的CPU风暴。
附图说明
图1为本申请实施例提供的一种虚拟机启动方法的流程示意图;
图2为本申请实施例提供的批量启动虚拟机的逻辑示意图;
图3为本申请实施例提供的一种虚拟机启动装置的结构示意图;
图4为本申请实施例提供的另一种虚拟机启动装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先,本申请实施例中术语“和”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
当本申请提及“第一”、“第二”、“第三”或者“第四”等序数词时,除非根据上下文其确实表达顺序之意,否则应当理解为仅仅是起区分之用。
下面将通过具体实施例对本申请的方案进行详细描述,当然,本申请并不限于以下实施例。
示例性的,参阅图1所示,本申请实施例提供了一种虚拟机启动方法,该虚拟机启动方法的详细流程如下:
步骤100:创建模板虚拟机,并在上述模板虚拟机内设置用于修改虚拟机操作系配置文件的工具。
本申请实施例应用于通过统一模板部署虚拟机的业务环境,即通过预设模版创建模板虚拟机,这样,该模板虚拟机运行时的内存文件也适用于使用该预设模板创建的其它虚拟机。
具体的,本申请实施例中,在执行步骤100时,一种较佳实施方式为,创建一台模板虚拟机作为模板镜像,并命名为template,为该模板虚拟机配置虚拟串口,虚拟化平台与虚拟机通过虚拟机的虚拟串口实现相互通信,通过在虚拟机的操作系统内安装agent代理的方式来完成虚拟化平台对虚拟机操作系统内部的配置文件的修改等。
进一步地,本申请实施例中,虚拟机的操作系统中安装的agent代理设置有一个配置文件状态标识,具体的,若该配置文件状态标识为0,则说明未通过agent代理修改配置文件,若该配置文件状态标识为1,则说明已经通过agent代理修改后配置文件。
其中,在采用agent代理修改配置文件时,主要是修改虚拟机操作系统名称,以及虚拟机的MAC地址,以避免链接克隆的虚拟机与其他虚拟机产生配置冲突等的问题。
步骤110:启动上述模板虚拟机,并获取上述模板虚拟机的运行内存文件,以及将上述模板虚拟机的运行内存文件保存至指定位置。
实际应用中,本申请实施例可能应用于单主机环境,即只在一个主机上部署多个虚拟机(模板虚拟机和其它预设数量的虚拟机),也可能应用于多主机环境,即多个主机组成集群,在该集群上部署多个虚拟机。
那么,若上述模板虚拟机和上述预设数量的虚拟机处于单主机环境,则将上述模板虚拟机的运行内存文件存储在主机本地;
若上述模板虚拟机和上述预设数量的虚拟机处于多主机环境,则将上述模板虚拟机的运行内存文件存储至多主机能够共享访问的共享存储中。
本申请实施例中,在启动上述模板虚拟机时,需要保存上述模板虚拟机正常运行时的相关文件(系统盘,运行内存文件等)。如,模板虚拟机正常运行时,会生成该模板虚拟机对应的运行内存,那么,就可以获取该运行内存,保存为该模板虚拟机的运行内存文件(如,保存为文件tempvm)。
步骤120:关闭上述模板虚拟机,并在监听到虚拟机批量启动的触发事件时,通过链接克隆的方式创建预设数量的虚拟机。
本申请实施例中,在确定模板虚拟机运行正常,且与模板虚拟机运行时的相关信息已完成存储之后,关闭该模板虚拟机。并监听虚拟机批量启动的触发事件,若确定触发虚拟机批量启动事件,则通过上述预设模板,采用链接克隆的方式。
具体的,上述通过链接克隆的方式创建预设数量的虚拟机的步骤包括:以上述模板虚拟机的虚拟机文件作为镜像虚拟机文件,通过链接克隆的方式创建预设数量的虚拟机,其中,上述预设数量的虚拟机中各虚拟机配置文件中的系统引导盘指向上述镜像虚拟机文件。
例如,批量创建预设数量的虚拟机,每个虚拟机的配置文件中,系统引导盘指向模板虚拟机的系统盘(如,指向template镜像)。
步骤130:基于上述运行内存文件,以虚拟机内存还原的方式,启动上述预设数量的虚拟机,并通过各虚拟机中的用于修改虚拟机操作系配置文件的工具配置各虚拟机的配置信息。
实际应用中,由于磁盘分为可还原性磁盘和不可还原性磁盘,那么,根据磁盘的属性不同,具体的批量启动虚拟机的方式也不同。
具体地,上述预设数量的虚拟机的磁盘不具备还原性,那么,上述通过各虚拟机中的用于修改虚拟机操作系配置文件的工具配置各虚拟机的配置信息的步骤包括:
在启动一个虚拟机时,判断该一个虚拟机的配置文件是否为已修改状态,其中,该一个虚拟机为上述预设数量的虚拟机中的任一虚拟机;若是,则根据已修改状态的配置文件启动该一个虚拟机;若否,则基于虚拟机操作系统命名规则,修改虚拟机虚拟机名称和/或物理地址,并将修改后配置文件标识为已修改,以及将修改后的配置文件保存在本地。
例如,例如,假设虚拟机的磁盘不具备还原性,那么,批量处理虚拟机开、关机的步骤可以如下:
1、虚拟机在关机状态下,映射到运行内存状态后,变成开机登陆状态;
2、操作系统内的agent代理判断配置文件状态标识为0时,通过虚拟串口查询虚拟化平台的数据库表,通过MAC和虚拟机名比对找到虚拟化平台对操作系统命名的规则,再通过agent下发修改操作系统名。修改完计算机名后修改配置文件状态标识为1。
3、由于磁盘不具备还原性,与模板镜像产生的差异化文件会被永久保存,此操作系统的配置文件的修改只需要进行一次。
4、虚拟机关机操作正常进行批量下电即可,关机操作不会大量读取系统磁盘所以没有风暴风险。
5、因为磁盘不具备还原性,虚拟机内操作的数据会被保存。再次批量启动虚拟机时,只需执行上述步骤1即可。无需再次进行配置文件的修改。
上述预设数量的虚拟机的磁盘具备还原性,那么,上述通过各虚拟机中的用于修改虚拟机操作系配置文件的工具配置各虚拟机的配置信息的步骤包括:在启动一个虚拟机时,基于虚拟机操作系统命名规则,修改虚拟机虚拟机名称和/或物理地址,并启动该一个虚拟机,其中,该一个虚拟机为上述预设数量的虚拟机中的任一虚拟机。
例如,假设虚拟机的磁盘具备还原性,那么,批量处理虚拟机开、关机的步骤可以如下:
1、虚拟机在关闭状态下映射到开机状态内存后变成开机登陆状态。
2、操作系统内的agent判断配置文件状态标识为0,并通过虚拟串口查询虚拟化平台的数据库表,通过mac和虚拟机名比对找到虚拟化平台对操作系统命名的规则,再通过agent下发修改操作系统名。
3、虚拟机关机操作正常进行批量下电即可,关机操作不会大量读取系统磁盘所以没有风暴风险。因为磁盘具备还原性,虚拟机内操作的数据不会保存。
4、虚拟机磁盘具备还原性,需要在重启后不保留磁盘数据恢复磁盘初始化状态。此处我们直接批量删除虚拟机的差异化文件,重新批量生产,并在配置文件中指向template模版镜像。
5、再次批量启动时,需执行上述步骤1、2、3、4。
下面,结合具体的应用场景对上述方法实施例进行进一步地描述。
示例性的,参阅图2所示,为本申请实施例中,预先创建并启动模板虚拟机,并将与模板虚拟机运行的相关文件作为镜像文件存储至本地或共享存储中,创建预设数量个虚拟机,并在启动该预设数量个虚拟机时,将该预设数量个虚拟机的运行相关文件指向该模板虚拟机的运行相关文件,如,虚拟机的系统盘指向模板虚拟机的系统盘,当然,需要配置各虚拟机的虚拟机名称和MAC地址,这样,就会与模板文件的系统盘产生差异文件,采用模板虚拟机的运行内存文件进行内存还原的方式进行该预设数量个虚拟机的批量启动。
基于上述实施例,参阅图3所示,本申请实施例提供的一种虚拟机启动装置,所述装置包括:
第一创建单元30,用于创建模板虚拟机,并在所述模板虚拟机内设置用于修改虚拟机操作系配置文件的工具;
第一启动单元31,用于启动所述模板虚拟机,并获取所述模板虚拟机的运行内存文件,以及将所述模板虚拟机的运行内存文件保存至指定位置;
第二创建单元32,用于关闭所述模板虚拟机,并在监听到虚拟机批量启动的触发事件时,通过链接克隆的方式创建预设数量的虚拟机;
第二启动单元33,用于基于所述运行内存文件,以虚拟机内存还原的方式,启动所述预设数量的虚拟机,并通过各虚拟机中的用于修改虚拟机操作系配置文件的工具配置各虚拟机的配置信息。
可选地,若所述模板虚拟机和所述预设数量的虚拟机处于单主机环境,则将所述模板虚拟机的运行内存文件存储在主机本地;
若所述模板虚拟机和所述预设数量的虚拟机处于多主机环境,则将所述模板虚拟机的运行内存文件存储至多主机能够共享访问的共享存储中。
可选地,所述通过链接克隆的方式创建预设数量的虚拟机时,第二创建单元32具体用于:
以所述模板虚拟机的虚拟机文件作为镜像虚拟机文件,通过链接克隆的方式创建预设数量的虚拟机,其中,所述预设数量的虚拟机中各虚拟机配置文件中的系统引导盘指向所述镜像虚拟机文件。
可选地,所述预设数量的虚拟机的磁盘不具备还原性;
所述通过各虚拟机中的用于修改虚拟机操作系配置文件的工具配置各虚拟机的配置信息时,第二启动单元33具体用于:
在启动一个虚拟机时,判断该一个虚拟机的配置文件是否为已修改状态,其中,该一个虚拟机为所述预设数量的虚拟机中的任一虚拟机;
若是,则根据已修改状态的配置文件启动该一个虚拟机;
若否,则基于虚拟机操作系统命名规则,修改虚拟机虚拟机名称和/或物理地址,并将修改后配置文件标识为已修改,以及将修改后的配置文件保存在本地。
可选地,所述预设数量的虚拟机的磁盘具备还原性;
所述通过各虚拟机中的用于修改虚拟机操作系配置文件的工具配置各虚拟机的配置信息时,第二启动单元33具体用于:
在启动一个虚拟机时,基于虚拟机操作系统命名规则,修改虚拟机虚拟机名称和/或物理地址,并启动该一个虚拟机,其中,该一个虚拟机为所述预设数量的虚拟机中的任一虚拟机。
进一步地,参阅图4所示,本申请还提供了一种虚拟器启动装置,该虚拟机启动装置包括存储器40和处理器41,其中,
存储器40,用于存储程序指令;
处理器41,用于调用上述存储器40中存储的程序指令,按照获得的程序执行上述任一方法实施例。
更进一步地,本申请提供一种计算机存储介质,该计算机可读存储介质存储有计算机可执行指令,上述计算机可执行指令用于使上述计算机执行上述任一方法实施例。
综上所述,本申请提供了一种虚拟机启动方法,该方法包括:创建模板虚拟机,并在上述模板虚拟机内设置用于修改虚拟机操作系配置文件的工具;启动上述模板虚拟机,并获取上述模板虚拟机的运行内存文件,以及将上述模板虚拟机的运行内存文件保存至指定位置;关闭上述模板虚拟机,并在监听到虚拟机批量启动的触发事件时,通过链接克隆的方式创建预设数量的虚拟机;基于上述运行内存文件,以虚拟机内存还原的方式,启动上述预设数量的虚拟机,并通过各虚拟机中的用于修改虚拟机操作系配置文件的工具配置各虚拟机的配置信息。
采用本申请提供的虚拟机启动方法,通过链接克隆的方式创建虚拟机,并通过内存还原的方式批量启动虚拟机,省去了虚拟机开机过程中引导磁盘分区的过程,对CPU和磁盘IO的消耗大大减少,实现了无需通过SSD和/或内存的方式批量启动虚拟机,且避免了启动风暴的CPU风暴。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种虚拟机启动方法,其特征在于,所述方法包括:
创建模板虚拟机,并在所述模板虚拟机内设置用于修改虚拟机操作系配置文件的工具;
启动所述模板虚拟机,并获取所述模板虚拟机的运行内存文件,以及将所述模板虚拟机的运行内存文件保存至指定位置;
关闭所述模板虚拟机,并在监听到虚拟机批量启动的触发事件时,通过链接克隆的方式创建预设数量的虚拟机;
基于所述运行内存文件,以虚拟机内存还原的方式,启动所述预设数量的虚拟机,并通过各虚拟机中的用于修改虚拟机操作系配置文件的工具配置各虚拟机的配置信息。
2.如权利要求1所述的方法,其特征在于,若所述模板虚拟机和所述预设数量的虚拟机处于单主机环境,则将所述模板虚拟机的运行内存文件存储在主机本地;
若所述模板虚拟机和所述预设数量的虚拟机处于多主机环境,则将所述模板虚拟机的运行内存文件存储至多主机能够共享访问的共享存储中。
3.如权利要求1所述的方法,其特征在于,所述通过链接克隆的方式创建预设数量的虚拟机的步骤包括:
以所述模板虚拟机的虚拟机文件作为镜像虚拟机文件,通过链接克隆的方式创建预设数量的虚拟机,其中,所述预设数量的虚拟机中各虚拟机配置文件中的系统引导盘指向所述镜像虚拟机文件。
4.如权利要求1所述的方法,其特征在于,所述预设数量的虚拟机的磁盘不具备还原性;
所述通过各虚拟机中的用于修改虚拟机操作系配置文件的工具配置各虚拟机的配置信息的步骤包括:
在启动一个虚拟机时,判断该一个虚拟机的配置文件是否为已修改状态,其中,该一个虚拟机为所述预设数量的虚拟机中的任一虚拟机;
若是,则根据已修改状态的配置文件启动该一个虚拟机;
若否,则基于虚拟机操作系统命名规则,修改虚拟机虚拟机名称和/或物理地址,并将修改后配置文件标识为已修改,以及将修改后的配置文件保存在本地。
5.如权利要求1所述的方法,其特征在于,所述预设数量的虚拟机的磁盘具备还原性;
所述通过各虚拟机中的用于修改虚拟机操作系配置文件的工具配置各虚拟机的配置信息的步骤包括:
在启动一个虚拟机时,基于虚拟机操作系统命名规则,修改虚拟机虚拟机名称和/或物理地址,并启动该一个虚拟机,其中,该一个虚拟机为所述预设数量的虚拟机中的任一虚拟机。
6.一种虚拟机启动装置,其特征在于,所述装置包括:
第一创建单元,用于创建模板虚拟机,并在所述模板虚拟机内设置用于修改虚拟机操作系配置文件的工具;
第一启动单元,用于启动所述模板虚拟机,并获取所述模板虚拟机的运行内存文件,以及将所述模板虚拟机的运行内存文件保存至指定位置;
第二创建单元,用于关闭所述模板虚拟机,并在监听到虚拟机批量启动的触发事件时,通过链接克隆的方式创建预设数量的虚拟机;
第二启动单元,用于基于所述运行内存文件,以虚拟机内存还原的方式,启动所述预设数量的虚拟机,并通过各虚拟机中的用于修改虚拟机操作系配置文件的工具配置各虚拟机的配置信息。
7.如权利要求6所述的装置,其特征在于,若所述模板虚拟机和所述预设数量的虚拟机处于单主机环境,则将所述模板虚拟机的运行内存文件存储在主机本地;
若所述模板虚拟机和所述预设数量的虚拟机处于多主机环境,则将所述模板虚拟机的运行内存文件存储至多主机能够共享访问的共享存储中。
8.如权利要求6所述的装置,其特征在于,所述通过链接克隆的方式创建预设数量的虚拟机时,所述第二创建单元具体用于:
以所述模板虚拟机的虚拟机文件作为镜像虚拟机文件,通过链接克隆的方式创建预设数量的虚拟机,其中,所述预设数量的虚拟机中各虚拟机配置文件中的系统引导盘指向所述镜像虚拟机文件。
9.如权利要求6所述的装置,其特征在于,所述预设数量的虚拟机的磁盘不具备还原性;
所述通过各虚拟机中的用于修改虚拟机操作系配置文件的工具配置各虚拟机的配置信息时,所述第二启动单元具体用于:
在启动一个虚拟机时,判断该一个虚拟机的配置文件是否为已修改状态,其中,该一个虚拟机为所述预设数量的虚拟机中的任一虚拟机;
若是,则根据已修改状态的配置文件启动该一个虚拟机;
若否,则基于虚拟机操作系统命名规则,修改虚拟机虚拟机名称和/或物理地址,并将修改后配置文件标识为已修改,以及将修改后的配置文件保存在本地。
10.如权利要求6所述的装置,其特征在于,所述预设数量的虚拟机的磁盘具备还原性;
所述通过各虚拟机中的用于修改虚拟机操作系配置文件的工具配置各虚拟机的配置信息时,所述第二启动单元具体用于:
在启动一个虚拟机时,基于虚拟机操作系统命名规则,修改虚拟机虚拟机名称和/或物理地址,并启动该一个虚拟机,其中,该一个虚拟机为所述预设数量的虚拟机中的任一虚拟机。
CN202010220696.4A 2020-03-25 2020-03-25 一种虚拟机启动方法及装置 Pending CN111506389A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010220696.4A CN111506389A (zh) 2020-03-25 2020-03-25 一种虚拟机启动方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010220696.4A CN111506389A (zh) 2020-03-25 2020-03-25 一种虚拟机启动方法及装置

Publications (1)

Publication Number Publication Date
CN111506389A true CN111506389A (zh) 2020-08-07

Family

ID=71869015

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010220696.4A Pending CN111506389A (zh) 2020-03-25 2020-03-25 一种虚拟机启动方法及装置

Country Status (1)

Country Link
CN (1) CN111506389A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113886008A (zh) * 2021-09-19 2022-01-04 苏州浪潮智能科技有限公司 一种虚拟机管理方法、系统、设备以及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096596A (zh) * 2010-11-29 2011-06-15 华中科技大学 一种基于虚拟机内存模板的云计算服务Cache系统
CN107291525A (zh) * 2016-04-01 2017-10-24 华为技术有限公司 一种部署虚拟机的方法、宿主机及系统
CN109002343A (zh) * 2017-06-07 2018-12-14 中兴通讯股份有限公司 一种实现虚拟机批量创建的方法及装置
CN109634713A (zh) * 2018-11-02 2019-04-16 新华三云计算技术有限公司 一种虚拟机启动方法以及装置
CN110704161A (zh) * 2019-09-27 2020-01-17 联想(北京)有限公司 虚拟机创建方法、装置及计算机设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096596A (zh) * 2010-11-29 2011-06-15 华中科技大学 一种基于虚拟机内存模板的云计算服务Cache系统
CN107291525A (zh) * 2016-04-01 2017-10-24 华为技术有限公司 一种部署虚拟机的方法、宿主机及系统
CN109002343A (zh) * 2017-06-07 2018-12-14 中兴通讯股份有限公司 一种实现虚拟机批量创建的方法及装置
CN109634713A (zh) * 2018-11-02 2019-04-16 新华三云计算技术有限公司 一种虚拟机启动方法以及装置
CN110704161A (zh) * 2019-09-27 2020-01-17 联想(北京)有限公司 虚拟机创建方法、装置及计算机设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113886008A (zh) * 2021-09-19 2022-01-04 苏州浪潮智能科技有限公司 一种虚拟机管理方法、系统、设备以及介质

Similar Documents

Publication Publication Date Title
US9870288B2 (en) Container-based processing method, apparatus, and system
TWI625674B (zh) 用於支援在主機上運行的多個虛擬機器的nvme控制器虛擬化的系統和方法
US10606646B1 (en) Systems and methods for creating a data volume from within a software container and initializing the data volume with data
US9792075B1 (en) Systems and methods for synthesizing virtual hard drives
CN115390996B (zh) 虚拟机迁移方法和装置、计算设备和存储介质
US9672047B1 (en) Systems and methods for accessing a bootable partition on a serial peripheral interface device
CN111679889B (zh) 一种虚拟机的转换迁移方法和系统
US20140082275A1 (en) Server, host and method for reading base image through storage area network
US11875145B2 (en) Virtual machine update while keeping devices attached to the virtual machine
CN113826072B (zh) 系统管理模式中的代码更新
WO2017045272A1 (zh) 虚拟机迁移方法和装置
US20230125085A1 (en) Data Center Restoration
US10684895B1 (en) Systems and methods for managing containerized applications in a flexible appliance platform
US11507292B2 (en) System and method to utilize a composite block of data during compression of data blocks of fixed size
CN111506389A (zh) 一种虚拟机启动方法及装置
US11080082B2 (en) Cross-hypervisor virtual machine conversion
US20110314203A1 (en) Resource adjustment methods and systems for virtual machines
WO2024021480A1 (zh) 一种虚拟机动态迁移的方法、装置及电子设备
US20160179553A1 (en) Execution of multiple operating systems without rebooting
CN114237814A (zh) 跨虚拟化平台的虚拟机迁移方法、装置和计算机设备
KR20220018499A (ko) 비휘발성 스토리지 파티션 식별자
CN106293512B (zh) 基于Xen虚拟化平台的基础镜像跨区存储与分发的实现方法
US9830090B1 (en) Metadata caches in a reliable distributed computing system
US9202058B1 (en) Root volume encryption mechanism in para-virtualized virtual machine
US11422963B2 (en) System and method to handle uncompressible data with a compression accelerator

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200807