一种实时虚拟机部署的方法技术

技术编号:26259052 阅读:57 留言:0更新日期:2020-11-06 17:53
一种实时虚拟机部署的方法,首先初始化虚拟机的存储域、存储池、时区信息,并更新到虚拟机静态数据表,然后验证虚拟机的启动参数,当虚拟机的启动参数验证通过时,分配虚拟机实时计算资源,包括CPU、内存、网卡,组装包含需要分配计算资源的参数xml文件,并发送至主机,最后主机完成计算资源的隔离和分配,完成部署,启动虚拟机,并返回部署结果和虚拟机当前状态。本发明专利技术能自动验证实时资源是否满足部署需求,提供部署环境,给实时虚拟机分配实时资源,保证了实时虚拟机的实时性的同时,又省去很多操作步骤,具有很好的实用效果。

【技术实现步骤摘要】
一种实时虚拟机部署的方法
本专利技术涉及云计算中虚拟机部署领域,特别是一种实时虚拟机部署的方法。
技术介绍
现有的普通虚拟机的部署可以超分配CPU并且没有绑定CPU,这种方式会发生其他线程占用CPU,导致CPU调度延迟,以及虚拟机直接互相stealtime,影响CPU调度延迟,从而导致整个虚拟机延迟性变高,不适合对延迟性要求苛刻的应用场景。另外,现有的普通虚拟机的部署可以超分配内存,这种方式会导致内存被交换到主机上,以及QEMU内存被交换导致延迟,影响实时性。
技术实现思路
本专利技术解决的技术问题是:克服现有技术的不足,提供了一种实时虚拟机部署的方法,解决了现有的虚拟机部署技术不能提供低延迟性能或者实时资源的问题,实现了在部署实时虚拟机时,能够给实时虚拟机分配实时资源,满足实时虚拟机所需求的实时性。本专利技术的技术解决方案是:一种实时虚拟机部署的方法,包括如下步骤:(1)初始化虚拟机的存储域、存储池、时区信息,并更新到虚拟机静态数据表;验证虚拟机的启动参数;(2)当虚拟机的启动参数验证通过时,分配虚拟机实时计算资源,包括CPU、内存、网卡,组装包含需要分配计算资源的参数xml文件,并发送至主机;(3)主机完成计算资源的隔离和分配,完成部署,启动虚拟机,并返回部署结果和虚拟机当前状态。所述的步骤(1)中初始化虚拟机的存储域的方法为:当存储域存在且状态为激活状态时,将存储域id更新到虚拟机静态数据表,其中,存储域表示保存虚拟机镜像和iso的文件系统,存储域在文件系统可以访问的情况下可以激活。所述的步骤(1)中初始化虚拟机的存储池的方法为:当主机存在存储池时,获取存储池id并更新到虚拟机静态数据表中,其中,存储池是对存储域的批量管理。所述的步骤(1)中初始化虚拟机的时区信息的方法为:当宿主机是Windows时,将时区设为GMTStandardTime,其他系统设为Etc/GMT。所述的步骤(1)中验证虚拟机的启动参数的方法为:检查主机透传功能是否正常,包括主机的pci、scsi、usb设备能被虚拟机使用;检查实时CPU是否被其他虚拟机占用;检查实时虚拟机内存是否充足;检查主机实时网卡设备是否被占用。所述的步骤(2)中当虚拟机的启动参数验证通过时,分配虚拟机实时计算资源的方法为:(21)绑定CPU;获取编辑实时虚拟机时选择的CPU序号,通过taskset命令设置虚拟机CPU亲和性,进而隔离出CPU以供实时虚拟机使用;(22)分配内存;大页分配连续内存,并通过设置MaxMem大小和memoryBacking=locked参数,以禁止内存气泡和内存交换导致延迟;(23)分配实时网卡。所述的步骤(2)中组装包含需要分配计算资源的参数xml文件,并发送至主机的方法为:获取编辑虚拟机时选择的实时设备名列表,组装成xml参数文件,通过rpc发送给主机,主机的libvirt使用hostdev标签实现透传设备给虚拟机使用。所述的步骤(1)初始化虚拟机的存储域、存储池、时区信息,或者验证虚拟机的启动参数或者主机完成计算资源的隔离和分配失败时,返回错误提示。本专利技术与现有技术相比的优点在于:(1)本专利技术与现有技术相比,能自动验证实时资源是否满足部署需求,提供部署环境,给实时虚拟机分配实时资源,保证了实时虚拟机的实时性的同时,又省去很多操作步骤,具有很好的实用效果;(2)本专利技术通过在主机上分离CPU,在指定CPU给某个实时虚拟机,避免了其他线程与虚拟机竞争CPU资源;(3)本专利技术通过防止内存交换,解决了内存使用过多时因为内存交换而影响实时性。附图说明图1为一种实时虚拟机部署的方法示意图。具体实施方式本专利技术克服现有技术的不足,提供了一种实时虚拟机部署的方法,解决了现有的虚拟机部署技术不能提供低延迟性能或者实时资源的问题,实现了在部署实时虚拟机时,能够给实时虚拟机分配实时资源,满足实时虚拟机所需求的实时性,下面结合附图对本专利技术进行更细的解释和说明,如图1所示为一种实时虚拟机部署的方法示意图。本专利技术方法的实现环境为:一台主机用于启动虚拟机,虚拟机的镜像保存在其他主机上,并通过网络文件系统提供给启动虚拟机的主机。本专利技术方法中主机分离出部分cpu、实时网卡、实时内存作为实时资源,实时和非实时内存资源的隔离是保存在虚拟机化管理平台的数据库中的。实时虚拟机部署过程,就是计算虚拟机镜像(存储域)是否能够访问,然后计算实时资源是否足够,最后启动虚拟机的过程。1.初始化/验证(1)启动初始化,初始化虚拟机存储域、存储池、时区等参数,为实时虚拟机部署提供环境,如:设置存储域,首先判断存储域是否存在,若不存在则返回错误提示。然后判断存储域状态是否为激活状态,如果不是激活状态,则返回错误提示。若都满足,将存储域id更新到虚拟机静态数据表(虚拟机静态数据表是数据库中一张表,保存了虚拟机创建后不会改变的数据,如存储域、存储池等)中。存储域用来表示保存虚拟机镜像和iso的文件系统,该文件系统包括本地文件系统、网络文件系统(比如nfs、glusterfs)等。一个存储域表示一个本地文件系统的目录或一个网络文件系统的连接,存储域在文件系统可以访问的情况下可以激活。初始化存储池,判断主机是否存在存储池,若存在,则获取存储池id更新到虚拟机静态数据表中。存储池是对存储域的批量管理,前面说存储域是网络文件系统的连接,而每个主机都可以挂载很多存储域,存储池是对主机上这些域的统一管理。设置时区,如果宿主机是Windows,则时区为GMTStandardTime,其他系统则为Etc/GMT。更新初始化信息到数据库,把存储域、存储池、时区信息更新到虚拟机静态数据表。(2)验证启动参数(启动参数包括内存、cpu等虚拟机所需要的资源,验证它们在主机上是否能得到满足),判断参数是否满足启动需求,以及实时资源是否满足部署需求,如:检查主机透传功能是否可用。主机透传即主机可以把它的pci、scsi、usb设备给虚拟机使用,不需要虚拟机虚拟出对应的设备,这样可以减少延迟。实时CPU是否满足需求,验证CPU是否实时,是否被其他虚拟机占用,如果其他虚拟机配置了此CPU,但是是断电状态,那么也可以使用。实时虚拟机内存是否充足:可使用内存=主机实时内存-已使用内存。主机实时网卡设备是否被占用。如果验证启动参数不通过,将返回错误提示给操作人员。2.分配实时资源(1)绑定CPU若参数验证通过,则获取编辑虚拟机时选择的CPU序号,通过taskset命令taskset-cpCPU号pid设置虚拟机CPU亲和性,隔离出这几个CPU,专供此实时虚拟机使用。虚拟机的CPU对应主机上一个线程,线程绑定在主机CPU上,即多个虚拟机CPU对应1个主机的CPU本文档来自技高网...

