CN113076171B - 虚拟机装机方法及装置 - Google Patents
虚拟机装机方法及装置 Download PDFInfo
- Publication number
- CN113076171B CN113076171B CN202010003911.5A CN202010003911A CN113076171B CN 113076171 B CN113076171 B CN 113076171B CN 202010003911 A CN202010003911 A CN 202010003911A CN 113076171 B CN113076171 B CN 113076171B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- template
- target
- information
- initial
- 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.)
- Active
Links
- 238000009434 installation Methods 0.000 title claims abstract description 126
- 238000000034 method Methods 0.000 title claims abstract description 96
- 238000007726 management method Methods 0.000 claims description 78
- 238000004590 computer program Methods 0.000 claims description 20
- 238000009877 rendering Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 9
- 238000013468 resource allocation Methods 0.000 claims description 8
- 238000005192 partition Methods 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 3
- 238000013519 translation Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- KKIMDKMETPPURN-UHFFFAOYSA-N 1-(3-(trifluoromethyl)phenyl)piperazine Chemical compound FC(F)(F)C1=CC=CC(N2CCNCC2)=C1 KKIMDKMETPPURN-UHFFFAOYSA-N 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000011900 installation process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005553 drilling Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供一种虚拟机装机方法及装置,该方法包括:接收装机请求,装机请求携带有目标虚拟机的机型信息和/或目标虚拟机对应的装机模板信息,用于请求创建目标虚拟机;根据机型信息和/或装机模板信息生成初始虚拟机模板;向目标宿主机发送第一指示信息,第一指示信息用于指示根据初始虚拟机模板创建初始虚拟机;根据机型信息和/或装机模板信息生成应用虚拟机模板;在确认目标宿主机已创建初始虚拟机的情况下,向目标宿主机发送第二指示信息,第二指示信息用于指示基于初始虚拟机和应用虚拟机模板创建目标虚拟机。本发明实施例可基于虚拟机装机模拟演练环境,节省演练成本。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种虚拟机装机方法及装置。
背景技术
近年来私有云技术发展迅速,金融、医疗、工业制造等传统行业对私有云的使用越来越普遍,私有云市场逐渐得到云服务商、***集成商、互联网数据中心(Internet DataCenter,IDC)服务商以及各行业用户的广泛关注。
随着私有云市场不断的扩大,私有云的产品功能特性也越来越丰富,例如支持多区域、容灾、国际化、多时区等等,而不同开发分支的特性演练是交付前必须完成的流程。私有云产品功能特性越多,对演练环境的要求越高。通常一套演练环境的平均物理机数量在50-100台,假设需要部署20套演练环境,即使不考虑网络设备只计算物理机成本,20套演练环境的演练成本也是非常高昂的。因此如何在满足演练需求的前提下节省成本,是亟待解决的问题。
发明内容
有鉴于此,本发明实施例提供一种虚拟机装机方法及装置,用于在满足演练需求的前提下节省成本。
为了实现上述目的,本发明实施例提供技术方案如下:
第一方面,本发明实施例提供一种虚拟机装机方法,应用于虚拟机管理服务器,所述方法包括:
接收装机请求,所述装机请求携带有目标虚拟机的机型信息和/或目标虚拟机对应的装机模板信息;
根据所述机型信息和/或所述装机模板信息生成初始虚拟机模板;
向所述目标宿主机发送第一指示信息,所述第一指示信息携带有所述初始虚拟机模板,用于指示根据所述初始虚拟机模板创建初始虚拟机;
根据所述机型信息和/或所述装机模板信息生成应用虚拟机模板;
在确认所述目标宿主机已创建所述初始虚拟机的情况下,向所述目标宿主机发送第二指示信息,所述第二指示信息携带有所述应用虚拟机模板,用于指示基于所述初始虚拟机和所述应用虚拟机模板创建所述目标虚拟机。
第二方面,本发明实施例提供一种虚拟机装机方法,应用于虚拟机宿主机,所述方法包括:
接收虚拟机管理服务器发送的第一指示信息,所述第一指示信息携带有初始虚拟机模板,用于指示根据所述初始虚拟机模板创建初始虚拟机;
根据所述初始虚拟机模板创建所述初始虚拟机;
接收所述虚拟机管理服务器发送的第二指示信息,所述第二指示信息携带有应用虚拟机模板,用于指示所述初始虚拟机根据所述应用虚拟机模板创建目标虚拟机;
基于所述初始虚拟机和所述应用虚拟机模板创建所述目标虚拟机。
第三方面,本发明实施例提供一种虚拟机管理服务器,包括:
接收单元,用于接收装机请求,所述装机请求携带有目标虚拟机的机型信息和/或目标虚拟机对应的装机模板信息;
处理单元,用于根据所述机型信息和/或所述装机模板信息生成初始虚拟机模板;
发送单元,用于向所述目标宿主机发送第一指示信息,所述第一指示信息携带有所述初始虚拟机模板,用于指示根据所述初始虚拟机模板创建初始虚拟机;
所述处理单元,还用于根据所述机型信息和/或所述装机模板信息生成应用虚拟机模板;
所述发送单元,还用于在确认所述目标宿主机已创建所述初始虚拟机的情况下,向所述目标宿主机发送第二指示信息,所述第二指示信息携带有所述应用虚拟机模板,用于指示基于所述初始虚拟机和所述应用虚拟机模板创建所述目标虚拟机。
第四方面,本发明实施例提供一种虚拟机宿主机,包括:
接收单元,用于接收虚拟机管理服务器发送的第一指示信息,所述第一指示信息携带有初始虚拟机模板,用于指示根据所述初始虚拟机模板创建初始虚拟机;
装机单元,用于根据所述初始虚拟机模板创建所述初始虚拟机;
所述接收单元,还用于接收所述虚拟机管理服务器发送的第二指示信息,所述第二指示信息携带有应用虚拟机模板,用于指示所述初始虚拟机根据所述应用虚拟机模板创建目标虚拟机;
所述装机单元,还用于基于所述初始虚拟机和所述应用虚拟机模板创建所述目标虚拟机。
第五方面,本发明实施例提供一种虚拟机管理服务器,包括:存储器和处理器,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行上述第一方面或第一方面的任一实施方式所述的虚拟机装机方法。
第六方面,本发明实施例提供一种虚拟机宿主机,包括:存储器和处理器,存储器用于存储计算机程序;处理器用于在调用计算机程序时执行上述第二方面或第二方面的任一实施方式所述的虚拟机装机方法。
第七方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面或第一方面的任一实施方式所述的虚拟机装机方法。
本发明实施例提供的虚拟机装机方法在接收到装机请求时,首先生成初始虚拟机模板,然后向目标宿主机发送用于指示创建初始虚拟机的第一指示信息,再生成应用虚拟机模板,并在所述目标宿主机已创建所述初始虚拟机的情况下,向所述目标宿主机发送用于指示创建所述目标虚拟机的指示信息,由于本发明实施例提供的虚拟机装机方法可以先在目标宿主机上创建初始虚拟机,并基于初始虚拟机和应用虚拟机模板创建目标虚拟机,因此本发明实施例可以通过创建指定机型的虚拟机的方式满足演练需求,节省了大量的物理机资源,在满足演练需求的前提下节省成本。
附图说明
图1为本发明实施例提供的显存调度方法所应用***的示意性结构图;
图2为本发明实施例提供的显存调度方法的交互流程图;
图3为本发明实施例提供的虚拟机管理服务器的结构示意图;
图4为本发明实施例提供的虚拟机宿主机的结构示意图;
图5为本发明实施例提供的虚拟机管理服务器的硬件结构示意图;
图6为本发明实施例提供的虚拟机宿主机的硬件结构示意图。
具体实施方式
针对现有技术中用于演练的物理机成本较高的问题,本发明实施例提供了一种虚拟机装机方法及装置,该虚拟机装机方法在接收到装机请求时,首先生成初始虚拟机模板,然后向目标宿主机发送用于指示创建初始虚拟机的第一指示信息,再生成应用虚拟机模板,并在所述目标宿主机已创建所述初始虚拟机的情况下,向所述目标宿主机发送用于指示创建所述目标虚拟机的指示信息,由于本发明实施例提供的虚拟机装机方法可以先在目标宿主机上创建初始虚拟机,并基于初始虚拟机和应用虚拟机模板创建目标虚拟机,因此本发明实施例可以通过创建指定机型的虚拟机的方式满足演练需求,节省了大量的物理机资源,在满足演练需求的前提下节省成本。
下面以具体的实施例对本发明的技术方案进行详细说明,如下具体实施例可以相互结合,对于相同或相似的概念或过程不再赘述。
图1示出了本发明实施例所涉及的虚拟机装机方法所应用的***的一种可能的架构示意图。如图1所示,本发明实施例所涉及的虚拟机装机方法所应用的***包括:虚拟机管理服务器(Virtual Machine Manager)11、至少一个虚拟机宿主机(图1中以虚拟机宿主机12、虚拟机宿主机13以及虚拟机宿主机14为例示出)以及虚拟机宿主机的克隆数据库(Clone Data Base)15。
结合图2,本实施例提供的虚拟机装机方法可以包括如下步骤:
S11、虚拟机管理服务器接收装机请求。
其中,所述装机请求携带有目标虚拟机的机型信息和/或目标虚拟机对应的装机模板信息,用于请求创建所述目标虚拟机。
具体的,虚拟机管理服务器接收装机请求可以为:虚拟机管理服务器接收客户端发送的装机请求,也可以为虚拟机管理服务器接收管理人员输入的装机请求,本发明实施例对此不做限定。
根据本发明实施例的一种实现方式,装机请求携带有目标虚拟机的机型信息,或携带有目标虚拟机对应的装机模板信息,或携带有目标虚拟机的机型信息和目标虚拟机对应的装机模板信息。
本发明实施例中的虚拟机管理服务器(VM manager)采用虚拟化技术实现虚拟机的创建、管理、修改及删除。虚拟机管理服务器可以为物理机,也可以是在物理机上创建的虚拟机,并且虚拟机管理服务器可以部署在一台物理机或虚拟机上,也可以通过分布式部署的多个节点或多个组件构成。例如:可以由部署在多台物理机或虚拟机上的多个节点组成。本发明实施例中对虚拟机管理服务器的类型及物理部署方式不作限定,以能够实现本发明实施例中虚拟机管理服务器的功能为准。
目标虚拟机的机型信息是指装机请求所请求创建的虚拟机的机型;示例性的,目标虚拟机的机型信息可以为“Q46”、“Q47”“Q48”等。
装机模板可以理解为通过统一方式定义***底层配置得到的模板;***底层配置可以包括:内核版本、软件管理器(例如redhat package manager,RPM)包、磁盘分区、网络配置、用户组设置等。在操作***安装过程中根据装机模板定义的***底层的配置进行装机,可以避免单独对每一个虚拟的***底层配置,从而提高虚拟机的装机效率。
S12、虚拟机管理服务器根据所述机型信息和/或所述装机模板信息生成初始虚拟机模板。
即,虚拟机管理服务器可以根据机型信息和装机模板信息中的至少一个生成初始虚拟机模板。
S13、虚拟机管理服务器向目标宿主机发送第一指示信息。
对应的,目标宿主机接收虚拟机管理服务器发送的第一指示信息。
其中,所述第一指示信息携带有所述初始虚拟机模板,用于指示根据所述初始虚拟机模板创建初始虚拟机。
具体的,目标宿主机为将要创建所述目标虚拟机的虚拟机宿主机。目标宿主机可以由虚拟机管理服务器基于预设资源分配方式以及所述虚拟机宿主机的资源信息在所有虚拟机宿主机中确定。
S14、目标宿主机根据所述初始虚拟机模板创建所述初始虚拟机。
S15、虚拟机管理服务器根据所述机型信息和/或所述装机模板信息生成应用虚拟机模板。
示例性的,虚拟机管理服务器可通过如下方式确认目标宿主机已创建所述初始虚拟机:虚拟机管理服务器检测初始虚拟机是否已经上线;若是,则确认目标宿主机已创建初始虚拟机;若否,则确认目标宿主机未创建初始虚拟机。当然,虚拟机管理服务器也可以通过其它方式确认目标宿主机是否已创建初始虚拟机,例如:通过管理人员的输入确定,本发明实施例中对虚拟机管理服务器确认目标宿主机是否已创建初始虚拟机的方式不作限定。
需要说明的是,本发明实施例中不限定虚拟机管理服务器生成初始虚拟机模板和生成应用虚拟机模板的先后顺序,可以先生成初始虚拟机模板,再生成应用虚拟机模板;也可以先生成应用虚拟机模板,再先生成初始虚拟机模板,还可以同时生成初始虚拟机模板和应用虚拟机模板。
S16、虚拟机管理服务器在确认所述目标宿主机已创建所述初始虚拟机的情况下,向所述目标宿主机发送第二指示信息。
对应的,目标宿主机接收虚拟机管理服务器发送的第二指示信息。
其中,所述第二指示信息携带有所述应用虚拟机模板,用于指示基于所述初始虚拟机和所述应用虚拟机模板创建所述目标虚拟机。
S17、目标宿主机基于所述初始虚拟机和所述应用虚拟机模板创建所述目标虚拟机。
本发明实施例提供的虚拟机装机方法在接收到装机请求时,首先生成初始虚拟机模板,然后向目标宿主机发送用于指示创建初始虚拟机的第一指示信息,再生成应用虚拟机模板,并在所述目标宿主机已创建所述初始虚拟机的情况下,向所述目标宿主机发送用于指示创建所述目标虚拟机的指示信息,由于本发明实施例提供的虚拟机装机方法可以先在目标宿主机上创建初始虚拟机,并基于初始虚拟机和应用虚拟机模板创建目标虚拟机,因此本发明实施例可以通过创建指定机型的虚拟机的方式满足演练需求,节省了大量的物理机资源,在满足演练需求的前提下节省成本。
以下对上述步骤S12(虚拟机管理服务器根据所述机型信息和/或所述装机模板信息生成初始虚拟机模板)的实现过程进行详细说明。
步骤S12可以包括如下步骤a和步骤b。
步骤a、虚拟机管理服务器根据所述机型信息和/或所述装机模板信息获取所述目标虚拟机对应的装机模板。
具体的,可以在虚拟机管理服务器中预配置机型与装机模板的对应关系,在接收到接收装机请求时,虚拟机管理服务器根据装机请求中的机型信息以及机型与装机模板的对应关系确定目标虚拟机的装机模板,或者根据装机请求中的装机模板信息查找对目标虚拟机的装机模板。可选的,机型与装机模板的对应关系可以通过映射表的形式存储在虚拟机管理服务器中。示例性的,机型与装机模板的映射表可以如下表1所示:
表1
步骤b、根据所述装机模板对预配置的装机配置模板进行渲染生成所述初始虚拟机模板。
具体的,上述步骤b(根据所述装机模板对预配置的装机配置模板进行渲染生成所述初始虚拟机模板),可以包括如下步骤b1至步骤b6中的一项或多项。
步骤b1、将虚拟机名称配置为装机请求中携带的主机名称。
步骤b2、配置虚拟网络控制台(Virtual Network Console,VNC)动态生成可用的VNC端口。
具体的,渲染后的VNC配置可以如下:
<graphics type='vnc'port='32894'passwd='123456'listen='0.0.0.0'autoport='no'keymap='en-us'/>#固定vnc管理端口32894,vnc密码123456,监听所有网络,不自动分配
步骤b3、从所述装机模板中提取装机配置参数。
其中,所述装置配置参数可以包括如下参数中的至少一个:内存(memory,MEM)的值、处理器(例如中央处理器CPU)的大小、网卡(interface,INTERFACES)的数量、磁盘(disk,DISK)类别及其各类别的磁盘的数量。
示例性地,处理器的大小可以使用包含CPU单位的数量表示,例如:处理器的大小为16,则标识CPU大小为16个CPU单位,CPU单位的大小可以由***管理人员预定义。磁盘类别可以包括如下磁盘类别中的至少一项:***磁盘(primary disk,PRIMARY_DISK)、非易失性磁盘(Non-Volatile Memory express disks,NVME_DISKS)、串口磁盘(Serial AdvancedTechnology Attachment disks,SATA_DISKS)、集成驱动器磁盘(Integrated DevelopmentEnvironment disks,IDE_DISKS)。
示例性的,以下以目标虚拟机的机型为“A1234”为例对上述步骤b3进行说明。
“A1234”对应的装机模板如下:
步骤b4、根据所述装机模板对预配置的装机配置模板进行渲染生成所述初始虚拟机模板。
示例性的,预配置的装机配置模板可以如下所示:
步骤b5、使用所述目标虚拟机对应的磁盘模板对所述初始虚拟机模板中的至少一个类别的磁盘进行渲染。
具体的,当磁盘类别包括:PRIMARY_DISK、NVME_DISKS、SATA_DISKS以及IDE_DISKS,上述步骤b5使用所述目标虚拟机对应的磁盘模板对所述初始虚拟机模板中的PRIMARY_DISK、NVME_DISKS、SATA_DISKS以及IDE_DISKS中的至少一个进行渲染,包括:根据目标宿主机的磁盘使用情况分配一个可用的磁盘路径,INDEX、CONTROLLER、UNIT、ID、SERIAL等根据虚拟机的数量计算一个可用无冲突的值。
示例性的,PRIMARY_DISK的模板、SATA_DISKS的模板、IDE_DISKS的模板以及NVME_DISKS的模板可以如下所示:
PRIMARY_DISK的模板:
SATA_DISKS的模板:
IDE_DISKS的模板:
NVME_DISKS的模板:
步骤b6、使用第一网卡模板对所述初始虚拟机模板中的网卡进行渲染。
其中,所述第一网卡模板为所述目标虚拟机对应的网络模式为NAT模式的网卡模板。
具体的,使用第一网卡模板对所述初始虚拟机模板中的网卡进行渲染,包括:媒体访问控制地址(Media Access Control Address,MAC)地址根据数据库中维护的MAC信息,生成一个与环境中其他MAC不冲突的地址,网卡名名称可以从机型模板读取。
示例性的,第一网卡模板可以如下所示:
在上述实施例提供的虚拟机装机方法中,在向所述目标宿主机发送第一指示信息之前,还需要首先从各个虚拟机宿主机中确定目标宿主机。以下对虚拟机管理服务器从各个虚拟机宿主机中确定目标宿主机的实现方式进行详细说明。
作为本发明实施例一种可选的实施方式,虚拟机管理服务从各个虚拟机宿主机中确定目标宿主机的实现方式可以包括如下步骤1和步骤2。
步骤1、通过资源监控服务获取至少一个虚拟机宿主机的资源信息。
作为本发明实施例一种可选的实施例方式,任一虚拟机宿主机的资源信息包括:该虚拟机宿主机的MEM信息、该虚拟机宿主机的CPU信息、该虚拟机宿主机的DISK信息、该虚拟机宿主机的网络(network,NETWORK)信息、以及该虚拟机宿主机的***(system,SYS)信息中的至少一项。
其中,MEM信息可以包括:物理内存总量、物理内存使用率、物理交换分区(SWAP)的大小、SWAP使用率。
CPU信息可以包括:是否开启非统一内存访问架构(Non Uniform Memory AccessArchitecture,NUMA)、逻辑CPU核数、NUMA节点数量、空闲NUMA节点的值、CPU频率、CPU使用率。
DISK信息可以包括:磁盘总容量、磁盘空间使用率、设备等待队列长度(avgqu-sz)值、设备等待(await)值。
NETWORK信息可以包括:交换机连接信息。
SYS信息可以包括:启动时间、***某个时间范围内的平均单核负载、正在运行的虚拟机数量、运行在本虚拟机宿主机的总虚拟机宿主机数量。
步骤2、基于预设资源分配方式以及所述至少一个虚拟机宿主机的资源信息在所述至少一个虚拟机宿主机中确定所述目标机宿主机。
可选的,预设资源分配方式可以为一种预设的资源分配算法,本发明实施例中对预设资源分配方式不做限定,以能够所述至少一个虚拟机宿主机中确定出目标宿主机为准。示例性的,目标宿主机可以为根据预设资源分配方式以及所述至少一个虚拟机宿主机的资源信息计算出的最优宿主机。
再进一步的,由于目标宿主机在根据初始虚拟机模板创建初始虚拟机之前,首先需要执行初始化(Bootstrap)流程,否则无法创建初始虚拟机,因此在向所述目标宿主机发送第一指示信息之前,虚拟机管理服务器还需要确保目标宿主机已执行过初始化流程,以下详细说明。
作为本发明实施例一种可选的实施方式,虚拟机管理服务器确保目标宿主机已执行过Bootstrap流程的实现方式可以包括如下步骤Ⅰ和步骤Ⅱ。
步骤Ⅰ、虚拟机管理服务器确认所述目标宿主机是否执行过初始化流程。
示例性的,步骤Ⅰ可以在虚拟机宿主机每次开机时执行。
作为本发明实施例一种可选的实施方式,虚拟机管理服务器确认所述目标宿主机是否执行过初始化流程可以包括:
虚拟机管理服务器向所述目标宿主机的克隆数据库(Clone Data Base,CloneDB)发送查询请求,所述查询请求用于查询所述目标宿主机是否执行过初始化流程;接收所述克隆数据库发送的查询应答,所述查询应答用于指示所述目标宿主机执行过克隆数据库流程,或者所述查询应答用于指示所述目标宿主机未执行过克隆数据库流程。
具体的,克隆数据库是一个持久化数据库,数据库中会记录某虚拟机宿主机(物理机)是否执行了初始化流程,如果执行过初始化程,Clone DB中会将该虚拟机宿主机的初始化流程记录为是(done),因此可以通过查询克隆数据库确定虚拟机宿主机是否执行过初始化流程。
步骤Ⅱ、若所述目标宿主机未执行过所述初始化流程,则虚拟机管理服务器向所述目标宿主机发送第三指示信息。
对应的,目标宿主机接收虚拟机管理服务器发送的第三指示信息。
其中,所述第三指示信息用于指示所述目标宿主机执行初始化流程。
作为本发明实施例一种可选的实施方式,任一虚拟机宿主机(包括目标宿主机)执行初始化流程可以包括:
根据所述第三指示信息配置动态主机设置协议(Dynamic Host ConfigurationProtocol、DHCP)服务、配置简单文件传输协议(Trivial File Transfer Protocol、TFTP)服务、构建虚拟机运行环境以及配置虚拟机装机网络。
示例性的,DHCP服务的配置可以如下:
/>
即,配置DHCP服务包括:配置虚拟机宿主机上的虚拟机能够通过DHCP协议获取到一个动态的IP,同时配置允许初始化程序协议(Bootstrap Protocol,BOOTP),来加载名为pxelinux.0的引导驱动文件(NBP:Network Bootstrap Program),虚拟机通过DHCP协议获取到IP和TFTP服务地址,通过TFTP协议下载引导驱动文件。
示例性的,TFTP服务可以由xinted网络守护进程进行统一管理,TFTP服务的配置可以如下:
其中,tftp下载目录需要准备:pxelinux.0引导文件、pxelinux.cfg/default配置、linux/vmlinuz-BBBBB7、linux/ramos7_for_sci.img四个文件。
pxelinux.0是网络引导的驱动文件,相当于grub。
pxelinux.cfg/default是NBP的配置文件,主要配置如下:
default sci#默认label
timeout 15#等待超时时间,超时后自动进入默认label
prompt 1#显示boot:提示符
LABEL sci#默认label指定了内核路径和参数
kernel linux/vmlinuz-BBBBB7#内核文件名和存储路径
append initrd=linux/ramos7_for_sci.img ramdisk_size=8192biosdevname=0 scsi_mod.scan=sync net.ifnames=0 console=ttyS0,115200console=tty0#initrd***的镜像为linux/ramos7_for_sci.img,initrd***盘大小为8192,biosdevname参数为0(取消bios对网卡的重命名),scsi块设备扫描模式为同步(sync)方式,net.ifnames参数为0(不使用***scheme的方式命名网卡),控制台支持串口ttyS0,115200,控制台支持虚拟终端tty0
linux/vmlinuz-BBBBB7文件是一个7U的BBBBB内核。
linux/ramos7_for_sci.img文件是一个initrd(initialized RAM disk),initrd是boot loader的内存盘,在BBBBB内核运行前,boot loader会将磁盘中的linux/ramos7_for_sci.img文件加载到内存中,在内核访问真正的BaseOS的根文件***前会先访问这个内存initrd***,Initrd主要是为了解决通用驱动问题。
配置虚拟机装机网络,具体包括:使用libvirtd接口创建虚拟机网络,网路创建完成包含两个虚拟网络接口(网卡)virbr0和virbr0-nic。其中,virbr0同时是一个桥接器(网桥),在虚拟机装机阶段会使用virbr0这个桥接器进行工作,virbr0桥接器采用的是NAT网络模式,将虚拟网络接口和物理接口完全隔离,虚拟机可以通过虚拟的网络访问外部资源(YUM源、DNS等),外部网络无法定位和访问该虚拟机,因此能够完全隔离外部装机***的影响。创建接入外部网络的桥接器br0,该桥接器以bridge方式绑定虚拟机宿主机bond0网路接口,在虚拟机完成装机后,会将虚拟网络接口从virbr0桥接器切换到br0桥接器,切换后外部网络可以定位和访问虚拟机。虚拟机装机流程中使用的两个桥接器可以如下表2所示:
表2
桥接器名称 | 桥接器ID号 | STP使能 | 接口 |
br0 | 8000.9c7da386e693 | no | bond0 |
virbr0 | 8000.5254002adfb5 | yes | virbr0-nic |
构建虚拟机运行环境,包括:安装虚拟操作***模拟器(Quick EMUlator,QEMU)以及安装守护进程(libvirtd)虚拟化组件。
需要说明的是,虚拟机管理服务器根据所述机型信息和/或所述装机模板信息生成应用虚拟机模板的实现方式与生成初始虚拟机模板的实现方式类似,主要区别在于对网卡渲染使用的网卡模板不同。比如,生成初始虚拟机模板时使用的网卡模板为NAT模式的第一网卡模板,而生成应用虚拟机模板时使用的网卡模板为网桥模式的第二网卡模板。
作为本发明实施例一种可选的实施例方式,根据所述装机模板对预配置的装机配置模板进行渲染生成所述应用虚拟机模板,包括:
使用第二网卡模板对所述应用虚拟机模板中的INTERFACES进行渲染。
其中,所述第二网卡模板为所述目标虚拟机对应的网络模式为网桥模式的网卡模板。
示例性的,第二网卡模板可以如下所示:
作为本发明实施例一种可选的实施例方式,所述装机请求还携带有如下信息中的至少一项:所述目标虚拟机的主机名称、所述目标虚拟机的OS版本以及所述目标虚拟机的网络配置信息。
示例性的,装机请求中携带的请求参数可以如下所示:
"sm_name":"Q46",
"ip":"10.138.208.139",
"gateway":"10.138.255.247",
"netmask":"255.255.0.0",
"hostname":"vm010138208139",
"clonescript":"kvm_clone",
"os":"BBBBB7U2-x86-64",
通过上述请求参数可知:目标虚拟机的机型为:Q46、目标虚拟机的主机名称为:vm010138208139、装机模板为:kvm_clone、OS版本为:BBBBB7U2-x86-64、网络配置信息包括:IP地址、网关以及子网掩码,其中,IP地址为:10.138.208.139;网关为:10.138.255.247;子网掩码为:255.255.0.0。
作为本发明实施例一种可选的实施例方式,所述第一指示信息和/或所述第二指示信息还携带有如下信息中的至少一项:所述目标虚拟机的机型信息、所述目标虚拟机对应的装机模板信息、所述目标虚拟机的OS版本以及所述目标虚拟机的网络配置信息。
即,虚拟机管理服务器还通过所述第一指示信息和/或所述第二指示信息将所述目标虚拟机的机型信息、所述目标虚拟机对应的装机模板信息、所述目标虚拟机的OS版本以及所述目标虚拟机的网络配置信息中的至少一项发送至目标宿主机。
作为本发明实施例一种可选的实施方式,在上述步骤S14(目标宿主机根据所述初始虚拟机模板创建所述初始虚拟机)之后,本发明实施例提供的虚拟机装机方法还包括:
目标宿主机在预启动执行环境(preboot execute environment,PXE)下启动所述初始虚拟机。
作为本发明实施例一种可选的实施方式,所述第一指示信息还携带有所述目标虚拟机的操作***版本;在启动所述初始虚拟机之后,所述方法还包括:
目标宿主机根据所述目标虚拟机的OS版本获取对应的虚拟机镜像;解压所述虚拟机镜像;将所述初始虚拟机的根目录切换至所述虚拟镜像对应的操作***中。
进一步的,作为本发明实施例一种可选的实施方式,所述第一指示信息还携带有所述目标虚拟机的网络配置信息;在启动所述初始虚拟机之后,所述方法还包括:
目标宿主机根据所述目标虚拟机的网络配置信息配置所述初始虚拟机的网络。
作为本发明实施例一种可选的实施方式,所述第一指示信息还携带有所述目标虚拟机的机型信息和/或所述目标虚拟机对应的装机模板信息;在启动所述初始虚拟机之后,所述方法还包括:
目标宿主机根据所述目标虚拟机的机型信息和/或所述目标虚拟机对应的装机模板信息获取所述目标虚拟机对应的装机模板;根据装机模板配置所述初始虚拟机的***的分区方式、用户组、内核版本、软件管理器(例如redhat package manager,RPM)包中的至少一个。
示例性的,装机模板模板中的分区方式、用户组、内核版本、以及RPM包可以如下所示:
作为本发明实施例一种可选的实施方式,在启动所述初始虚拟机之后,所述方法还包括:
目标宿主机将所述初始虚拟机关机,并将所述初始虚拟机的网卡模式由网络地址转换NAT模式切换为桥接模式。
由于目标宿主机将初始虚拟机的网卡模式由NAT模式切换为桥接模式,因此外部设备(包括虚拟机管理服务器)可以发现该初始虚拟机,因此虚拟机管理服务器可以确定目标宿主机已创建了初始虚拟机。
基于同一发明构思,作为对上述方法的实现,本发明实施例还提供了一种虚拟机装机装置,该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。
图3为本发明实施例提供的虚拟机管理服务器的结构示意图,如图3所示,本实施例提供的虚拟机管理服务器300,包括:
接收单元31,用于接收装机请求,所述装机请求携带有目标虚拟机的机型信息和/或目标虚拟机对应的装机模板信息;
处理单元32,用于根据所述机型信息和/或所述装机模板信息生成初始虚拟机模板;
发送单元33,用于向所述目标宿主机发送第一指示信息,所述第一指示信息携带有所述初始虚拟机模板,用于指示根据所述初始虚拟机模板创建初始虚拟机;
所述处理单元32,还用于根据所述机型信息和/或所述装机模板信息生成应用虚拟机模板;
所述发送单元33,还用于在确认所述目标宿主机已创建所述初始虚拟机的情况下,向所述目标宿主机发送第二指示信息,所述第二指示信息携带有所述应用虚拟机模板,用于指示基于所述初始虚拟机和所述应用虚拟机模板创建所述目标虚拟机。
作为本发明实施例一种可选的实施方式,所述处理单元32,具体用于根据所述机型信息和/或所述装机模板信息获取所述目标虚拟机对应的装机模板,根据所述装机模板对预配置的装机配置模板进行渲染生成所述初始虚拟机模板或所述应用虚拟机模板。
作为本发明实施例一种可选的实施方式,所述处理单元32,具体用于从所述装机模板中提取装机配置参数,所述装机配置参数包括如下参数中的至少一个:内存的值、处理器的大小、网卡的数量、磁盘类别及其各类别的磁盘的数量,根据所述装机配置参数对所述装机配置模板进行渲染生成所述初始虚拟机模板或所述应用虚拟机模板。
作为本发明实施例一种可选的实施方式,所述处理单元32,还用于使用所述目标虚拟机对应的磁盘模板对所述初始虚拟机模板或所述应用虚拟机模板中的至少一个类别的磁盘进行渲染。
作为本发明实施例一种可选的实施方式,所述处理单元32,还用于使用第一网卡模板对所述初始虚拟机模板中的网卡进行渲染;
所述第一网卡模板为所述目标虚拟机对应的网络模式为NAT模式的网卡模板。
作为本发明实施例一种可选的实施方式,所述处理单元32,还用于使用第二网卡模板对所述应用虚拟机模板中的网卡进行渲染;
所述第二网卡模板为所述目标虚拟机对应的网络模式为网桥模式的网卡模板。
作为本发明实施例一种可选的实施方式,所述装机请求还携带有如下信息中的至少一项:所述目标虚拟机的主机名称、所述目标虚拟机的操作***版本以及所述目标虚拟机的网络配置信息;
所述第一指示信息和所述第二指示信息还携带有如下信息中的至少一项:所述目标虚拟机的机型信息、所述目标虚拟机对应的装机模板信息、所述目标虚拟机的OS版本以及所述目标虚拟机的网络配置信息。
作为本发明实施例一种可选的实施方式,所述虚拟机管理装置还包括:计算单元34;
所述计算单元34,用于通过资源监控服务获取至少一个虚拟机宿主机的资源信息,以及根据预设资源分配方式以及所述至少一个虚拟机宿主机的资源信息在所述至少一个虚拟机宿主机中确定所述目标机宿主机。
作为本发明实施例一种可选的实施方式,所述任一虚拟机宿主机的资源信息包括:该虚拟机宿主机的内存信息、该虚拟机宿主机的处理器信息、该虚拟机宿主机的磁盘信息、该虚拟机宿主机的网络网卡信息、以及该虚拟机宿主机的***SYS信息中的至少一项。
作为本发明实施例一种可选的实施方式,所述虚拟机管理装置还包括:确认单元35;
所述确认单元,还用于在向所述目标宿主机发送第一指示信息之前,确认所述目标宿主机是否执行过初始化流程;若所述目标宿主机未执行过所述初始化流程,则向所述目标宿主机发送第三指示信息,所述第三指示信息用于指示所述目标宿主机执行初始化流程。
作为本发明实施例一种可选的实施方式,所述确认单元35,具体用于向所述目标宿主机的克隆数据库发送查询请求,所述查询请求用于查询所述虚拟机宿主机是否执行过初始化流程;以及接收所述克隆数据库发送的查询应答,所述查询应答用于指示所述虚拟机宿主机执行过初始化流程,或者所述查询应答用于指示所述虚拟机宿主机未执行过初始化流程。
图4为本发明实施例提供的虚拟机宿主机的结构示意图,如图4所示,本实施例提供的虚拟机宿主机400,包括:
接收单元41,用于接收虚拟机管理服务器发送的第一指示信息,所述第一指示信息携带有初始虚拟机模板,用于指示根据所述初始虚拟机模板创建初始虚拟机;
装机单元42,用于根据所述初始虚拟机模板创建所述初始虚拟机;
所述接收单元41,还用于接收所述虚拟机管理服务器发送的第二指示信息,所述第二指示信息携带有应用虚拟机模板,用于指示所述初始虚拟机根据所述应用虚拟机模板创建目标虚拟机;
所述装机单元42,还用于基于所述初始虚拟机和所述应用虚拟机模板创建所述目标虚拟机。
作为本发明实施例一种可选的实施方式,所述装机单元42,还用于在PXE下启动所述初始虚拟机。
作为本发明实施例一种可选的实施方式,所述第一指示信息还携带有所述目标虚拟机的OS版本;所述装机单元42,还用于在启动所述初始虚拟机之后,根据所述目标虚拟机的OS版本获取对应的BaseOS虚拟机镜像;解压所述BaseOS虚拟机镜像;将所述初始虚拟机的根目录切换至所述BaseOS虚拟镜像对应的操作******中。
作为本发明实施例一种可选的实施方式,所述第一指示信息还携带有所述目标虚拟机的网络配置信息;所述装机单元42,还用于在启动所述初始虚拟机之后,根据所述目标虚拟机的网络配置信息配置所述初始虚拟机的网络。
作为本发明实施例一种可选的实施方式,所述第一指示信息还携带有所述目标虚拟机的机型信息和/或所述目标虚拟机对应的装机模板信息;所述装机单元42,还用于在启动所述初始虚拟机之后,根据所述目标虚拟机的机型信息和/或所述目标虚拟机对应的装机模板信息获取所述目标虚拟机对应的装机模板;根据装机模板配置所述初始虚拟机的***的分区方式、用户组、内核版本、软件管理器(例如RPM包)中的至少一个。
作为本发明实施例一种可选的实施方式,所述装机单元42,还用于在启动所述初始虚拟机之后,将所述初始虚拟机关机,并将所述初始虚拟机的网卡模式由NAT模式切换为桥接模式。
作为本发明实施例一种可选的实施方式,所述接收单元41,还用于在接收虚拟机管理服务器发送的第一指示信息之前,接收所述虚拟机管理服务器发送的第三指示信息,所述第三指示信息用于指示所述虚拟机宿主机执行初始化流程;
所述装机单元42,还用于根据所述第三指示信息执行初始化流程。
作为本发明实施例一种可选的实施方式,所述装机单元42,具体用于根据所述第三指示信息配置动态主机设置协议服务、配置简单文件传输协议服务、构建虚拟机运行环境以及配置虚拟机装机网络。
基于同一发明构思,本发明实施例还提供了一种虚拟机管理服务器。图5为本发明实施例提供的虚拟机管理服务器的结构示意图,如图5所示,本实施例提供的虚拟机管理服务器包括:存储器51和处理器52,存储器51用于存储计算机程序;处理器52用于在调用计算机程序时执行上述方法实施例所述的虚拟机装机方法中虚拟机管理服务器所执行的步骤。
基于同一发明构思,本发明实施例还提供了一种虚拟机宿主机。图6为本发明实施例提供的虚拟机宿主机的结构示意图,如图6所示,本实施例提供的虚拟机宿主机包括:存储器61和处理器62,存储器61用于存储计算机程序;处理器62用于在调用计算机程序时执行上述方法实施例所述的虚拟机装机方法中虚拟机宿主机所执行的步骤。
本实施例提供的虚拟机宿主机可以执行上述方法实施例提供的虚拟机装机方法,其实现原理与技术效果类似,此处不再赘述。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例所述的虚拟机装机方法。
本领域技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
处理器可以是中央处理单元,还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质。存储介质可以由任何方法或技术来实现信息存储,信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。根据本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (24)
1.一种虚拟机装机方法,其特征在于,应用于虚拟机管理服务器,所述方法包括:
接收装机请求,所述装机请求携带有目标虚拟机的机型信息和/或目标虚拟机对应的装机模板信息;
根据所述机型信息和/或所述装机模板信息生成初始虚拟机模板;
向目标宿主机发送第一指示信息,所述第一指示信息携带有所述初始虚拟机模板,用于指示根据所述初始虚拟机模板创建初始虚拟机;
根据所述机型信息和/或所述装机模板信息生成应用虚拟机模板;
在确认所述目标宿主机已创建所述初始虚拟机的情况下,向所述目标宿主机发送第二指示信息,所述第二指示信息携带有所述应用虚拟机模板,用于指示基于所述初始虚拟机和所述应用虚拟机模板创建所述目标虚拟机。
2.根据权利要求1所述的方法,其特征在于,所述根据所述机型信息和/或所述装机模板信息,生成初始虚拟机模板或应用虚拟机模板,包括:
根据所述机型信息和/或所述装机模板信息获取所述目标虚拟机对应的装机模板;
根据所述装机模板对预配置的装机配置模板进行渲染生成所述初始虚拟机模板或所述应用虚拟机模板。
3.根据权利要求2所述的方法,其特征在于,所述根据所述装机模板对装机配置模板进行渲染生成所述初始虚拟机模板或所述应用虚拟机模板,包括:
从所述装机模板中提取装机配置参数,所述装机配置参数包括如下参数中的至少一个:内存的值、处理器的大小、网卡的数量、磁盘类别及其各类别的磁盘的数量;
根据所述装机配置参数对所述装机配置模板进行渲染生成所述初始虚拟机模板或所述应用虚拟机模板。
4.根据权利要求3所述的方法,其特征在于,所述根据所述装机模板对装机配置模板进行渲染生成所述初始虚拟机模板或所述应用虚拟机模板,还包括:
使用所述目标虚拟机对应的磁盘模板对所述初始虚拟机模板或所述应用虚拟机模板中的至少一个类别的磁盘进行渲染。
5.根据权利要求3所述的方法,其特征在于,所述根据所述装机模板对装机配置模板进行渲染生成所述初始虚拟机模板,还包括:
使用第一网卡模板对所述初始虚拟机模板中的网卡进行渲染;
所述第一网卡模板为所述目标虚拟机对应的网络模式为网络地址转换NAT模式的网卡模板。
6.根据权利要求3所述的方法,其特征在于,所述根据所述装机模板对装机配置模板进行渲染生成所述应用虚拟机模板,还包括:
使用第二网卡模板对所述应用虚拟机模板中的网卡进行渲染;所述第二网卡模板为所述目标虚拟机对应的网络模式为网桥模式的网卡模板。
7.根据权利要求1所述的方法,其特征在于,所述装机请求还携带有如下信息中的至少一个:所述目标虚拟机的主机名称、所述目标虚拟机的操作***版本以及所述目标虚拟机的网络配置信息;
所述第一指示信息和所述第二指示信息还携带有如下信息中的至少一个:所述目标虚拟机的机型信息、所述目标虚拟机对应的装机模板信息、所述目标虚拟机的操作***版本以及所述目标虚拟机的网络配置信息。
8.根据权利要求1所述的方法,其特征在于,在向所述目标宿主机发送第一指示信息之前,所述方法还包括:
通过资源监控服务获取至少一个虚拟机宿主机的资源信息;
基于预设资源分配方式以及所述至少一个虚拟机宿主机的资源信息在所述至少一个虚拟机宿主机中确定所述目标机宿主机。
9.根据权利要求8所述的方法,其特征在于,任一虚拟机宿主机的资源信息包括:该虚拟机宿主机的内存信息、该虚拟机宿主机的处理器信息、该虚拟机宿主机的磁盘信息、该虚拟机宿主机的网络信息、以及该虚拟机宿主机的***信息中的至少一项。
10.根据权利要求1所述的方法,其特征在于,在向所述目标宿主机发送第一指示信息之前,所述方法还包括:
确认所述目标宿主机是否执行过初始化流程;
若所述目标宿主机未执行过所述初始化流程,则向所述目标宿主机发送第三指示信息,所述第三指示信息用于指示所述目标宿主机执行初始化流程。
11.根据权利要求10所述的方法,其特征在于,所述确认所述目标宿主机是否执行过初始化流程,包括:
向所述目标宿主机的克隆数据库发送查询请求,所述查询请求用于查询所述目标宿主机是否执行过初始化流程;
接收所述克隆数据库发送的查询应答,所述查询应答用于指示所述目标宿主机执行过初始化流程,或者所述查询应答用于指示所述目标宿主机未执行过初始化流程。
12.一种虚拟机装机方法,其特征在于,应用于虚拟机宿主机,所述方法包括:
接收虚拟机管理服务器发送的第一指示信息,所述第一指示信息携带有初始虚拟机模板,用于指示根据所述初始虚拟机模板创建初始虚拟机;
根据所述初始虚拟机模板创建所述初始虚拟机;
接收所述虚拟机管理服务器发送的第二指示信息,所述第二指示信息携带有应用虚拟机模板,用于指示所述初始虚拟机根据所述应用虚拟机模板创建目标虚拟机;
基于所述初始虚拟机和所述应用虚拟机模板创建所述目标虚拟机。
13.根据权利要求12所述的方法,其特征在于,在根据所述初始虚拟机模板创建所述初始虚拟机之后,所述方法还包括:
在预启动执行环境PXE下启动所述初始虚拟机。
14.根据权利要求13所述的方法,其特征在于,所述第一指示信息还携带有所述目标虚拟机的操作***版本;在启动所述初始虚拟机之后,所述方法还包括:
根据所述目标虚拟机的操作***版本获取对应的虚拟机镜像;
解压所述虚拟机镜像;
将所述初始虚拟机的根目录切换至所述虚拟镜像对应的操作***中。
15.根据权利要求13所述的方法,其特征在于,所述第一指示信息还携带有所述目标虚拟机的网络配置信息;在启动所述初始虚拟机之后,所述方法还包括:
根据所述目标虚拟机的网络配置信息配置所述初始虚拟机的网络。
16.根据权利要求13所述的方法,其特征在于,所述第一指示信息还携带有所述目标虚拟机的机型信息和/或所述目标虚拟机对应的装机模板信息;在启动所述初始虚拟机之后,所述方法还包括:
根据所述目标虚拟机的机型信息和/或所述目标虚拟机对应的装机模板信息获取所述目标虚拟机对应的装机模板;
根据装机模板配置所述初始虚拟机的***的分区方式、用户组、内核版本、软件管理器包中的至少一个。
17.根据权利要求13所述的方法,其特征在于,在启动所述初始虚拟机之后,所述方法还包括:
将所述初始虚拟机关机,并将所述初始虚拟机的网卡模式由网络地址转换NAT模式切换为桥接模式。
18.根据权利要求12所述的方法,其特征在于,在接收虚拟机管理服务器发送的第一指示信息之前,所述方法还包括:
接收所述虚拟机管理服务器发送的第三指示信息,所述第三指示信息用于指示所述虚拟机宿主机执行初始化流程;
根据所述第三指示信息执行初始化流程。
19.根据权利要求18所述的方法,其特征在于,所述根据所述第三指示信息执行初始化流程,包括:
根据所述第三指示信息配置动态主机设置协议服务、配置简单文件传输协议服务、构建虚拟机运行环境以及配置虚拟机装机网络。
20.一种虚拟机管理服务器,其特征在于,包括:
接收单元,用于接收装机请求,所述装机请求携带有目标虚拟机的机型信息和/或目标虚拟机对应的装机模板信息;
处理单元,用于根据所述机型信息和/或所述装机模板信息生成初始虚拟机模板;
发送单元,用于向所述目标宿主机发送第一指示信息,所述第一指示信息携带有所述初始虚拟机模板,用于指示根据所述初始虚拟机模板创建初始虚拟机;
所述处理单元,还用于根据所述机型信息和/或所述装机模板信息生成应用虚拟机模板;
所述发送单元,还用于在确认所述目标宿主机已创建所述初始虚拟机的情况下,向所述目标宿主机发送第二指示信息,所述第二指示信息携带有所述应用虚拟机模板,用于指示基于所述初始虚拟机和所述应用虚拟机模板创建所述目标虚拟机。
21.一种虚拟机宿主机,其特征在于,包括:
接收单元,用于接收虚拟机管理服务器发送的第一指示信息,所述第一指示信息携带有初始虚拟机模板,用于指示根据所述初始虚拟机模板创建初始虚拟机;
装机单元,用于根据所述初始虚拟机模板创建所述初始虚拟机;
所述接收单元,还用于接收所述虚拟机管理服务器发送的第二指示信息,所述第二指示信息携带有应用虚拟机模板,用于指示所述初始虚拟机根据所述应用虚拟机模板创建目标虚拟机;
所述装机单元,还用于基于所述初始虚拟机和所述应用虚拟机模板创建所述目标虚拟机。
22.一种虚拟机管理服务器,其特征在于,包括存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在调用所述计算机程序时执行如权利要求1-11任一项所述的虚拟机装机方法。
23.一种虚拟机宿主机,其特征在于,包括存储器和处理器,所述存储器用于存储计算机程序;所述处理器用于在调用所述计算机程序时执行如权利要求12-19任一项所述的虚拟机装机方法。
24.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-19任一项所述的虚拟机装机方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010003911.5A CN113076171B (zh) | 2020-01-03 | 2020-01-03 | 虚拟机装机方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010003911.5A CN113076171B (zh) | 2020-01-03 | 2020-01-03 | 虚拟机装机方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113076171A CN113076171A (zh) | 2021-07-06 |
CN113076171B true CN113076171B (zh) | 2023-12-19 |
Family
ID=76608335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010003911.5A Active CN113076171B (zh) | 2020-01-03 | 2020-01-03 | 虚拟机装机方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113076171B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2019358A1 (en) * | 2007-07-25 | 2009-01-28 | Deutsche Telekom AG | A method and a system for the creation and deployment of a virtual machine appliance on virtualised servers |
CN103795759A (zh) * | 2012-10-31 | 2014-05-14 | 北京搜狐新媒体信息技术有限公司 | 一种虚拟机镜像文件的调度方法和*** |
CN106020937A (zh) * | 2016-07-07 | 2016-10-12 | 腾讯科技(深圳)有限公司 | 一种创建虚拟机的方法、装置及*** |
WO2017166785A1 (zh) * | 2016-04-01 | 2017-10-05 | 华为技术有限公司 | 一种部署虚拟机的方法、宿主机及*** |
CN108322490A (zh) * | 2017-01-17 | 2018-07-24 | 阿里巴巴集团控股有限公司 | 虚拟机配置及部署分布式云服务***的方法、装置和服务器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8019837B2 (en) * | 2009-01-14 | 2011-09-13 | International Business Machines Corporation | Providing network identity for virtual machines |
US8726275B2 (en) * | 2009-12-18 | 2014-05-13 | International Business Machines Corporation | Selective partial cloning of virtual machines in a virtual computing environment |
-
2020
- 2020-01-03 CN CN202010003911.5A patent/CN113076171B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2019358A1 (en) * | 2007-07-25 | 2009-01-28 | Deutsche Telekom AG | A method and a system for the creation and deployment of a virtual machine appliance on virtualised servers |
CN103795759A (zh) * | 2012-10-31 | 2014-05-14 | 北京搜狐新媒体信息技术有限公司 | 一种虚拟机镜像文件的调度方法和*** |
WO2017166785A1 (zh) * | 2016-04-01 | 2017-10-05 | 华为技术有限公司 | 一种部署虚拟机的方法、宿主机及*** |
CN106020937A (zh) * | 2016-07-07 | 2016-10-12 | 腾讯科技(深圳)有限公司 | 一种创建虚拟机的方法、装置及*** |
CN108322490A (zh) * | 2017-01-17 | 2018-07-24 | 阿里巴巴集团控股有限公司 | 虚拟机配置及部署分布式云服务***的方法、装置和服务器 |
Non-Patent Citations (2)
Title |
---|
Centos7中基于KVM的虚拟机构建;秦培煜;;科技传播(23);全文 * |
基于KVM的虚拟化技术研究;彭晓平;张雪坚;黄波;;中国新通信(20);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113076171A (zh) | 2021-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11252228B2 (en) | Multi-tenant multi-session catalogs with machine-level isolation | |
US10986174B1 (en) | Automatic discovery and configuration of server nodes | |
CN108780410B (zh) | 计算***中的容器的网络虚拟化 | |
US10310878B2 (en) | Execution of an application in a runtime environment installed in a virtual appliance | |
US7222229B1 (en) | System for automated boot from disk image | |
EP1920345B1 (en) | Virtual data center for network resource management | |
US9547624B2 (en) | Computer system and configuration management method therefor | |
US7673130B2 (en) | Use of off-motherboard resources in a computer system | |
US7499988B2 (en) | Method for SAN-based BOS install volume group | |
US20200012505A1 (en) | Methods and systems for migrating one software-defined networking module (sdn) to another sdn module in a virtual data center | |
CN115280728A (zh) | 虚拟化计算机***中的软件定义网络协调 | |
WO2008027768A2 (en) | Providing virtual machine technology as an embedded layer within a processing platform | |
CN104572372A (zh) | 一种服务器性能测试环境搭建***及方法 | |
EP3103016B1 (en) | Virtualized application cluster | |
CN111857956B (zh) | 虚拟机启动方法及设备 | |
EP3794807A1 (en) | Apparatuses and methods for zero touch computing node initialization | |
CN115562734A (zh) | 一种数据处理器配置方法、装置、设备及介质 | |
CN114995888A (zh) | 一种智能网卡部署方法、装置及介质 | |
CN111200527B (zh) | 一种基于ironic的裸机自动发现和部署的方法 | |
CN113076171B (zh) | 虚拟机装机方法及装置 | |
US8782266B2 (en) | Auto-detection and selection of an optimal storage virtualization protocol | |
KR100439175B1 (ko) | 리눅스 기반의 클러스터 시스템의 운영체제 원격 자동설치 방법 | |
CN110830550A (zh) | 计算机集群及其无盘启动方法 | |
JP6145337B2 (ja) | ネットワークブートサーバ、ネットワークブートシステム、ネットワークブート制御方法、ネットワークブート制御プログラム | |
US20230325223A1 (en) | Loading management hypervisors from user space |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |