一种基于云平台的虚拟机模拟云物理主机的方法及装置
文献发布时间:2023-06-19 10:38:35
技术领域
本发明涉及云计算技术领域,特别涉及一种基于云平台的虚拟机模拟云物理主机的方法及装置。
背景技术
近年来,随着云计算技术及云服务市场的大力发展,虚拟化技术的应用越来越广泛,虚拟技术能够帮助企业充分挖掘服务器等硬件资源。然而,仍然会有写场景需要用到物理服务器,例如高性能计算集群,对于性能、安全性、隔离性有着特殊需求的租户等场景下就需要用到云物理主机。云物理主机采用高性能硬件设施与I/O设备为租户提供高性能,安全隔离的物理主机,能够满足租户对高性能及稳定性的需求的应用场景。然而,目前云物理主机的日常研发测试过程中,研发人员需要占用大量物理主机,造成物理机资源利用率不高。
基于上述情况,本发明提出了一种基于云平台的虚拟机模拟云物理主机的方法及装置。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的基于云平台的虚拟机模拟云物理主机的方法及装置。
本发明是通过如下技术方案实现的:
一种基于云平台的虚拟机模拟云物理主机的方法,其特征在于:包括以下步骤:
第一步,创建虚拟机,搭建模拟物理机环境
调用Libvirt API创建虚拟机,创建完成后启动虚拟机,并使用virtualbmc组件为虚拟机添加vbmc(基板管理控制器Baseboard Manager Controller,简称BMC。vbmc为软件模拟的虚拟BMC),启动该虚拟机的vbmc使其处于running(运行)状态;
为虚拟机创建云物理主机节点和端口,将云物理主机节点状态转为available(可用)状态,使云物理主机节点随时可以被调度;
第二步,请求创建云物理主机实例
用户使用云物理主机前端,选择需要的规格(CPU,内存,硬盘大小),网络,RAID(Redundant Arrays of Independent Disks,磁盘阵列)信息以及用户名与密码,发起请求创建云物理主机实例;
请求由控制节点进行处理,并调度到为虚拟机创建的云物理主机节点上;
第三步,实例部署
控制节点将部署镜像和用户镜像准备好,网络模块将云物理主机节点网络切换至部署网络;云物理主机节点经过第一次启动,安装部署镜像并将节点磁盘暴露出来,控制节点将用户镜像写入磁盘并设置为从磁盘启动,网络模块切换至租户网络后,起电,完成部署。
所述第一步中,使用虚拟机创建云物理主机节点的处理流程如下:
(1)选取计算节点,调用libvirt API创建虚拟机,记录虚拟机网卡MAC(MediaAccess Control或者Medium Access Control,介质访问控制)地址,CPU,内存以及磁盘容量;
(2)使用virtualbmc组件为虚拟机添加vbmc,从而为虚拟机添加IPMI(Intelligent Platform Management Interface,智能平台管理接口)功能;指定IPMI地址,端口号,用户名和密码,启动虚拟机的vbmc;
(3)通过指定虚拟机网卡MAC地址,CPU,内存,磁盘容量,IPMI相关信息以及对应的资源类型,为虚拟机创建云物理主机节点;
(4)指定虚拟机网卡MAC地址以及虚拟机所在的物理主机连接的实际交换机连接信息,为虚拟机创建云物理主机端口;
(5)将云物理主机节点置为availabile状态,等待后续实例创建调度。
所述第一步中,虚拟机至少有一个网卡,并借由网桥和所在节点的网卡把虚拟机连接到交换机上。
所述第一步中,虚拟机至少保证在4核CPU,8G内存以上,以保证后续部署过程中agent(代理)能够正常执行;需要记录虚拟机的CPU,内存,磁盘大小以及基于LLDP(LinkLayer Discovery Protocol,链路层发现协议)读取交换机连接信息。
所述第一步中,为虚拟机添加vbmc时,需要为其指定IPMI地址,端口号,用户名和密码,所述IPMI地址选用虚拟机所在物理机的IP地址。
所述第二步中,创建实例调度过程中,使用用户选用的物理主机型号对应的资源类型进行云物理主机节点调度。
所述第二步中,创建实例所选网络支持VLAN(Virtual Local Area Network,虚拟局域网)和VXLAN(Virtual Extensible LAN,虚拟扩展局域网)类型。
所述第三步中,云物理主机实例部署处理流程如下:
(1)控制节点准备好部署镜像和用户镜像放到TFTP(Trivial File TransferProtocol,简单文件传输协议)服务器上,并调用网络模块准备好网络资源,然后网络模块将云物理主机节点连接的交换机端口设置为部署网络;
(2)将云物理主机节点设置为PXE(Preboot Execute Environment,预启动执行环境)启动;起电,云物理主机节点通过DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)获取部署网络IP之后,连接到TFTP服务器下载部署ramdisk(虚拟内存盘)和kernel(内核);
(3)启动后,ramdisk中的agent运行起来,执行硬件检查,与控制节点交互,并将云物理主机节点磁盘通过iSCSI(Internet Small Computer System Interface,小型计算机系统接口)暴露出来;
(4)控制节点挂载该iSCSI磁盘并将用户镜像写入磁盘,将云物理主机节点关机,调用网络模块将网络切换为租户网络,启动项改为硬盘启动后,重新起电,直至实例创建完成。
本发明基于云平台的虚拟机模拟云物理主机的系统,包括:
虚拟机模块:用于模拟物理机的虚拟机,并需要使用vbmc来为虚拟机添加IPMI功能;
控制节点:用于控制云物理主机节点和实例的生命周期管理,提供云物理主机所需的镜像以及与数据库的交互;
网络模块:负责网络的配置及切换;
数据库模块:负责云物理主机节点,实例与接口相关信息的维护;
前端模块:负责为用户提供云物理主机实例的生命周期管理请求的发起及远程登录功能。
本发明的有益效果是:该基于云平台的虚拟机模拟云物理主机的方法及装置,不仅支持云物理主机的基本功能,同时还支持与其他云产品结合使用,从而节省了物理主机资源,减少了研发测试时对硬件设备的依赖,提高了研发测试环节中对物理主机资源的利用率,降低了运维成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
附图1为本发明基于云平台的虚拟机模拟云物理主机的装置架构示意图。
附图2为本发明使用虚拟机创建云物理主机节点处理流程示意图。
附图3为本发明云物理主机实例部署请求流程示意图。
具体实施方式
为了使本技术领域的人员更好的理解本发明中的技术方案,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚,完整的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
该基于云平台的虚拟机模拟云物理主机的方法,包括以下步骤:
第一步,创建虚拟机,搭建模拟物理机环境
调用Libvirt API创建虚拟机,创建完成后启动虚拟机,并使用virtualbmc组件为虚拟机添加vbmc,启动该虚拟机的vbmc使其处于running(运行)状态;
为虚拟机创建云物理主机节点和端口,将云物理主机节点状态转为available(可用)状态,使云物理主机节点随时可以被调度;
第二步,请求创建云物理主机实例
用户使用云物理主机前端,选择需要的规格(CPU,内存,硬盘大小),网络,RAID(Redundant Arrays of Independent Disks,磁盘阵列)信息以及用户名与密码,发起请求创建云物理主机实例;
请求由控制节点进行处理,并调度到为虚拟机创建的云物理主机节点上;
第三步,实例部署
控制节点将部署镜像和用户镜像准备好,网络模块将云物理主机节点网络切换至部署网络;云物理主机节点经过第一次启动,安装部署镜像并将节点磁盘暴露出来,控制节点将用户镜像写入磁盘并设置为从磁盘启动,网络模块切换至租户网络后,起电,完成部署。
所述第一步中,使用虚拟机创建云物理主机节点的处理流程如下:
(1)选取计算节点,调用libvirt API创建虚拟机,记录虚拟机网卡MAC(MediaAccess Control或者Medium Access Control,介质访问控制)地址,CPU,内存以及磁盘容量;
(2)使用virtualbmc组件为虚拟机添加vbmc,从而为虚拟机添加IPMI(Intelligent Platform Management Interface,智能平台管理接口)功能;指定IPMI地址,端口号,用户名和密码,启动虚拟机的vbmc;
(3)通过指定虚拟机网卡MAC地址,CPU,内存,磁盘容量,IPMI相关信息以及对应的资源类型,为虚拟机创建云物理主机节点;
(4)指定虚拟机网卡MAC地址以及虚拟机所在的物理主机连接的实际交换机连接信息,为虚拟机创建云物理主机端口;
(5)将云物理主机节点置为availabile状态,等待后续实例创建调度。
所述第一步中,虚拟机至少有一个网卡,并借由网桥和所在节点的网卡把虚拟机连接到交换机上。
所述第一步中,虚拟机至少保证在4核CPU,8G内存以上,以保证后续部署过程中agent(代理)能够正常执行;需要记录虚拟机的CPU,内存,磁盘大小以及基于LLDP(LinkLayer Discovery Protocol,链路层发现协议)读取交换机连接信息。
所述第一步中,为虚拟机添加vbmc时,需要为其指定IPMI地址,端口号,用户名和密码,所述IPMI地址选用虚拟机所在物理机的IP地址。
所述第二步中,创建实例调度过程中,使用用户选用的物理主机型号对应的资源类型进行云物理主机节点调度。
所述第二步中,创建实例所选网络支持VLAN(Virtual Local Area Network,虚拟局域网)和VXLAN(Virtual Extensible LAN,虚拟扩展局域网)类型。
所述第三步中,云物理主机实例部署处理流程如下:
(1)控制节点准备好部署镜像和用户镜像放到TFTP(Trivial File TransferProtocol,简单文件传输协议)服务器上,并调用网络模块准备好网络资源,然后网络模块将云物理主机节点连接的交换机端口设置为部署网络;
(2)将云物理主机节点设置为PXE(Preboot Execute Environment,预启动执行环境)启动;起电,云物理主机节点通过DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)获取部署网络IP之后,连接到TFTP服务器下载部署ramdisk(虚拟内存盘)和kernel(内核);
(3)启动后,ramdisk中的agent运行起来,执行硬件检查,与控制节点交互,并将云物理主机节点磁盘通过iSCSI(Internet Small Computer System Interface,小型计算机系统接口)暴露出来;
(4)控制节点挂载该iSCSI磁盘并将用户镜像写入磁盘,将云物理主机节点关机,调用网络模块将网络切换为租户网络,启动项改为硬盘启动后,重新起电,直至实例创建完成。
该基于云平台的虚拟机模拟云物理主机的系统,包括:
虚拟机模块:用于模拟物理机的虚拟机,并需要使用vbmc来为虚拟机添加IPMI功能;
控制节点:用于控制云物理主机节点和实例的生命周期管理,提供云物理主机所需的镜像以及与数据库的交互;
网络模块:负责网络的配置及切换;
数据库模块:负责云物理主机节点,实例与接口相关信息的维护;
前端模块:负责为用户提供云物理主机实例的生命周期管理请求的发起及远程登录功能。
以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
- 一种基于云平台的虚拟机模拟云物理主机的方法及装置
- 一种基于云平台卷实现虚拟机跨云快速恢复的系统及方法