【技术保护点】
1.一种实时虚拟机部署的方法,其特征在于包括如下步骤:/n(1)初始化虚拟机的存储域、存储池、时区信息,并更新到虚拟机静态数据表;验证虚拟机的启动参数;/n(2)当虚拟机的启动参数验证通过时,分配虚拟机实时计算资源,包括CPU、内存、网卡,组装包含需要分配计算资源的参数xml文件,并发送至主机;/n(3)主机完成计算资源的隔离和分配,完成部署,启动虚拟机,并返回部署结果和虚拟机当前状态。/n

【技术特征摘要】
1.一种实时虚拟机部署的方法,其特征在于包括如下步骤:
(1)初始化虚拟机的存储域、存储池、时区信息,并更新到虚拟机静态数据表;验证虚拟机的启动参数;
(2)当虚拟机的启动参数验证通过时,分配虚拟机实时计算资源,包括CPU、内存、网卡,组装包含需要分配计算资源的参数xml文件,并发送至主机;
(3)主机完成计算资源的隔离和分配,完成部署,启动虚拟机,并返回部署结果和虚拟机当前状态。


2.根据权利要求1所述的一种实时虚拟机部署的方法,其特征在于:所述的步骤(1)中初始化虚拟机的存储域的方法为:
当存储域存在且状态为激活状态时,将存储域id更新到虚拟机静态数据表,其中,存储域表示保存虚拟机镜像和iso的文件系统,存储域在文件系统可以访问的情况下可以激活。


3.根据权利要求2所述的一种实时虚拟机部署的方法,其特征在于:所述的步骤(1)中初始化虚拟机的存储池的方法为:
当主机存在存储池时,获取存储池id并更新到虚拟机静态数据表中,其中,存储池是对存储域的批量管理。


4.根据权利要求3所述的一种实时虚拟机部署的方法,其特征在于:所述的步骤(1)中初始化虚拟机的时区信息的方法为:
当宿主机是Windows时,将时区设为GMTStandardTime,其他系统设为Etc/GMT。


5.根据权利要求4所述的一种实时虚拟机部署的方法,其特征在于:所述的步骤(1)中验证...

【专利技术属性】
技术研发人员:卫宁张哲李国兵周江福陈卓李海波贺磊王户
申请(专利权)人:中国船舶工业系统工程研究院
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1