CN107291525A - 一种部署虚拟机的方法、宿主机及系统 - Google Patents
一种部署虚拟机的方法、宿主机及系统 Download PDFInfo
- Publication number
- CN107291525A CN107291525A CN201610202864.0A CN201610202864A CN107291525A CN 107291525 A CN107291525 A CN 107291525A CN 201610202864 A CN201610202864 A CN 201610202864A CN 107291525 A CN107291525 A CN 107291525A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- script
- virtual
- host
- image template
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000013515 script Methods 0.000 claims abstract description 220
- 230000004048 modification Effects 0.000 claims abstract description 80
- 238000012986 modification Methods 0.000 claims abstract description 80
- 230000008859 change Effects 0.000 claims abstract description 37
- 238000012545 processing Methods 0.000 claims description 53
- 238000003860 storage Methods 0.000 claims description 49
- 238000005538 encapsulation Methods 0.000 claims description 48
- 230000003068 static effect Effects 0.000 claims description 34
- 230000015654 memory Effects 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 14
- 241000208340 Araliaceae Species 0.000 claims description 8
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims description 8
- 235000003140 Panax quinquefolius Nutrition 0.000 claims description 8
- 235000008434 ginseng Nutrition 0.000 claims description 8
- 239000011800 void material Substances 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 4
- 238000007726 management method Methods 0.000 description 73
- 238000013461 design Methods 0.000 description 17
- 238000010168 coupling process Methods 0.000 description 6
- 238000005859 coupling reaction Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000004913 activation Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000004140 cleaning Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010367 cloning Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000001960 triggered effect Effects 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
-
- 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
-
- 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
- G06F2009/45595—Network integration; Enabling network access in 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
技术领域
本发明涉及云管理平台应用技术领域,尤其涉及一种部署虚拟机的方法、宿主机及系统。
背景技术
目前,根据需求多样化需要对现有的基础设施虚拟化,将物理资源按需分配给用户使用,由于资源需求量增加,在虚拟化桌面时,一般采用批量部署虚拟机(英文全称:Virtual Machine,英文简称:VM)的方式部署虚拟机,在部署虚拟机前,根据需要将一台主机上运行的虚拟机的镜像文件转化为虚拟机镜像模板,其中,虚拟机镜像模板为操作系统和软件组合的系统镜像。在部署虚拟机时,通过拷贝该虚拟机镜像模板达到部署的目的,但部署后的虚拟机的操作系统、环境数据等均与该虚拟机镜像模板一模一样,其中,环境数据包括虚拟机的安全标识符(英文全称:Security Identifiers,英文简称:SID)、虚拟机名称、网络协议(英文全称:Internet Protocol,英文简称:IP)地址、管理员密码、工作域等,由于新部署的虚拟机与虚拟机镜像模板的设置相同,在批量部署虚拟机后,会导致虚拟机管理出现问题,故需要对每台新部署的虚拟机的环境数据进行修改。目前一般通过对虚拟机镜像模板进行重新封装达到修改的目的,主要有以下两种方案:
现有方案一:在制作虚拟机镜像模板的最后过程中,通过虚拟机里预安装的代理服务程序调用系统准备(英文全称:System Prepatation,英文简称:Sysprep)工具,根据预配置好的自动应答文件对虚拟机镜像模板中的操作系统进行重新封装(手动修改上述环境数据),并生成自动应答文件,使得在新部署虚拟机后,新部署的虚拟机启动时,选择“主机不自定义”,按照自动应答文件自动设置上述环境数据。该方案中,手动修改工作量较大且容易出错,效率较低。
现有方案二:在部署完虚拟机过程中,建立客户机自定义文件,并选择“使用现有自定义规范自定义”,选择建立好的客户机自定义文件,通过虚拟机里预安装的代理服务程序,调用Sysprep工具重新封装部署好的虚拟机,使得在首次启动新部署的虚拟机时,按照客户机自定义文件自动设置上述环境数据。
上述两种方案中,均无法实现全自动封装过程,安全性得不到保障,且部署效率较低,不适合虚拟化和云计算环境中大规模批量部署虚拟机。
发明内容
本发明实施例提供一种部署虚拟机的方法、宿主机及系统,能够解决现有机制中批量部署虚拟机的效率较低的问题。
本发明实施例第一方面提供一种部署虚拟机的方法,所述方法包括:
虚拟化资源管理器运行从云管理平台下载的封装脚本,在第一虚拟机的镜像文件中设置预设脚本,将第一虚拟机封装为虚拟机镜像模版,所述虚拟机镜像模板包括预设脚本。
在部署第二虚拟机时,虚拟化资源管理器将所述虚拟机镜像模板克隆至待部署虚拟机的目的宿主机,该待部署虚拟机的目的宿主机可以是第一虚拟机所在的第一宿主机,也可以是第一宿主机之外的第二宿主机。
目的宿主机在获取上述虚拟机镜像模版后,将所述虚拟机镜像模板作为第二虚拟机的虚拟磁盘启动;
执行所述预设脚本,以在所述第二虚拟机上修改所述虚拟机镜像模板的自定义参数。
通过将第一虚拟机的镜像文件封装为虚拟机镜像模板,且虚拟机镜像模板中封装有预设脚本,通过使用该虚拟机镜像模板在目的宿主机上部署第二虚拟机,进一步通过执行所述预设脚本,实现在第二虚拟机上全自动化修改虚拟机镜像模板的自定义参数,从而提高部署虚拟机的效率,实现全自动化部署。
以下分别从部署了视窗电脑操作系统(Windows)的虚拟机和部署了Linux操作系统的虚拟机的角度对本发明进行阐述:
在一种可能的设计中,在使用部署了Windows的虚拟机创建虚拟机镜像模板时,可以在封装准备阶段,在虚拟机镜像模板中设置用于实现全自动修改虚拟机镜像模板中自定义参数的预设脚本,其中,所述预设脚本包括批处理脚本和开机启动脚本。在执行所述预设脚本时,可以根据从云管理平台获取的目标自定义参数修改虚拟机镜像模板中的自定义参数。具体如下:
执行所述批处理脚本和所述开机启动脚本,以从云管理平台获取所述第二虚拟机的目标自定义参数,以及根据所述目标自定义参数在所述第二虚拟机上修改所述虚拟机镜像模板的自定义参数。在部署第二虚拟机时,获取云管理平台随机生成的目标自定义参数,使得部署的各虚拟机的自定义参数不同,避免网络管理冲突,在开机自动登录后,通过执行批处理脚本和开机启动脚本,无需手动修改或引导式手动操作,实现全自动化修改自定义参数。
可选的,所述目标自定义参数包括域管理和网络配置、第二虚拟机的安全标识符SID、第二虚拟机的虚拟机名称、第二虚拟机的管理员账户以及与所述管理员账户对应的第二虚拟机的管理员密码;其中,所述域管理包括退域和加域,所述网络配置包括动态网络地址的配置和静态网络地址的配置;
所述批处理脚本包括:激活第二虚拟机中的操作系统、对所述第二虚拟机进行退域以及设置动态主机配置协议DHCP获取网络;
所述开机启动脚本包括:修改第二虚拟机的虚拟机名称、修改第二虚拟机的静态网络地址、修改所述第二虚拟机的管理员密码、修改所述第二虚拟机的SID、对所述第二虚拟机进行加域、取消所述第二虚拟机自动登录以及清理系统环境。
通过在虚拟机镜像模版中设置开机自动登录、批处理脚本和开机启动脚本,使得在部署第二虚拟机阶段能够按照这两个脚本来实现自定义参数的全自动修改,无需人工参与,提高部署效率。
在一种可能的设计中,在部署Windows虚拟机时,启动第二虚拟机后,首先调用系统文件(windeploy.exe)进入系统部署阶段,并立即激活内置管理员(Administrator)账户,在Windows开机自动登录后,通过执行批处理脚本和开机启动脚本,以及重启两次虚拟机达到自动修改自定义参数以及修改生效的目的。所述执行所述批处理脚本和所述开机启动脚本,以从云管理平台获取所述第二虚拟机的目标自定义参数,以及根据所述目标自定义参数在所述第二虚拟机上修改所述虚拟机镜像模板的自定义参数,包括:
在所述第二虚拟机开机自动登录后,执行所述批处理脚本,以对所述第二虚拟机进行Windows系统正版激活、退域和设置所述DHCP以获取网络地址,以及触发所述云管理平台为所述第二虚拟机配置所述目标自定义参数;
执行所述开机启动脚本,以根据接收到的来自所述云管理平台的所述目标自定义参数修改所述第二虚拟机的虚拟机名称;
重启所述第二虚拟机,所述第二虚拟机自动登录后,执行所述开机启动脚本,以根据所述目标自定义参数对所述第二虚拟机进行加域、修改第二虚拟机的静态网络地址、修改所述第二虚拟机的管理员密码和修改所述第二虚拟机的SID,以及通过还原注册表和系统环境取消Windows虚拟机自动登录后清理系统环境(删除封装脚本和配置文件);
重启所述第二虚拟机。
上述可能的设计中,通过开机启动脚本设定两次重启第二虚拟机,保证所修改的自定义参数生效,实现自动激活操作系统,成功修改虚拟机名称,以及在修改虚拟机名称后自动加域,避免手动加域后出现的脱域现象,同时,也成功修改第二虚拟机的静态网络地址、密码和SID,避免自定义参数设置一致带来的管理冲突。
在一些可能的设计中,为实现在部署第二虚拟机阶段,全自动完成对虚拟机镜像模板中的自定义参数的修改,在制作该虚拟机镜像模板前,可以对该虚拟机镜像模板进行封装,并设置上述预设脚本以供部署第二虚拟机时使用。故,所述获取虚拟机镜像模板之前,所述方法还包括:
执行从所述云管理平台下载的封装脚本,以在所述第一虚拟机中重置第一虚拟机的管理员密码、关闭Windows更新、禁用用户账户控制UAC、关闭错误报告、禁用防火墙、退域和打开Windows核心内存转储功能,配置Windows开机自动登录和开机启动脚本注册表,根据可扩展标识语言XML应答文件运行Sysprep重新配置Windows系统,以及设置所述开机启动脚本,关闭第一虚拟机后将所述第一虚拟机的镜像文件封装为所述虚拟机镜像模板。
即通过执行上述封装脚本,完成对所述第一虚拟机中的操作系统进行封装,从而使用所述第一虚拟机的镜像文件创建所述虚拟机镜像模板,实现对虚拟机镜像模板全自动封装。
在一些可能的设计中,所述克隆虚拟机镜像模板至第二宿主机之后,在所述第二宿主机上将所述虚拟机镜像模板作为第二虚拟机的虚拟磁盘启动之前,所述方法还包括:
将克隆的虚拟机镜像模板挂载在计算机节点代理CNA上的所述第二虚拟机上,利用虚拟机监控器VMM将所述开机启动脚本和用于描述所述目标自定义参数的配置文件注入到所述第二虚拟机的镜像文件中。
在一种可能的设计中,在使用部署了Linux的虚拟机创建虚拟机镜像模板时,可以在封装准备阶段在虚拟机镜像模板中设置用于实现全自动修改虚拟机镜像模板中自定义参数的预设脚本,其中,所述预设脚本包括开机启动脚本。在执行所述预设脚本时,可以根据从云管理平台获取的目标自定义参数修改虚拟机镜像模板中的自定义参数。具体如下:
执行所述开机启动脚本,以从云管理平台获取所述第二虚拟机的目标自定义参数,以及根据所述目标自定义参数在所述第二虚拟机上修改所述虚拟机镜像模板的自定义参数。在部署第二虚拟机时,获取云管理平台随机生成的目标自定义参数,使得部署的各虚拟机的自定义参数不同,避免网络管理冲突,通过执行开机启动脚本,无需手动修改或引导式手动操作,实现全自动化修改自定义参数。
可选的,所述目标自定义参数包括网络配置、第二虚拟机的虚拟机名称、第二虚拟机的虚拟机名称、第二虚拟机的超级用户名root对应的第二虚拟机的超级用户密码;其中,所述网络配置包括静态网络地址的配置;
所述开机启动脚本包括:修改第二虚拟机的虚拟机名称、修改第二虚拟机的静态网络地址、修改所述第二虚拟机的超级用户密码、修改主机名配置文件和DNS域名解析,还可以包括清理第二虚拟机的操作系统环境。
在一些可能的设计中,在部署Linux虚拟机时,通过执行开机启动脚本,以及重启虚拟机的网络服务达到修改生效的目的。所述执行所述开机启动脚本,以从云管理平台获取所述第二虚拟机的目标自定义参数,以及根据所述目标自定义参数在所述第二虚拟机上修改所述虚拟机镜像模板的自定义参数,包括:
执行所述开机启动脚本,以触发所述云管理平台为所述第二虚拟机配置所述目标自定义参数;
在接收所述云管理平台发送的所述目标自定义参数后,根据所述目标自定义参数修改所述第二虚拟机的虚拟机名称、为所述第二虚拟机配置DNS域名解析、修改第二虚拟机的静态网络地址和修改所述第二虚拟机的超级用户密码;
重启第二虚拟机的网络服务使得上述网络配置生效。
上述可能的设计中,通过开机启动脚本设定重启虚拟机的网络服务,保证所修改的自定义参数生效,实现成功修改虚拟机名称,同时。也成功修改第二虚拟机的静态网络地址、密码,避免自定义参数设置一致带来的管理冲突。
在一些可能的设计中,为实现在部署第二虚拟机阶段,全自动完成对虚拟机镜像模板中的自定义参数的修改,在制作该虚拟机镜像模板前,可以对该虚拟机镜像模板进行封装,并设置上述预设脚本以供部署第二虚拟机时使用。故,所述获取虚拟机镜像模板之前,所述方法还包括:
执行从所述云管理平台下载的封装脚本,以删除网卡命名保持规则文件、设置动态主机配置协议DHCP以获取网络地址,在第一宿主机的第一虚拟机的镜像文件中设置所述开机启动脚本,并清理所述封装脚本,将所述第一虚拟机的镜像文件封装为所述虚拟机镜像模板。
即通过执行上述封装脚本,完成对所述第一虚拟机中的操作系统进行封装,从而使用所述第一虚拟机的镜像文件创建所述虚拟机镜像模板,实现对虚拟机镜像模板全自动封装。
在一些可能的设计中,在制作所述虚拟机镜像模板时,在第一虚拟机的镜像中设置了所述预设脚本,在后续部署第二虚拟机时,需要虚拟机监控器VMM将开机启动脚本和目标自定义参数注入第二虚拟机。具体为,所述克隆虚拟机镜像模板至第二宿主机之后,在所述第二宿主机上将所述虚拟机镜像模板作为第二虚拟机的虚拟磁盘启动之前,所述方法还包括:
将克隆的虚拟机镜像模板挂载在计算机节点代理CNA的域domain0上,以及将所述开机启动脚本和所述目标自定义参数发送给虚拟机监控器VMM,以使所述VMM将所述开机启动脚本和所述目标自定义参数注入到所述第二虚拟机中。
在一些可能的设计中,由于第一宿主机和第二宿主机可能属于同一个集群或不同的集群,使得第二宿主机从第一宿主机获得需要的虚拟机镜像模板的获取方式有所区别,具体如下:所述克隆虚拟机镜像模板至第二宿主机,至少包括以下项之一:
若所述第一虚拟机和所述第二虚拟机属于同一集群,则从所述同一集群的共享存储中获取所述虚拟机镜像模板,此种情况下,第一虚拟机和第二虚拟机还可能运行在同一台宿主机上,也可能运行在同一集群的不同宿主机上。
若所述第一虚拟机和所述第二虚拟机属于同一虚拟化资源管理器,但不属于同一集群,则通过所述虚拟化资源管理器将所述第一虚拟机所在的第一宿主机对应的共享存储中的所述虚拟机镜像模板克隆并导出至所述第二虚拟机所在的第二宿主机对应的共享存储,并将存储在所述第二宿主机对应的共享存储中的所述虚拟机镜像模板克隆并导出至所述第二宿主机;
若所述第一虚拟机和所述第二虚拟机属于不同虚拟化资源管理器,则通过通用互联网文件系统CIFS协议共享网络附属存储NAS将所述第一虚拟机所在的第一虚拟机对应的共享存储中的所述虚拟机镜像模板克隆并导出至所述NAS,并将存储在所述NAS中的所述虚拟机镜像模板克隆并导出至所述第二虚拟机所在的第二宿主机。
通过集群中的共享存储以及集群间的NAS来实现共享虚拟机镜像模板的目的。
本发明实施例第二方面提供一种宿主机,具有实现对应于上述第一方面提供的封装部署虚拟机的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的单元,所述单元可以是软件和/或硬件。
一种可能的设计中,所述宿主机包括:
获取单元,用于获取虚拟机镜像模板,所述虚拟机镜像模板根据第一虚拟机封装的镜像文件得到,所述虚拟机镜像模板包括预设脚本;
处理单元,用于将所述获取单元获取的所述虚拟机镜像模板作为第二虚拟机的虚拟磁盘启动,执行所述预设脚本,以在所述第二虚拟机上修改所述虚拟机镜像模板的自定义参数。
一种可能的设计中,所述宿主机包括:
接收器、处理器和存储器;
其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中的程序代码来执行以下操作:
通过所述接收器获取虚拟机镜像模板,所述虚拟机镜像模板根据第一虚拟机封装的镜像文件得到,所述虚拟机镜像模板包括预设脚本;
将所述获取单元获取的所述虚拟机镜像模板作为第二虚拟机的虚拟磁盘启动,执行所述预设脚本,以在所述第二虚拟机上修改所述虚拟机镜像模板的自定义参数。
本发明实施例第三方面提供一种部署虚拟机的系统,包括上述第二方面所述的宿主机和虚拟化资源管理器,所述虚拟化资源管理器,用于将虚拟机镜像模板克隆至所述宿主机。
该部署虚拟机的系统具有实现对应于上述第一方面提供的封装部署虚拟机的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的单元,所述单元可以是软件和/或硬件。
跟现有机制相比,本发明中,通过使用设置了上述预设脚本的虚拟机镜像模板创建第二虚拟机,使得在虚拟机镜像模板作为所述第二虚拟机的虚拟磁盘启动后,通过执行所述预设脚本实现在第二虚拟机上全自动化修改虚拟机镜像模板的自定义参数,提高部署虚拟机的效率。
附图说明
图1为本实施例中部署虚拟机的方法的一种流程示意图;
图2为本实施例中部署虚拟机的方法的另一种流程示意图;
图3为本实施例中部署虚拟机的方法的另一种流程示意图;
图4为本实施例中部署虚拟机的方法的另一种流程示意图;
图5为本实施例中部署虚拟机的方法的另一种流程示意图;
图6为本实施例中宿主机的一种结构示意图;
图7为本实施例中部署虚拟机的系统的一种结构示意图;
图8为本实施例中宿主机的另一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元,本文中所出现的单元的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个单元可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元之间的间接耦合或通信连接可以是电性或其他类似的形式,本文中均不作限定。并且,作为分离部件说明的单元或子单元可以是也可以不是物理上的分离,可以是也可以不是物理单元,或者可以分不到多个电路单元中,可以根据实际的需要选择其中的部分或全部单元来实现本发明实施例方案的目的。
本发明实施例提供了一种部署虚拟机的方法、宿主机及系统,用于云管理平台技术领域。以下进行详细说明。
本文中的部署虚拟机的系统包括云管理平台、至少一个虚拟化资源管理器(英文全称:Virtual Resouce Manager,英文简称:VRM),至少一个宿主机,用户在云管理平台上操作实现对各宿主机及各宿主机上运行的虚拟机的管理和控制。其中,云管理平台主要用于根据用户的部署请求调度物理资源池,可以是云主机管理平台、云计算平台、云主机、计算机、云计算节点等,VRM主要用于调度物理资源和虚拟资源,以及部署虚拟机,每个VRM负责相应的集群内的所有宿主机的资源调度。每个集群具有共享存储,用于存储集群内各宿主机所共享的文件(例如虚拟机镜像模板、应用等)。宿主机是指需要安装虚拟机软件的物理计算机。
由于现有机制中,由于在批量部署虚拟机时需要手动修改虚拟机镜像模板的自定义参数,导致部署效率较低,为解决该技术问题,本发明主要采用以下技术方案:
1、在制作虚拟机镜像模板时,在虚拟机镜像中设置用于实现全自动修改虚拟机镜像模板中自定义参数的预设脚本。
即在选定的源虚拟机中安装好操作系统、应用、服务等,执行封装脚本,根据预设置的可扩展标示语言(英文全称:Extensive Markup Language,英文简称:XML)应答文件调用Sysprep工具重新配置Windows虚拟机,以及在源虚拟机的镜像中设置所述预设脚本,从而完成对源虚拟机的镜像的封装,关闭源虚拟机后得到虚拟机镜像模板。其中,封装脚本包括调用Sysprep工具的命令、Sysprep工具执行重新配置系统、Sysprep工具根据预置应答文件执行所要修改的参数等,其中,XML应答文件可以在运行封装之前,运行Sysprep文件夹下的程序“setupmgr.exe”生成。
2、克隆设置了预设脚本的虚拟机镜像模板至待部署虚拟机的宿主机。
3、启动克隆的虚拟机镜像模板后,自动执行预设脚本,实现在待部署的虚拟机上修改虚拟机镜像模板的自定义参数。
通过使用设置了预设脚本的虚拟机镜像模板部署虚拟机,实现启动克隆的虚拟机镜像模板时,执行上述预设脚本,从而全自动的修改上述自定义参数,避免网络管理的冲突现象,提高虚拟机部署效率。
请参照图1,以下对本发明实施例中的部署虚拟机的方法进行描述,为实现在部署新虚拟机阶段中对虚拟机镜像模板中的自定义参数进行全自动修改,在制作该虚拟机镜像模板之前,可以对该虚拟机镜像模板进行封装,并设置上述预设脚本以供部署新虚拟机时使用。具体为:在制作虚拟机镜像模板之前,先按照宿主机的需求确定符合需求的虚拟机,例如判断虚拟机中部署的操作系统类型、虚拟机中操作系统的版本信息、部署的应用和服务等,然后在云管理平台选定需要的目标虚拟机,点击“制作镜像”按钮触发制作镜像,然后通过VRM将目标虚拟机关机后,拷贝出一份虚拟机镜像,然后启动所述虚拟机镜像,并通过云管理平台通道下载并解压封装脚本包,则本发明实施例包括:
101、VRM执行从所述云管理平台下载的封装脚本,以在第一宿主机的第一虚拟机的镜像文件中设置预设脚本,将所述第一虚拟机的镜像文件封装为所述虚拟机镜像模板。
即通过执行上述封装脚本,完成对所述第一虚拟机中的操作系统进行封装,从而使用所述第一虚拟机的镜像文件创建所述虚拟机镜像模板,实现对虚拟机镜像模板全自动封装。
102、VRM克隆虚拟机镜像模板至第二宿主机。
可以理解的是,由于一台宿主机可以同时运行2台以上的虚拟机,故,操作人员可以在第一虚拟机所属的第一宿主机上部署第二虚拟机,即上述第二宿主机与第一宿主机为相同的宿主机;也可以在第一宿主机之外的宿主机上部署第二虚拟机,VRM是根据资源调度算法来选择待部署虚拟机的目的宿主机,具体不限定。
103、第二宿主机将获取的所述虚拟机镜像模板作为所述第二虚拟机的虚拟磁盘启动。
其中,所述虚拟机镜像模板包括预设脚本,所述虚拟机镜像模板根据第一宿主机的第一虚拟机的镜像文件得到。
由于虚拟机中部署的操作系统的类型不同,在步骤101中制作虚拟机镜像模板时,对第一虚拟机的镜像文件进行封装时设置的预设脚本也不同,具体包括两种情况:
a、在使用部署了Windows的虚拟机创建虚拟机镜像模板时,可以在封装准备阶段在虚拟机镜像模板中设置开机自动登录、批处理脚本和开机启动脚本。
b、在使用部署了Linux的虚拟机创建虚拟机镜像模板时,可以在封装准备阶段在虚拟机镜像模板中设置开机启动脚本。
可以理解的是,由于Windows操作系统和Linux操作系统原理不同,使得上述a&b两种场景中的开机启动脚本所包含的策略不同。
一、部署Windows VM场景中的封装阶段
在使用部署了Windows的虚拟机创建虚拟机镜像模板时,为实现在部署第二虚拟机阶段,全自动的完成对虚拟机镜像模板中的自定义参数的修改,在制作该虚拟机镜像模板前,可以对该虚拟机镜像模板进行封装,并在虚拟机镜像模板中设置批处理脚本和开机启动脚本以供部署第二虚拟机时使用。具体体现为,在克隆虚拟机镜像模板至第二宿主机之前,VRM对第一虚拟机执行以下封装操作:
重置管理员密码、关闭Windows更新、禁用用户帐户控制(英文全称:UserAccount Control,英文简称:UAC)、关闭错误报告、禁用防火墙、退域和打开Windows核心转储功能等,并设置Windows开机自动登录、批处理脚本和开机启动脚本,然后根据应答文件运行Sysprep工具,重新配置Windows系统、激活Windows系统的管理员帐户,并关闭第一虚拟机,从而将所述第一虚拟机的镜像文件封装为所述虚拟机镜像模板。其中,封装脚本为一键全自动式的封装脚本,只需操作人员一键选中,即可自动执行后续的封装操作,全程无需人工参与,从而减少出错率以及提高封装效率。
即通过执行上述封装脚本,完成对所述第一虚拟机中的操作系统进行封装,从而使用所述第一虚拟机的镜像文件创建所述虚拟机镜像模板,实现对虚拟机镜像模板全自动封装。
其中,所述批处理脚本包括:激活第二虚拟机中的操作系统、对所述第二虚拟机进行退域以及设置动态主机配置协议(英文全称:Dynamic hostconfiguration protocol,英文简称:DHCP)获取网络,其中,退域是指从一组服务器和计算机的集合中退出。
所述开机启动脚本包括:修改第二虚拟机的虚拟机名称、修改第二虚拟机的静态网络地址、修改所述第二虚拟机的管理员密码、修改所述第二虚拟机的SID、以及对所述第二虚拟机进行加域,还可以包括取消所述第二虚拟机自动登录以及清理系统环境,其中,加域是指加入一组服务器和计算机的集合,该集合用于一组计算机共享公共用的安全数据库,任一计算机可以在同一域内访问其他计算机。
通过设置批处理脚本和开机启动脚本,使得在部署第二虚拟机阶段能够按照这两个脚本来实现自定义参数的全自动修改,无需人工参与,提高部署效率。
二、部署Linux VM场景中的封装阶段
在使用部署了Linux的虚拟机创建虚拟机镜像模板时,为实现在部署第二虚拟机阶段,全自动的完成对虚拟机镜像模板中的自定义参数的修改,在制作该虚拟机镜像模板前,可以对该虚拟机镜像模板进行封装,并在虚拟机镜像模板中设置上述开机启动脚本以供部署第二虚拟机时使用。具体体现为,在克隆虚拟机镜像模板至第二宿主机之前,还可以执行以下步骤:
执行从所述云管理平台下载的封装脚本,以删除网卡命名保持规则文件、设置DHCP以获取网络地址,在第一宿主机的第一虚拟机的镜像文件中设置所述开机启动脚本,并清理所述封装脚本,关闭第一虚拟机后,将所述第一虚拟机的镜像文件封装为所述虚拟机镜像模板。其中,封装脚本为一键全自动式的封装脚本,只需操作人员一键选中,即可自动执行后续的封装操作,全程无需人工参与,从而减少出错率以及提高封装效率。
其中,所述开机启动脚本包括:修改第二虚拟机的虚拟机名称、修改第二虚拟机的静态网络地址、修改所述第二虚拟机的超级用户密码、主机名配置文件还可以包括DNS域名解析和清理第二虚拟机的操作系统环境。
另外,由于步骤101中设置的开机启动脚本为注册表配置文件,无法直接执行,故在部署第二虚拟机阶段,要实现全自动修改自定义参数,在执行开机自动登录脚本后,VRM首先需要将克隆的虚拟机镜像模板挂载在计算机节点代理(英文全称:Computer Node Agent,英文简称:CNA)上的域(英文全称:Domain0,英文简称:Dom0)上,然后利用虚拟机监控器(英文全称:Virtual Machine Monitor,英文简称:VMM)将所述开机启动脚本和所述目标自定义参数注入到所述第二虚拟机中。每个宿主机上有一个VMM,且该注入方式在部署Windows VM和Linux VM时均适用,本文不作限定。
104、第二宿主机执行所述预设脚本,以在所述第二虚拟机上修改所述虚拟机镜像模板的自定义参数。
其中,在部署Windows VM场景时,所述虚拟机镜像模板的自定义参数包括域、第二虚拟机的安全标识符SID、第二虚拟机的虚拟机名称、第二虚拟机的管理员密码、网络配置等;在部署Linux VM场景时,所述虚拟机镜像模板的自定义参数包括第二虚拟机的虚拟机名称、第二虚拟机的超级用户密码、网络配置等。
本发明实施例中,通过使用设置了上述预设脚本的虚拟机镜像模板创建第二虚拟机,使得在虚拟机镜像模板作为所述第二虚拟机的虚拟磁盘启动后,通过执行所述预设脚本实现在第二虚拟机上全自动化修改虚拟机镜像模板的自定义参数,提高部署虚拟机的效率。
以下分别从部署Windows VM和部署Linux VM的角度对本发明进行阐述:
一、部署Windows VM
由于在封装阶段,在虚拟机镜像模板中设置了开机自动登录、批处理脚本和开机启动脚本,则在部署第二虚拟机阶段,在开机自动登录后,通过执行所述批处理脚本时,触发云管理平台为所述第二虚拟机配置目标自定义参数,使得后续执行所述开机启动脚本时,根据从云管理平台获取的所述目标自定义参数在所述第二虚拟机上修改所述虚拟机镜像模板的自定义参数。在部署第二虚拟机时,获取云管理平台随机生成的目标自定义参数,使得部署的各虚拟机的自定义参数不同,避免网络管理冲突,通过执行开机自动登录脚本和开机启动脚本,无需手动修改或引导式手动操作,实现全自动化修改自定义参数。
其中,所述目标自定义参数包括网络配置、第二虚拟机的安全标识符SID、第二虚拟机的虚拟机名称、第二虚拟机的用户名以及与所述用户名对应的第二虚拟机的管理员密码;其中,所述网络配置包括退域、动态网络地址的配置、加域和静态网络地址的配置。
另外,由于每新部署一个虚拟机时,云管理平台都会为新部署的虚拟机随机生成(随机生成的方式可以是公知规则或算法,本文不作限定)对应的目标自定义参数,并通过云管理平台通道、邮件等方式传送给用户,可以增加信息的安全性,避免虚拟机用户使用VM厂商预装的第三方工具(如驱动程序或代理软件等)调用Sysprep工具,将用户自定义的信息(如上述目标自定义参数)推送到虚拟机中进行封装部署所引起的安全隐患。部署Linux VM时同理,后续类似之处均不再赘述。
举例来说,在部署Windows VM时,启动第二虚拟机后,首先调用系统文件(windeploy.exe)进入系统部署阶段,并立即激活内置管理员(英文全称:Administrator)账户,在Windows开机自动登录后,执行批处理脚本和开机启动脚本,并且在执行开机启动脚本的过程中,通过重启两次虚拟机将修改虚拟机名称和加域操作隔离,使得上述自定义参数修改生效。具体如下:
在所述第二虚拟机开机自动登录后,执行所述批处理脚本,以对所述第二虚拟机进行Windows系统正版激活、退域和设置所述DHCP以获取网络地址,以及触发所述云管理平台为所述第二虚拟机配置所述目标自定义参数;
执行所述开机启动脚本,以根据接收到的来自所述云管理平台的所述目标自定义参数修改所述第二虚拟机的虚拟机名称;
重启所述第二虚拟机使得修改后的第二虚拟机的虚拟机名称生效。
在所述第二虚拟机自动登录后,执行所述开机启动脚本,以根据所述目标自定义参数对所述第二虚拟机进行加域、修改第二虚拟机的静态网络地址、修改所述第二虚拟机的管理员密码和修改所述第二虚拟机的SID,以及通过还原注册表和系统环境取消Windows虚拟机自动登录后清理系统环境(删除封装脚本和配置文件);
重启所述第二虚拟机。
由此可见,通过开机启动脚本设定两次重启第二虚拟机,保证所修改的自定义参数生效,实现自动激活操作系统,成功修改虚拟机名称,以及在修改虚拟机名称后自动加域,避免手动加域后出现的脱域现象,同时,也成功修改第二虚拟机的静态网络地址、管理员密码和SID,避免自定义参数设置一致带来的管理冲突。
以下以在第二宿主机上部署第二虚拟机为例,如图2所示,用户在VM1里部署好所需要的应用和服务,在云管理平台上选择VM1后点击“制作镜像”按钮,以一键触发制作镜像的操作,VRM将VM1关机,并拷贝出一份VM1镜像,VRM将VM1镜像开机,并通过云管理平台的通道下载并解压封装脚本包,然后执行封装脚本,执行完后清理封装脚本,将VM1镜像关机以封装成虚拟机镜像模板,用户再以该虚拟机镜像模板批量部署虚拟机,在部署虚拟机时VRM将拷贝的镜像挂载到CNA的dom0上,VMM将开机启动脚本和云管理平台下发的虚拟机名称名、IP地址、密码等自定义参数一起注入到VM2,将VM2中的虚拟机镜像模板开机,开机自动登录后,执行批处理脚本,执行开机启动脚本,对VM2的虚拟机名称、IP地址、管理员密码等进行修改和加域相关配置,然后清理现场配置文件和开机启动脚本以恢复原始环境,成功完成在Host2上部署VM2。VRM将创建虚拟机VM2成功的消息返回给云管理平台,云管理平台将虚拟机名称、IP地址、用户名和密码等自定义参数通过邮件的形式发送给该虚拟机的用户。
二、部署Linux VM
在使用部署了Linux的虚拟机创建虚拟机镜像模板时,由于在封装准备阶段在虚拟机镜像模板中设置开机启动脚本,故在执行所述开机启动脚本的过程中,可以根据从云管理平台获取的目标自定义参数修改虚拟机镜像模板中的自定义参数,具体如下:
执行所述开机启动脚本,以从云管理平台获取所述第二虚拟机的目标自定义参数,以及根据所述目标自定义参数在所述第二虚拟机上修改所述虚拟机镜像模板的自定义参数。在部署第二虚拟机时,获取云管理平台随机生成的目标自定义参数,使得部署的各虚拟机的自定义参数不同,从而避免网络管理冲突,通过执行开机启动脚本,无需手动修改或引导式手动操作,实现全自动化修改自定义参数。
其中,所述目标自定义参数包括网络配置、第二虚拟机的虚拟机名称、第二虚拟机的超级用户对应的第二虚拟机的超级用户密码;其中,所述网络配置包括静态网络地址的配置。
举例来说,在部署Linux VM时,还可以在执行开机启动脚本的过程中,重启第二虚拟机的网络服务以达到修改生效的目的,具体如下:
执行所述开机启动脚本,以触发所述云管理平台为所述第二虚拟机配置所述目标自定义参数;
在接收所述云管理平台发送的所述目标自定义参数后,根据所述目标自定义参数修改所述第二虚拟机的虚拟机名称、为所述第二虚拟机配置DNS域名解析、修改第二虚拟机的静态网络地址和修改所述第二虚拟机的超级用户密码;
重启第二虚拟机的网络服务使得上次网络设置生效。
通过开机启动脚本设定重启虚拟机的网络服务,保证所修改的自定义参数生效,即成功修改虚拟机名称、第二虚拟机的静态网络地址和超级用户密码,避免自定义参数设置一致带来的管理冲突。
可选的,在一些发明实施例中,在制作所述虚拟机镜像模板时(包括部署Windows VM和部署Linux VM的场景),在第一虚拟机的镜像中设置了所述预设脚本,在后续部署第二虚拟机时,需要VMM将开机启动脚本和目标自定义参数注入第二虚拟机。具体为,在克隆虚拟机镜像模板至第二宿主机之后,在所述第二宿主机上将所述虚拟机镜像模板作为第二虚拟机的虚拟磁盘启动之前,还需要执行:
将克隆的虚拟机镜像模板挂载在CNA上的所述第二虚拟机上,以及将所述开机启动脚本和用于描述所述目标自定义参数的配置文件发送给虚拟机监控器VMM,以使所述VMM将所述开机启动脚本和用于描述所述目标自定义参数的配置文件注入到所述第二虚拟机中。
可选的,在一些发明实施例中,由于第一宿主机和第二宿主机可能属于同一个集群或不同的集群,使得第二宿主机从第一宿主机获得需要的虚拟机镜像模板的获取方式有所区别,具体如下:所述克隆虚拟机镜像模板至第二宿主机,至少包括以下项之一:
若所述第一虚拟机和所述第二虚拟机同一集群,则从所述同一集群的共享存储中获取所述虚拟机镜像模板;此种情况下,第一虚拟机和第二虚拟机还可能运行在同一台宿主机上,也可能运行在同一集群的不同宿主机上。
若所述第一虚拟机和所述第二虚拟机属于同一虚拟化资源管理器,但不属于同一集群,则通过所述虚拟化资源管理器将所述第一虚拟机所在的第一宿主机对应的共享存储中的所述虚拟机镜像模板克隆并导出至所述第二虚拟机所在的第二宿主机对应的共享存储,并将存储在所述第二宿主机对应的共享存储中的所述虚拟机镜像模板克隆并导出至所述第二虚拟机所在的第二宿主机;
若所述第一虚拟机和所述第二虚拟机属于不同虚拟化资源管理器,则通过通用互联网文件系统(英文全称:Common Internet File Systems,英文简称:CIFS)协议共享网络附属存储(英文全称:Network Attached Storage,英文简称:NAS)将所述第一虚拟机所在的第一虚拟机对应的共享存储中的所述虚拟机镜像模板克隆并导出至所述NAS,并将存储在所述NAS中的所述虚拟机镜像模板克隆并导出至所述第二虚拟机所在的第二宿主机。其中NAS为专用数据存储服务器,在一个局域网占用一个节点,允许用户在网络存储数据,同时集中管理和处理局域网内的所有数据。
通过集群中的共享存储以及集群间的NAS来实现共享虚拟机镜像模板的目的,满足用户需求的多样化,例如,同一集群内没有满足该集群内某宿主机用户的虚拟机版本时,可以通过NAS在其它集群中寻找满足需求的虚拟机版本,当然也可以在某个虚拟机内预装符合需求的软件后再封装为虚拟机镜像模板,诸如此类方式本文不作限定。
举例来说,如图3所示,在每个局域网规划一套NAS作为外围的镜像存储设备,NAS与一个局域网内所有的集群通过网络连通,虚拟机的镜像文件存放在NAS上。对于存量的镜像,直接拷贝到NAS上,然后在云管理平台上配置镜像管理数据;对于用户新制作的镜像,通过VRM导出至NAS上存储,在后续创建新VM时,通过VRM将NAS上存储的VM镜像模板导入新的宿主机,完成创建新VM。
具体来说,通过云管理平台将VRM1下辖的集群中的Host1上的VM1进行封装,以转换为VM镜像模板,点击“模板导出”,VRM1将VM镜像模板从集群的共享存储导出至NAS上,然后将该VM镜像模板注册到云管理平台,使得云管理平台为该VM镜像模板配置相应的镜像管理数据。当用户在云管理平台触发创建虚拟机时,VRM2将该VM镜像模板导入到VRM下辖的集群中的Host2,并在Host2上创建虚拟机VM2,从而实现在不同VRM间的集群通过NAS共享VM模板镜像。同理也可以在同一集群里不同Host主机通过共享存储来完成虚拟机模板镜像的共享,此处不再赘述。
以上对本发明中的一种部署虚拟机的方法进行描述,以下对实现上述方法的部署虚拟机的宿主机60进行描述,参阅图6,宿主机60包括:
获取单元601,用于获取虚拟机镜像模板,所述虚拟机镜像模板根据第一虚拟机封装的镜像文件得到,所述虚拟机镜像模板包括预设脚本;
处理单元602,用于将所述获取单元601获取的所述虚拟机镜像模板作为第二虚拟机的虚拟磁盘启动,执行所述预设脚本,以在所述第二虚拟机上修改所述虚拟机镜像模板的自定义参数。
本发明实施例中,处理单元602使用设置了上述预设脚本的虚拟机镜像模板创建第二虚拟机,使得在虚拟机镜像模板作为所述第二虚拟机的虚拟磁盘启动后,通过执行所述预设脚本实现在第二虚拟机上全自动化修改虚拟机镜像模板的自定义参数,提高部署虚拟机的效率。
以下分别从部署Windows VM和部署Linux VM的角度对本发明进行阐述:
一、部署Windows VM场景:
封装阶段:所述处理单元602执行从所述云管理平台下载的封装脚本,以在第一宿主机的第一虚拟机中重置第一虚拟机的管理员密码、关闭Windows更新、禁用用户账户控制UAC、关闭错误报告、禁用防火墙、退域和打开Windows核心内存转储功能,配置Windows开机自动登录和预设脚本,根据XML应答文件运行Sysprep重新配置Windows系统,关闭第一虚拟机后将所述第一虚拟机的镜像文件封装为所述虚拟机镜像模板。
其中,在虚拟机镜像模版中设置的预设脚本包括批处理脚本和开机启动脚本。
部署阶段:所述处理单元602执行所述批处理脚本和所述开机启动脚本,通过所述获取单元601从云管理平台获取所述第二虚拟机的目标自定义参数,以及根据所述目标自定义参数在所述第二虚拟机上修改所述虚拟机镜像模板的自定义参数。
其中,所述目标自定义参数包括域管理和网络配置、第二虚拟机的安全标识符SID、第二虚拟机的虚拟机名称以及第二虚拟机的管理员密码;其中,所述域管理包括退域和加域,所述网络配置包括动态网络地址的配置和静态网络地址的配置;
所述批处理脚本包括:激活第二虚拟机中的操作系统、对所述第二虚拟机进行退域以及设置动态主机配置协议DHCP获取网络;
所述开机启动脚本包括:修改第二虚拟机的虚拟机名称、修改第二虚拟机的静态网络地址、修改所述第二虚拟机的管理员密码、修改所述第二虚拟机的SID、对所述第二虚拟机进行加域以及消所述第二虚拟机自动登录。
可选的,所述宿主机60还包括发送单元603,在执行开机启动脚本的过程中,还可以通过重启两次虚拟机将修改虚拟机名称和加域操作隔离,使得上述自定义参数修改生效,以及避免加域后出现的脱域现象。具体如下:
所述处理单元602在所述第二虚拟机开机自动登录后,执行所述批处理脚本,以对所述第二虚拟机进行退域和设置DHCP获取以网络地址,以及通过所述发送单元603触发所述云管理平台为所述第二虚拟机配置所述目标自定义参数;
执行所述开机启动脚本,以根据所述获取单元601接收到的来自所述云管理平台的所述目标自定义参数修改所述第二虚拟机的虚拟机名称;
重启所述第二虚拟机后,执行所述开机启动脚本,以根据所述目标自定义参数对所述第二虚拟机进行加域、修改第二虚拟机的静态网络地址、修改所述第二虚拟机的管理员密码、修改所述第二虚拟机的SID;
重启所述第二虚拟机。
为实现第二宿主机获取随机生成的目标自定义参数,在部署第二虚拟机时,需要通过VMM将开机启动脚本和目标自定义参数注入第二虚拟机。所述处理单元601在克隆虚拟机镜像模板至第二宿主机之后,所述处理单元601在所述第二宿主机上将所述虚拟机镜像模板作为第二虚拟机的虚拟磁盘启动之前,还用于:
将克隆的虚拟机镜像模板挂载在CNA上的所述第二虚拟机上,以及将所述开机启动脚本和所述目标自定义参数发送给VMM,以使所述VMM将所述开机启动脚本和所述目标自定义参数注入到所述第二虚拟机的镜像文件中。
二、部署Linux VM场景
封装阶段:所述处理单元602执行从所述云管理平台下载的封装脚本,以删除网卡命名保持规则文件、设置动态主机配置协议DHCP以获取网络地址,在第一宿主机的第一虚拟机的镜像文件中设置所述预设脚本,并清理所述封装脚本,关闭所述第一虚拟机后,将所述第一虚拟机的镜像文件封装为所述虚拟机镜像模板。其中,在虚拟机镜像模版中设置的预设脚本包括开机启动脚本。
部署阶段:所述处理单元602执行所述开机启动脚本,以从云管理平台获取所述第二虚拟机的目标自定义参数,以及根据所述目标自定义参数在所述第二虚拟机上修改所述虚拟机镜像模板的自定义参数。
其中,所述目标自定义参数包括网络配置、第二虚拟机的虚拟机名称、第二虚拟机的超级用户名root对应的第二虚拟机的超级用户密码;其中,所述网络配置包括静态网络地址的配置;
所述开机启动脚本包括:修改第二虚拟机的虚拟机名称、修改第二虚拟机的静态网络地址、修改所述第二虚拟机的超级用户密码、修改主机名配置文件和DNS域名解析。
在部署Linux VM时,还可以在执行开机启动脚本的过程中,重启虚拟机的网络服务达到修改生效的目的,所述处理单元602具体用于:
执行所述开机启动脚本,以通过所述发送单元603触发所述云管理平台为所述第二虚拟机配置所述目标自定义参数;
在通过所述获取单元601接收所述云管理平台发送的所述目标自定义参数后,根据所述目标自定义参数修改所述第二虚拟机的虚拟机名称、为所述第二虚拟机配置DNS域名解析、修改第二虚拟机的静态网络地址和修改所述第二虚拟机的超级用户密码;
重启第二虚拟机的网络服务。
可选的,在一些发明实施例中,由于第一宿主机和第二宿主机可能属于同一个集群或不同的集群,使得第二宿主机从第一宿主机获得需要的虚拟机镜像模板的获取方式有所区别,所述处理单元602在所述克隆虚拟机镜像模板至第二宿主机时,至少满足以下项之一:
若所述第一虚拟机和所述第二虚拟机同一集群,则从所述同一集群的共享存储中获取所述虚拟机镜像模板,此种情况下,第一虚拟机和第二虚拟机还可能运行在同一台宿主机上,也可能运行在同一集群的不同宿主机上。
若所述第一虚拟机和所述第二虚拟机属于同一虚拟化资源管理器,但不属于同一集群,则通过所述虚拟化资源管理器将所述第一虚拟机所在的第一宿主机对应的共享存储中的所述虚拟机镜像模板克隆并导出至所述第二虚拟机所在的第二宿主机对应的共享存储,并将存储在所述第二宿主机对应的共享存储中的所述虚拟机镜像模板克隆并导出至所述第二宿主机;
若所述第一虚拟机和所述第二虚拟机属于不同虚拟化资源管理器,则通过CIFS协议共享NAS将所述第一虚拟机所在的第一虚拟机对应的共享存储中的所述虚拟机镜像模板克隆并导出至所述NAS,并将存储在所述NAS中的所述虚拟机镜像模板克隆并导出至所述第二虚拟机所在的第二宿主机。
另外,所述处理单元602在获取虚拟机镜像模板之后,在所述第二宿主机上将所述虚拟机镜像模板作为第二虚拟机的虚拟磁盘启动之前,还用于:
将克隆的虚拟机镜像模板挂载在CNA上的所述第二虚拟机上,以及将所述开机启动脚本和所述目标自定义参数发送给VMM,以使所述VMM将所述开机启动脚本和所述目标自定义参数注入到所述第二虚拟机的镜像文件中。
需要说明的是,在本发明图6所示的实施例中的获取单元601对应的实体设备可以为接收器,发送单元603对应的实体设备可以为发射器,所有的处理单元对应的实体设备可以为处理器。图6所示的各装置均可以具有如图8所示的结构,当宿主机60具有如图8所示的结构时,图8中的处理器、发射器和接收器实现前述对应该宿主机60的装置实施例提供的处理单元602、发送单元603和获取单元601相同或相似的功能,图8中的存储器存储处理器执行上述部署虚拟机的方法时需要调用的程序代码。
本发明实施例还提供一种部署虚拟机的系统,如图7所示,所述部署虚拟机的系统包括:
图6所对应的实施例中的宿主机60和虚拟化资源管理器,所述虚拟化资源管理器,用于将虚拟机镜像模板克隆至所述宿主机。
所述虚拟化资源管理器在将所述虚拟机镜像模版克隆并导出至所述宿主机时,还需满足以下情况之一:
若所述第一虚拟机和所述第二虚拟机属于同一集群,所述虚拟化资源管理器具体用于将存储在所述同一集群的共享存储中的所述虚拟机镜像模板克隆并导出至所述宿主机;
若所述第一虚拟机和所述第二虚拟机属于同一虚拟化资源管理器,但不属于同一集群,则所述第一虚拟机和所述第二虚拟机位于不同的宿主机上,所述虚拟化资源管理器具体用于将所述第一宿主机对应的共享存储中的所述虚拟机镜像模板克隆并导出至所述第二宿主机对应的共享存储,并将存储在所述第二宿主机对应的共享存储中的所述虚拟机镜像模板克隆并导出至所述第二宿主机;
若所述第一虚拟机和所述第二虚拟机属于不同虚拟化资源管理器,则所述第一虚拟机和所述第二虚拟机位于不同的宿主机上,所述虚拟化资源管理器具体用于通过通用互联网文件系统CIFS协议共享NAS将所述第一虚拟机对应的共享存储中的所述虚拟机镜像模板克隆并导出至所述NAS,并将存储在所述NAS中的所述虚拟机镜像模板克隆并导出至所述第二宿主机。
本发明还提供一种计算机存储介质,该介质存储有程序,该程序执行时包括上述宿主机60或部署虚拟机的系统70执行图1对应的实施例中的部署虚拟机的方法中的部分或者全部步骤。
例如,本文中的宿主机60的结构中包括处理器、接收器和发射器,所述处理器被配置为支持宿主机60执行上述方法中相应的功能。所述接收器和所述发射器用于支持宿主机60与云管理平台之间的通信,向云管理平台或虚拟化资源管理器发送上述方法中所涉及的信息或者指令。所述虚拟化资源管理器60还可以包括存储器,所述存储器用于与处理器耦合,其保存运营商服务器必要的程序代码和数据。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-Only Memory,英文简称:ROM)、随机存取存储器(英文全称:RandomAccess Memory,英文简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本发明所提供的技术方案进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (24)
1.一种部署虚拟机的方法,其特征在于,所述方法包括:
获取虚拟机镜像模板,所述虚拟机镜像模板根据第一虚拟机封装的镜像文件得到,所述虚拟机镜像模板包括预设脚本;
将所述虚拟机镜像模板作为第二虚拟机的虚拟磁盘启动,执行所述预设脚本,以在所述第二虚拟机上修改所述虚拟机镜像模板的自定义参数。
2.根据权利要求1所述的方法,其特征在于,所述预设脚本包括批处理脚本和开机启动脚本;
所述执行所述预设脚本,以在所述第二虚拟机上修改所述虚拟机镜像模板的自定义参数,包括:
执行所述批处理脚本和所述开机启动脚本,以从云管理平台获取所述第二虚拟机的目标自定义参数,以及根据所述目标自定义参数在所述第二虚拟机上修改所述虚拟机镜像模板的自定义参数。
3.根据权利要求2所述的方法,其特征在于,所述目标自定义参数包括域管理和网络配置、第二虚拟机的安全标识符SID、第二虚拟机的虚拟机名称以及第二虚拟机的管理员密码;其中,所述域管理包括退域和加域,所述网络配置包括动态网络地址的配置和静态网络地址的配置;
所述批处理脚本包括:激活第二虚拟机中的操作系统、对所述第二虚拟机进行退域以及设置动态主机配置协议DHCP获取网络;
所述开机启动脚本包括:修改第二虚拟机的虚拟机名称、修改第二虚拟机的静态网络地址、修改所述第二虚拟机的管理员密码、修改所述第二虚拟机的SID、对所述第二虚拟机进行加域以及消所述第二虚拟机自动登录。
4.根据权利要求3所述的方法,其特征在于,所述执行所述批处理脚本和所述开机启动脚本,以从云管理平台获取所述第二虚拟机的目标自定义参数,以及根据所述目标自定义参数在所述第二虚拟机上修改所述虚拟机镜像模板的自定义参数,包括:
在所述第二虚拟机开机自动登录后,执行所述批处理脚本,以对所述第二虚拟机进行退域和设置DHCP获取以网络地址,以及触发所述云管理平台为所述第二虚拟机配置所述目标自定义参数;
执行所述开机启动脚本,以根据接收到的来自所述云管理平台的所述目标自定义参数修改所述第二虚拟机的虚拟机名称;
重启所述第二虚拟机后,执行所述开机启动脚本,以根据所述目标自定义参数对所述第二虚拟机进行加域、修改第二虚拟机的静态网络地址、修改所述第二虚拟机的管理员密码,以及修改所述第二虚拟机的SID;
重启所述第二虚拟机。
5.根据权利要求2至4任一所述的方法,其特征在于,所述获取虚拟机镜像模板之前,所述方法还包括:
执行从所述云管理平台下载的封装脚本,以在所述第一虚拟机中重置第一虚拟机的管理员密码、关闭Windows更新、禁用用户账户控制UAC、关闭错误报告、禁用防火墙、退域和打开Windows核心内存转储功能,配置Windows开机自动登录和开机启动脚本注册表,根据可扩展标识语言XML应答文件运行Sysprep重新配置Windows系统,以及设置所述开机启动脚本,关闭第一虚拟机后将所述第一虚拟机的镜像文件封装为所述虚拟机镜像模板。
6.根据权利要求1所述的方法,其特征在于,所述预设脚本包括开机启动脚本;
所述执行所述预设脚本,以在所述第二虚拟机上修改所述虚拟机镜像模板的自定义参数,包括:
执行所述开机启动脚本,以从云管理平台获取所述第二虚拟机的目标自定义参数,以及根据所述目标自定义参数在所述第二虚拟机上修改所述虚拟机镜像模板的自定义参数。
7.根据权利要求6所述的方法,其特征在于,所述目标自定义参数包括网络配置、第二虚拟机的虚拟机名称、第二虚拟机的超级用户名root对应的第二虚拟机的超级用户密码;其中,所述网络配置包括静态网络地址的配置;
所述开机启动脚本包括:修改第二虚拟机的虚拟机名称、修改第二虚拟机的静态网络地址、修改所述第二虚拟机的超级用户密码、修改主机名配置文件和DNS域名解析。
8.根据权利要求7所述的方法,其特征在于,所述执行所述开机启动脚本,以从云管理平台获取所述第二虚拟机的目标自定义参数,以及根据所述目标自定义参数在所述第二虚拟机上修改所述虚拟机镜像模板的自定义参数,包括:
执行所述开机启动脚本,以触发所述云管理平台为所述第二虚拟机配置所述目标自定义参数;
在接收所述云管理平台发送的所述目标自定义参数后,根据所述目标自定义参数修改所述第二虚拟机的虚拟机名称、为所述第二虚拟机配置DNS域名解析、修改第二虚拟机的静态网络地址和修改所述第二虚拟机的超级用户密码;
重启所述第二虚拟机的网络服务。
9.根据权利要求6至8任一所述的方法,其特征在于,所述获取虚拟机镜像模板之前,所述方法还包括:
执行从所述云管理平台下载的封装脚本,以删除网卡命名保持规则文件、设置动态主机配置协议DHCP以获取网络地址,在第一虚拟机的镜像文件中设置所述开机启动脚本,并清理所述封装脚本,关闭所述第一虚拟机后,将所述第一虚拟机的镜像文件封装为所述虚拟机镜像模板。
10.根据权利要求2至9任一所述的方法,其特征在于,所述获取虚拟机镜像模板,至少包括以下项之一:
若所述第一虚拟机和所述第二虚拟机属于同一集群,则从所述同一集群的共享存储中获取所述虚拟机镜像模板;
若所述第一虚拟机和所述第二虚拟机属于同一虚拟化资源管理器,但不属于同一集群,则通过所述虚拟化资源管理器将所述第一虚拟机所在的第一宿主机对应的共享存储中的所述虚拟机镜像模板克隆并导出至所述第二虚拟机所在的第二宿主机对应的共享存储,并将存储在所述第二宿主机对应的共享存储中的所述虚拟机镜像模板克隆并导出至所述第二宿主机;
若所述第一虚拟机和所述第二虚拟机属于不同虚拟化资源管理器,则通过通用互联网文件系统CIFS协议共享网络附属存储NAS将所述第一虚拟机所在的第一宿主机对应的共享存储中的所述虚拟机镜像模板克隆并导出至所述NAS,并将存储在所述NAS中的所述虚拟机镜像模板克隆并导出至所述第二虚拟机所在的第二宿主机。
11.根据权利要求2或6所述的方法,其特征在于,所述获取虚拟机镜像模板之后,在将所述虚拟机镜像模板作为第二虚拟机的虚拟磁盘启动之前,所述方法还包括:
将所述虚拟机镜像模板挂载在计算节点代理CNA的Dom0上,以及将所述开机启动脚本和所述目标自定义参数发送给虚拟机监控器VMM,以使所述VMM将所述开机启动脚本和所述目标自定义参数注入到所述第二虚拟机的镜像文件中。
12.一种宿主机,其特征在于,所述宿主机包括:
获取单元,用于获取虚拟机镜像模板,所述虚拟机镜像模板根据第一虚拟机封装的镜像文件得到,所述虚拟机镜像模板包括预设脚本;
处理单元,用于将所述获取单元获取的所述虚拟机镜像模板作为第二虚拟机的虚拟磁盘启动,执行所述预设脚本,以在所述第二虚拟机上修改所述虚拟机镜像模板的自定义参数。
13.根据权利要求12所述的宿主机,其特征在于,所述预设脚本包括批处理脚本和开机启动脚本,
所述获取单元,还用于从所述云管理平台获取所述第二虚拟机的目标自定义参数;
所述处理单元,具体用于执行所述批处理脚本和所述开机启动脚本,以及根据所述获取单元获取的目标自定义参数在所述第二虚拟机上修改所述虚拟机镜像模板的自定义参数。
14.根据权利要求13所述的宿主机,其特征在于,所述目标自定义参数包括域管理和网络配置、第二虚拟机的安全标识符SID、第二虚拟机的虚拟机名称以及第二虚拟机的管理员密码;其中,所述域管理包括退域和加域,所述网络配置包括动态网络地址的配置和静态网络地址的配置;
所述批处理脚本包括:激活第二虚拟机中的操作系统、对所述第二虚拟机进行退域以及设置动态主机配置协议DHCP获取网络;
所述开机启动脚本包括:修改第二虚拟机的虚拟机名称、修改第二虚拟机的静态网络地址、修改所述第二虚拟机的管理员密码、修改所述第二虚拟机的SID、对所述第二虚拟机进行加域以及消所述第二虚拟机自动登录。
15.根据权利要求14所述的宿主机,其特征在于,所述处理单元,具体用于:
在所述第二虚拟机开机自动登录后,执行所述批处理脚本,以对所述第二虚拟机进行退域和设置DHCP获取以网络地址,以及触发所述云管理平台为所述第二虚拟机配置所述目标自定义参数;
执行所述开机启动脚本,以根据所述目标自定义参数修改所述第二虚拟机的虚拟机名称;
重启所述第二虚拟机后,执行所述开机启动脚本,以根据所述目标自定义参数对所述第二虚拟机进行加域、修改第二虚拟机的静态网络地址、修改所述第二虚拟机的管理员密码,以及修改所述第二虚拟机的SID;
重启所述第二虚拟机。
16.根据权利要求12至15任一所述的宿主机,其特征在于,
所述处理单元,还用于执行从所述云管理平台下载的封装脚本,以在第一虚拟机中重置第一虚拟机的管理员密码、关闭Windows更新、禁用用户账户控制UAC、关闭错误报告、禁用防火墙、退域和打开Windows核心内存转储功能,配置Windows开机自动登录和开机启动脚本注册表,根据XML应答文件运行Sysprep重新配置Windows系统,以及设置所述开机启动脚本,关闭第一虚拟机后将所述第一虚拟机的镜像文件封装为所述虚拟机镜像模板。
17.根据权利要求12所述的宿主机,其特征在于,所述预设脚本包括开机启动脚本;
所述获取单元,用于从云管理平台获取所述第二虚拟机的目标自定义参数;
所述处理单元,具体用于执行所述开机启动脚本,以及根据所述目标自定义参数在所述第二虚拟机上修改所述虚拟机镜像模板的自定义参数。
18.根据权利要求17所述的宿主机,其特征在于,所述目标自定义参数包括网络配置、第二虚拟机的虚拟机名称、第二虚拟机的超级用户名root对应的第二虚拟机的超级用户密码;其中,所述网络配置包括静态网络地址的配置;
所述开机启动脚本包括:修改第二虚拟机的虚拟机名称、修改第二虚拟机的静态网络地址、修改所述第二虚拟机的超级用户密码、修改主机名配置文件和DNS域名解析。
19.根据权利要求18所述的宿主机,其特征在于,所述处理单元,具体用于:
执行所述开机启动脚本,以触发所述云管理平台为所述第二虚拟机配置所述目标自定义参数;
根据所述目标自定义参数修改所述第二虚拟机的虚拟机名称、为所述第二虚拟机配置DNS域名解析、修改第二虚拟机的静态网络地址和修改所述第二虚拟机的超级用户密码;
重启所述第二虚拟机的网络服务。
20.根据权利要求17至19任一所述的宿主机,其特征在于,
所述处理单元,还用于执行从所述云管理平台下载的封装脚本,以删除网卡命名保持规则文件、设置动态主机配置协议DHCP以获取网络地址,在第一宿主机的第一虚拟机的镜像文件中设置所述开机启动脚本,并清理所述封装脚本,关闭所述第一虚拟机后,将所述第一虚拟机的镜像文件封装为所述虚拟机镜像模板。
21.根据权利要求13或17所述的宿主机,其特征在于,所述宿主机还包括虚拟机监控器VMM,所述处理单元,还用于将所述虚拟机镜像模板挂载在计算节点代理CNA的Dom0上,以及将所述开机启动脚本和所述目标自定义参数发送给所述VMM,以使所述VMM将所述开机启动脚本和所述目标自定义参数注入到所述第二虚拟机的镜像文件中。
22.一种部署虚拟机的系统,其特征在于,包括如权利要求12至21任一所述的宿主机以及虚拟化资源管理器;
所述虚拟化资源管理器,用于将虚拟机镜像模板克隆至所述宿主机。
23.根据权利要求22所述的系统,其特征在于,所述虚拟化资源管理器在将所述虚拟机镜像模版克隆并导出至所述宿主机时,还需满足以下情况之一:
若所述第一虚拟机和所述第二虚拟机属于同一集群,所述虚拟化资源管理器具体用于将存储在所述同一集群的共享存储中的所述虚拟机镜像模板克隆并导出至所述宿主机;
若所述第一虚拟机和所述第二虚拟机属于同一虚拟化资源管理器,但不属于同一集群,则所述第一虚拟机和所述第二虚拟机位于不同的宿主机上,所述虚拟化资源管理器具体用于将所述第一宿主机对应的共享存储中的所述虚拟机镜像模板克隆并导出至所述第二宿主机对应的共享存储,并将存储在所述第二宿主机对应的共享存储中的所述虚拟机镜像模板克隆并导出至所述第二宿主机;
若所述第一虚拟机和所述第二虚拟机属于不同虚拟化资源管理器,则所述第一虚拟机和所述第二虚拟机位于不同的宿主机上,所述虚拟化资源管理器具体用于通过通用互联网文件系统CIFS协议共享NAS将所述第一虚拟机对应的共享存储中的所述虚拟机镜像模板克隆并导出至所述NAS,并将存储在所述NAS中的所述虚拟机镜像模板克隆并导出至所述第二宿主机。
24.一种宿主机,其特征在于,包括接收器、处理器和存储器,其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中的程序代码来执行以下操作:
利用所述接收器获取虚拟机镜像模板,所述虚拟机镜像模板根据第一虚拟机封装的镜像文件得到,所述虚拟机镜像模板包括预设脚本;
将所述虚拟机镜像模板作为第二虚拟机的虚拟磁盘启动,执行所述预设脚本,以在所述第二虚拟机上修改所述虚拟机镜像模板的自定义参数。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610202864.0A CN107291525B (zh) | 2016-04-01 | 2016-04-01 | 一种部署虚拟机的方法、宿主机及系统 |
PCT/CN2016/102161 WO2017166785A1 (zh) | 2016-04-01 | 2016-10-14 | 一种部署虚拟机的方法、宿主机及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610202864.0A CN107291525B (zh) | 2016-04-01 | 2016-04-01 | 一种部署虚拟机的方法、宿主机及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107291525A true CN107291525A (zh) | 2017-10-24 |
CN107291525B CN107291525B (zh) | 2021-06-01 |
Family
ID=59963381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610202864.0A Active CN107291525B (zh) | 2016-04-01 | 2016-04-01 | 一种部署虚拟机的方法、宿主机及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107291525B (zh) |
WO (1) | WO2017166785A1 (zh) |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107888695A (zh) * | 2017-11-23 | 2018-04-06 | 新华三云计算技术有限公司 | 云平台创建镜像的方法和云平台设备 |
CN108090333A (zh) * | 2017-12-29 | 2018-05-29 | 佛山市幻云科技有限公司 | 基于虚拟机的设备控制方法、装置、服务器与系统 |
CN108845865A (zh) * | 2018-06-28 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种监控服务部署方法、系统和存储介质 |
CN108920253A (zh) * | 2018-06-20 | 2018-11-30 | 成都虫洞奇迹科技有限公司 | 一种无代理的虚拟机监控系统和监控方法 |
CN109240716A (zh) * | 2018-09-10 | 2019-01-18 | 福建星瑞格软件有限公司 | 一种大数据平台版本管理与快速迭代部署方法及系统 |
CN109308196A (zh) * | 2018-08-22 | 2019-02-05 | 腾讯科技(深圳)有限公司 | 一种多机型设备复用方法、装置及存储介质 |
CN109977640A (zh) * | 2019-02-21 | 2019-07-05 | 兴业数字金融服务(上海)股份有限公司 | admin密码的回收保管、使用方法及装置 |
CN110275717A (zh) * | 2019-05-17 | 2019-09-24 | 平安科技(深圳)有限公司 | 私有镜像克隆方法、装置、计算机设备及存储介质 |
CN110365508A (zh) * | 2018-04-10 | 2019-10-22 | 中国移动通信有限公司研究院 | 虚拟网络功能实例化的方法和网络功能虚拟化编排器 |
CN110377232A (zh) * | 2019-07-19 | 2019-10-25 | 苏州浪潮智能科技有限公司 | 一种部署分布式存储集群的方法、装置及系统 |
CN110413374A (zh) * | 2019-06-28 | 2019-11-05 | 苏州浪潮智能科技有限公司 | 一种基于云平台的激活的方法和装置 |
CN110471744A (zh) * | 2019-08-20 | 2019-11-19 | 北京首都在线科技股份有限公司 | 密码修改方法、装置、设备和计算机可读存储介质 |
CN110990117A (zh) * | 2019-11-22 | 2020-04-10 | 北京浪潮数据技术有限公司 | 一种部署虚拟机的方法、装置和计算机可读存储介质 |
CN111459606A (zh) * | 2020-03-03 | 2020-07-28 | 山东汇贸电子口岸有限公司 | 一种虚拟化下快速创建虚拟机的方法及服务器 |
CN111506389A (zh) * | 2020-03-25 | 2020-08-07 | 新华三大数据技术有限公司 | 一种虚拟机启动方法及装置 |
CN111754191A (zh) * | 2020-06-08 | 2020-10-09 | 中国建设银行股份有限公司 | 基于云平台的自动变更方法及相关设备 |
CN111782222A (zh) * | 2020-06-30 | 2020-10-16 | 联想(北京)有限公司 | 一种对象部署方法及装置 |
CN111857956A (zh) * | 2020-07-21 | 2020-10-30 | 上海云轴信息科技有限公司 | 虚拟机启动方法及设备 |
CN112363671A (zh) * | 2020-10-23 | 2021-02-12 | 中国电子科技网络信息安全有限公司 | 一种基于融合架构云平台的虚拟机模板镜像存储方法 |
CN113504872A (zh) * | 2021-05-14 | 2021-10-15 | 济南浪潮数据技术有限公司 | 一种云物理机挂载虚拟磁盘的方法、系统、设备及介质 |
CN113886008A (zh) * | 2021-09-19 | 2022-01-04 | 苏州浪潮智能科技有限公司 | 一种虚拟机管理方法、系统、设备以及介质 |
CN114327757A (zh) * | 2021-12-21 | 2022-04-12 | 北京永信至诚科技股份有限公司 | 网络靶场工具投递方法、装置、设备及可读存储介质 |
CN114363334A (zh) * | 2021-12-30 | 2022-04-15 | 阿里巴巴(中国)有限公司 | 云系统及云桌面虚拟机的网络配置方法、装置及设备 |
CN114640597A (zh) * | 2022-02-24 | 2022-06-17 | 烽台科技(北京)有限公司 | 网络靶场配置迁移方法、装置、计算机设备及介质 |
WO2023193402A1 (zh) * | 2022-04-07 | 2023-10-12 | 广州市保伦电子有限公司 | 一种基于VirtualBox的获取宿主机IP地址的方法及后台服务器 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413293A (zh) * | 2019-07-23 | 2019-11-05 | 深圳忆联信息系统有限公司 | 系统布署过程对标准镜像进行修改的方法及装置 |
CN110531995B (zh) * | 2019-08-23 | 2022-06-17 | 济南浪潮数据技术有限公司 | 管理平台的部署方法、装置、设备及计算机可读存储介质 |
CN110750334B (zh) * | 2019-10-25 | 2024-02-02 | 北京计算机技术及应用研究所 | 一种基于Ceph的网络靶场后端存储系统设计方法 |
CN112882820A (zh) * | 2019-11-29 | 2021-06-01 | 北京百度网讯科技有限公司 | 用于配置资源的方法及装置 |
CN113076171B (zh) * | 2020-01-03 | 2023-12-19 | 阿里巴巴集团控股有限公司 | 虚拟机装机方法及装置 |
CN111258719A (zh) * | 2020-01-19 | 2020-06-09 | 山东汇贸电子口岸有限公司 | 一种单机KVM虚拟化下快速部署多节点Ceph集群的方法和系统 |
CN111459513B (zh) * | 2020-04-02 | 2024-04-02 | 西安远望谷物联网科技有限公司 | 一种基于OpenStack平台的Windows镜像制作系统与方法 |
CN111813504B (zh) * | 2020-07-13 | 2024-01-19 | 北京金山云网络技术有限公司 | 自动化配置生效虚拟机的方法、装置和电子设备 |
CN112000425A (zh) * | 2020-07-21 | 2020-11-27 | 北京北通云服科技有限公司 | 一种基于idv模式下的镜像管理系统 |
CN112486631B (zh) * | 2020-12-04 | 2023-03-24 | 浪潮云信息技术股份公司 | 一种构建虚拟机镜像的方法 |
CN112783609A (zh) * | 2021-01-30 | 2021-05-11 | 浪潮云信息技术股份公司 | 一种为esxi主机上的虚拟机自动重置密码的方法 |
CN113204363B (zh) * | 2021-05-27 | 2023-11-03 | 济南浪潮数据技术有限公司 | 一种云管理平台镜像离线定制系统 |
CN113342378B (zh) * | 2021-06-25 | 2022-08-02 | 浪潮通用软件有限公司 | 一种基于文件系统更新的镜像生成方法、设备及介质 |
CN114465902B (zh) * | 2022-01-07 | 2023-09-08 | 苏州浪潮智能科技有限公司 | 一种云主机多网卡管理bond的方法、系统、设备和介质 |
CN114661459A (zh) * | 2022-01-19 | 2022-06-24 | 浙江网商银行股份有限公司 | 机器人流程自动化rpa的运行方法、装置、系统及电子设备 |
CN115357256A (zh) * | 2022-10-18 | 2022-11-18 | 安徽华云安科技有限公司 | 一种cdh集群部署方法和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738977B1 (en) * | 2000-05-31 | 2004-05-18 | International Business Machines Corporation | Class sharing between multiple virtual machines |
CN102088367A (zh) * | 2010-12-10 | 2011-06-08 | 北京世纪互联工程技术服务有限公司 | 虚拟化环境下快速部署方法 |
CN102110009A (zh) * | 2009-12-28 | 2011-06-29 | 中国移动通信集团公司 | 一种在虚拟化平台中部署应用的方法及虚拟平台管理器 |
CN104054067A (zh) * | 2011-03-30 | 2014-09-17 | 亚马逊技术公司 | 基于减负装置的数据包处理的框架和接口 |
CN104580519A (zh) * | 2015-01-29 | 2015-04-29 | 福建师范大学福清分校 | 一种快速部署openstack云计算平台的方法 |
CN104685507A (zh) * | 2012-10-21 | 2015-06-03 | 迈克菲股份有限公司 | 向虚拟云基础结构提供虚拟安全装置架构 |
-
2016
- 2016-04-01 CN CN201610202864.0A patent/CN107291525B/zh active Active
- 2016-10-14 WO PCT/CN2016/102161 patent/WO2017166785A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738977B1 (en) * | 2000-05-31 | 2004-05-18 | International Business Machines Corporation | Class sharing between multiple virtual machines |
CN102110009A (zh) * | 2009-12-28 | 2011-06-29 | 中国移动通信集团公司 | 一种在虚拟化平台中部署应用的方法及虚拟平台管理器 |
CN102088367A (zh) * | 2010-12-10 | 2011-06-08 | 北京世纪互联工程技术服务有限公司 | 虚拟化环境下快速部署方法 |
CN104054067A (zh) * | 2011-03-30 | 2014-09-17 | 亚马逊技术公司 | 基于减负装置的数据包处理的框架和接口 |
CN104685507A (zh) * | 2012-10-21 | 2015-06-03 | 迈克菲股份有限公司 | 向虚拟云基础结构提供虚拟安全装置架构 |
CN104580519A (zh) * | 2015-01-29 | 2015-04-29 | 福建师范大学福清分校 | 一种快速部署openstack云计算平台的方法 |
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107888695A (zh) * | 2017-11-23 | 2018-04-06 | 新华三云计算技术有限公司 | 云平台创建镜像的方法和云平台设备 |
CN108090333A (zh) * | 2017-12-29 | 2018-05-29 | 佛山市幻云科技有限公司 | 基于虚拟机的设备控制方法、装置、服务器与系统 |
CN110365508A (zh) * | 2018-04-10 | 2019-10-22 | 中国移动通信有限公司研究院 | 虚拟网络功能实例化的方法和网络功能虚拟化编排器 |
CN110365508B (zh) * | 2018-04-10 | 2022-05-31 | 中国移动通信有限公司研究院 | 虚拟网络功能实例化的方法和网络功能虚拟化编排器 |
CN108920253A (zh) * | 2018-06-20 | 2018-11-30 | 成都虫洞奇迹科技有限公司 | 一种无代理的虚拟机监控系统和监控方法 |
CN108920253B (zh) * | 2018-06-20 | 2022-05-17 | 成都灵跃云创科技有限公司 | 一种无代理的虚拟机监控系统和监控方法 |
CN108845865A (zh) * | 2018-06-28 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种监控服务部署方法、系统和存储介质 |
CN109308196A (zh) * | 2018-08-22 | 2019-02-05 | 腾讯科技(深圳)有限公司 | 一种多机型设备复用方法、装置及存储介质 |
CN109308196B (zh) * | 2018-08-22 | 2020-04-14 | 腾讯科技(深圳)有限公司 | 一种多机型设备复用方法、装置及存储介质 |
CN109240716A (zh) * | 2018-09-10 | 2019-01-18 | 福建星瑞格软件有限公司 | 一种大数据平台版本管理与快速迭代部署方法及系统 |
CN109977640A (zh) * | 2019-02-21 | 2019-07-05 | 兴业数字金融服务(上海)股份有限公司 | admin密码的回收保管、使用方法及装置 |
CN109977640B (zh) * | 2019-02-21 | 2020-12-25 | 兴业数字金融服务(上海)股份有限公司 | admin密码的回收保管、使用方法及装置 |
CN110275717A (zh) * | 2019-05-17 | 2019-09-24 | 平安科技(深圳)有限公司 | 私有镜像克隆方法、装置、计算机设备及存储介质 |
CN110275717B (zh) * | 2019-05-17 | 2024-03-22 | 平安科技(深圳)有限公司 | 私有镜像克隆方法、装置、计算机设备及存储介质 |
CN110413374A (zh) * | 2019-06-28 | 2019-11-05 | 苏州浪潮智能科技有限公司 | 一种基于云平台的激活的方法和装置 |
CN110377232A (zh) * | 2019-07-19 | 2019-10-25 | 苏州浪潮智能科技有限公司 | 一种部署分布式存储集群的方法、装置及系统 |
CN110471744B (zh) * | 2019-08-20 | 2021-11-30 | 北京首都在线科技股份有限公司 | 密码修改方法、装置、设备和计算机可读存储介质 |
CN110471744A (zh) * | 2019-08-20 | 2019-11-19 | 北京首都在线科技股份有限公司 | 密码修改方法、装置、设备和计算机可读存储介质 |
CN110990117A (zh) * | 2019-11-22 | 2020-04-10 | 北京浪潮数据技术有限公司 | 一种部署虚拟机的方法、装置和计算机可读存储介质 |
CN111459606A (zh) * | 2020-03-03 | 2020-07-28 | 山东汇贸电子口岸有限公司 | 一种虚拟化下快速创建虚拟机的方法及服务器 |
CN111506389A (zh) * | 2020-03-25 | 2020-08-07 | 新华三大数据技术有限公司 | 一种虚拟机启动方法及装置 |
CN111754191A (zh) * | 2020-06-08 | 2020-10-09 | 中国建设银行股份有限公司 | 基于云平台的自动变更方法及相关设备 |
CN111782222A (zh) * | 2020-06-30 | 2020-10-16 | 联想(北京)有限公司 | 一种对象部署方法及装置 |
CN111782222B (zh) * | 2020-06-30 | 2022-07-26 | 联想(北京)有限公司 | 一种对象部署方法及装置 |
CN111857956A (zh) * | 2020-07-21 | 2020-10-30 | 上海云轴信息科技有限公司 | 虚拟机启动方法及设备 |
CN111857956B (zh) * | 2020-07-21 | 2024-03-12 | 上海云轴信息科技有限公司 | 虚拟机启动方法及设备 |
CN112363671B (zh) * | 2020-10-23 | 2022-07-05 | 中国电子科技网络信息安全有限公司 | 一种基于融合架构云平台的虚拟机模板镜像存储方法 |
CN112363671A (zh) * | 2020-10-23 | 2021-02-12 | 中国电子科技网络信息安全有限公司 | 一种基于融合架构云平台的虚拟机模板镜像存储方法 |
CN113504872A (zh) * | 2021-05-14 | 2021-10-15 | 济南浪潮数据技术有限公司 | 一种云物理机挂载虚拟磁盘的方法、系统、设备及介质 |
CN113504872B (zh) * | 2021-05-14 | 2023-11-03 | 济南浪潮数据技术有限公司 | 一种云物理机挂载虚拟磁盘的方法、系统、设备及介质 |
CN113886008A (zh) * | 2021-09-19 | 2022-01-04 | 苏州浪潮智能科技有限公司 | 一种虚拟机管理方法、系统、设备以及介质 |
CN114327757A (zh) * | 2021-12-21 | 2022-04-12 | 北京永信至诚科技股份有限公司 | 网络靶场工具投递方法、装置、设备及可读存储介质 |
CN114363334A (zh) * | 2021-12-30 | 2022-04-15 | 阿里巴巴(中国)有限公司 | 云系统及云桌面虚拟机的网络配置方法、装置及设备 |
CN114363334B (zh) * | 2021-12-30 | 2024-04-02 | 阿里巴巴(中国)有限公司 | 云系统及云桌面虚拟机的网络配置方法、装置及设备 |
CN114640597A (zh) * | 2022-02-24 | 2022-06-17 | 烽台科技(北京)有限公司 | 网络靶场配置迁移方法、装置、计算机设备及介质 |
CN114640597B (zh) * | 2022-02-24 | 2023-08-15 | 烽台科技(北京)有限公司 | 网络靶场配置迁移方法、装置、计算机设备及介质 |
WO2023193402A1 (zh) * | 2022-04-07 | 2023-10-12 | 广州市保伦电子有限公司 | 一种基于VirtualBox的获取宿主机IP地址的方法及后台服务器 |
Also Published As
Publication number | Publication date |
---|---|
WO2017166785A1 (zh) | 2017-10-05 |
CN107291525B (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107291525A (zh) | 一种部署虚拟机的方法、宿主机及系统 | |
US8811970B2 (en) | Virtual instance architecture for mobile device management systems | |
US9448822B2 (en) | System and method for managing a virtual machine environment | |
EP2823393B1 (en) | Offline provisioning of virtual machines | |
EP3373518B1 (en) | Service configuration method and device for network service | |
CN102567075B (zh) | 一种云计算环境中虚拟机上下文设置方法 | |
CN110752947A (zh) | 一种k8s集群部署方法及装置,一种部署平台 | |
CN105306225B (zh) | 一种基于Openstack的物理机远程关机方法 | |
KR101692733B1 (ko) | 가상 머신 관리 방법 및 이를 위한 장치 | |
CN108604187B (zh) | 托管的虚拟机部署 | |
CN110851827A (zh) | 基于容器技术实现的服务可定制化高交互蜜罐及使用方法 | |
CN111367722B (zh) | 一种虚拟机备份方法、装置、设备及可读存储介质 | |
CN107908957B (zh) | 一种智能终端的安全运行管理方法及系统 | |
CN107729117A (zh) | 一种虚拟机生成方法及系统 | |
US11768692B2 (en) | Systems and methods for automated application launching | |
CN106406934A (zh) | 一种SQL Server 和Weblogic组合一键自动部署方法 | |
CN113110883B (zh) | 区块链系统的启动方法、装置、设备和存储介质 | |
CN113938382A (zh) | 基于pacemaker的集群管理方法、系统及存储介质 | |
CN107015787A (zh) | 一种交互式应用框架设计的方法及装置 | |
CN106599156A (zh) | 一种基于struts2拦截器的动态拦截器管理方法 | |
US20240129294A1 (en) | Automatically generating task-based and limited-privilege user security credentials | |
CN116992434A (zh) | 一种以独立应用运行在沙盒环境中的方法 | |
CN116610331A (zh) | 一种部署芯片软件仿真环境的方法、系统、设备和存储介质 | |
CN117319196A (zh) | 一种用户服务器集群环境部署管理系统及方法 | |
CN115145689A (zh) | 数据处理方法、装置、系统及存储介质 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220208 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |