一种针对实时虚拟机实例管理的方法技术

技术编号:24120463 阅读:46 留言:0更新日期:2020-05-13 02:55
一种针对实时虚拟机实例管理的方法,首先分离实时虚拟机宿主机指定物理CPU上的线程,在启动实时虚拟机的时候,把虚拟机的vCPU附加到该物理CPU上,然后锁定内存使实时虚拟机启动时得到足够内存,使用主机透传把宿主机上的实时网卡绑定给实时虚拟机,最后在宿主机后台禁用实时虚拟机的虚拟网卡功能,快照功能,迁移功能,暂停功能,在线修改CPU、内存、磁盘功能,克隆功能。本发明专利技术与现有技术相比,通过把CPU上的其他线程全部分离,一个CPU上最多附加一个实时虚拟机的CPU,保证了实时虚拟机vCPU的性能。

A method of real-time virtual machine instance management

【技术实现步骤摘要】
一种针对实时虚拟机实例管理的方法
本专利技术涉及一种针对实时虚拟机实例管理的方法。
技术介绍
现有的虚拟机实例管理技术,就是配置虚拟机的CPU、内存、磁盘、网卡、控制台、串口、PCI透传,并查看虚拟机状态,创建、删除、启动、暂停、恢复、关闭、重启、断电、迁移虚拟机的技术。上述现有技术中虚拟机的CPU是作为线程附加到宿主机CPU上,称为vCPU,vCPU作为普通线程与宿主机CPU上的其他线程会竞争CPU资源,因此单个vCPU的性能肯定远远不如物理机CPU的性能,并且实时性也无法得到保证;虚拟机上分配的内存并不会马上在宿主机上占用同等大小的内存,而是按照虚拟机用多少、主机就分配多少的方式,如果出现内存超分配的情况,即已启动的虚拟机分配的内存之和大于宿主机可用内存,当每个虚拟机内存占用较多的时候,就会产生虚拟机上还有剩余内存,但宿主机内存已经全部分配,导致虚拟机非常卡的情况;给虚拟机创建一张虚拟网卡,虚拟网卡连接虚拟网络,虚拟网络连接物理网卡,虚拟机就通过这种方式与外界通信,如图1所示为虚拟网卡通过虚拟网络连接物理网卡示意图,虚拟机的虚拟网卡通过虚拟机网络与物理网卡通信,那么网络延迟就会变高。
技术实现思路
本专利技术解决的技术问题是:克服现有技术的不足,提供了一种针对实时虚拟机实例管理的方法,解决了现有技术中CPU、内存、网卡管理对于实时操作系统和实时虚拟机不满足要求的问题,建立了管理实时虚拟机的CPU、内存、网卡的方法,通过对虚拟机CPU、内存、网卡的管理,减少虚拟机延迟、卡顿,提高虚拟机性能,以符合实时虚拟机对实时性的需求。本专利技术的技术解决方案是:一种针对实时虚拟机实例管理的方法,包括如下步骤:(1)分离实时虚拟机宿主机指定物理CPU上的线程,在启动实时虚拟机的时候,把虚拟机的vCPU附加到该物理CPU上;(2)锁定内存使实时虚拟机启动时得到足够内存,且不会用于交换内存;(3)使用主机透传把宿主机上的实时网卡绑定给实时虚拟机,且实时虚拟机在对应的宿主机启动,且实时网卡不能被当前实时虚拟机之外的虚拟机使用;(4)在宿主机后台禁用实时虚拟机的虚拟网卡功能,快照功能,迁移功能,暂停功能,在线修改CPU、内存、磁盘功能,克隆功能。所述的步骤(1)中分离虚拟机宿主机指定物理CPU上的线程的方法为:控制启动参数isocpus=cpu号,使宿主机上普通线程不会运行在isocpus指定的cpu上,进而使宿主机在启动后,其他线程不会附加到这些cpu上。所述的步骤(2)中锁定内存使实时虚拟机启动时得到足够内存,且不会用于交换内存的方法为:(21)使用大页分配连续的内存,然后令虚拟机管理进程使用大页内存空间,再分配给虚拟机;(22)设置memballoon的属性model='none'用于禁止内存气泡,或者不设置maxMemory的值,设置currentMemory的值为memory的值,以禁止内存大小动态调整;(23)设置memtune的swap_hard_limit和hard_limit为memory的值,以禁止交换内存。所述的使用主机透传把宿主机上的实时网卡绑定给实时虚拟机的方法为:(31)确认bios中vt-d、vt-x开启,其中,vt-x对处理器进行硬件虚拟化,vt-d是对芯片组支持直接I/O访问的硬件虚拟化;(32)配置开启主机设备透传功能对应的启动参数intel_iommu=on;(33)解绑实时网卡;(34)启动实时虚拟机时,通过hostdev配置绑定实时网卡,并绑定到对应的实时虚拟机。所述的禁用功能还包括影响实时虚拟机实时性的功能。所述的每个宿主CPU上最多绑定1个vCPU,以保证vCPU速度。本专利技术与现有技术相比的优点在于:(1)本专利技术通过启动参数把CPU上的其他线程全部分离,CPU上附加实时虚拟机的vCPU的时候,一个CPU上最多附加一个实时虚拟机的CPU,这样可以保证实时虚拟机vCPU的性能;(2)本专利技术在启动实时虚拟机的时候,通过设置当前内存和最大内存一样,禁止交换内存,禁止内存气泡,锁定内存,来保证实时虚拟机的内存不被占用,实时虚拟机使用实时网卡是通过主机设备透传,因此要保证实时网卡不被普通的虚拟机使用,也不能被多个实时虚拟机使用;(3)本专利技术能够从实时虚拟机管理的方面保证实时虚拟机的实时性,相对于处于物理机上的实时操作系统来说,在尽量保证实时性的前提下可以发挥虚拟机对于物理机的优势,使用起来十分方便;相对于普通虚拟机来说,具有很强的实时性。同时具备了实时操作系统的实时性和虚拟机的便捷性的优点。附图说明图1为虚拟网卡通过虚拟网络连接物理网卡示意图;图2为实时虚拟机管理的4个模块;图3为实时虚拟机管理需要禁用的功能图。具体实施方式本专利技术克服现有技术的不足,提供了一种针对实时虚拟机实例管理的方法,解决了现有技术中CPU、内存、网卡管理对于实时操作系统和实时虚拟机不满足要求的问题,建立了管理实时虚拟机的CPU、内存、网卡的方法,通过对虚拟机CPU、内存、网卡的管理,减少虚拟机延迟、卡顿,提高虚拟机性能,以符合实时虚拟机对实时性的需求,下面结合附图对本专利技术方法进行更详细的解释和说明,如图2所示为实时虚拟机管理的4个模块。(1)CPU管理(11)提高CPU实时性的办法是通过宿主机(虚拟机是作为一个进程运行在宿主机上的)启动参数,分离指定CPU上的线程,在启动实时虚拟机的时候,把vCPU(vCPU即为虚拟机的CPU,对应宿主机上一个线程)附加到指定的物理CPU上。(12)启动参数是isocpus(使主机上普通线程不会运行在isocpus指定的cpu上)=cpu号,可以使主机在启动之后,其他线程不会附加到这些cpu上。(13)指定实时虚拟机启动的宿主机及CPU号。由于网卡管理中实时网卡绑定主机的原因,所以必须为实时虚拟机指定固定的宿主机的CPU号,然后根据算法确定某台宿主机启动实时虚拟机。每个CPU上最多绑定1个vCPU,这样可以保证vCPU速度。(2)内存管理通过锁定内存的方式,使得实时虚拟机启动的时候就能得到足够内存,并且不会被用于交换内存。(21)锁定内存使用大页(hugepages)分配一段连续的内存,然后让虚拟机管理进程使用大页内存空间,再分配给虚拟机。(22)配置实时虚拟机的固定内存由于实时虚拟机内存固定,不需要增加和减少,所以普通虚拟机的内存气泡(Balloon,就是虚拟机在运行中可以动态调整内存大小)机制就不需要了。也就不需要配置当前内存和最大内存。也不需要配置交换内存,因为这会影响实时性。(23)禁止内存气泡设置memballoon的属性model='none'用于禁止内存气泡。也可以通过不设置maxMemory的值,设置currentMemory的值为memory的值禁止内存大小动态调整本文档来自技高网...

【技术保护点】
1.一种针对实时虚拟机实例管理的方法,其特征在于包括如下步骤:/n(1)分离实时虚拟机宿主机指定物理CPU上的线程,在启动实时虚拟机的时候,把虚拟机的vCPU附加到该物理CPU上;/n(2)锁定内存使实时虚拟机启动时得到足够内存,且不会用于交换内存;/n(3)使用主机透传把宿主机上的实时网卡绑定给实时虚拟机,且实时虚拟机在对应的宿主机启动,且实时网卡不能被当前实时虚拟机之外的虚拟机使用;/n(4)在宿主机后台禁用实时虚拟机的虚拟网卡功能,快照功能,迁移功能,暂停功能,在线修改CPU、内存、磁盘功能,克隆功能。/n

【技术特征摘要】
1.一种针对实时虚拟机实例管理的方法,其特征在于包括如下步骤:
(1)分离实时虚拟机宿主机指定物理CPU上的线程,在启动实时虚拟机的时候,把虚拟机的vCPU附加到该物理CPU上;
(2)锁定内存使实时虚拟机启动时得到足够内存,且不会用于交换内存;
(3)使用主机透传把宿主机上的实时网卡绑定给实时虚拟机,且实时虚拟机在对应的宿主机启动,且实时网卡不能被当前实时虚拟机之外的虚拟机使用;
(4)在宿主机后台禁用实时虚拟机的虚拟网卡功能,快照功能,迁移功能,暂停功能,在线修改CPU、内存、磁盘功能,克隆功能。


2.根据权利要求1所述的一种针对实时虚拟机实例管理的方法,其特征在于:所述的步骤(1)中分离虚拟机宿主机指定物理CPU上的线程的方法为:
控制启动参数isocpus=cpu号,使宿主机上普通线程不会运行在isocpus指定的cpu上,进而使宿主机在启动后,其他线程不会附加到这些cpu上。


3.根据权利要求2所述的一种针对实时虚拟机实例管理的方法,其特征在于:所述的步骤(2)中锁定内存使实时虚拟机启动时得到足够内存,且不会用于交换内存的方法为:
(21)使用大页分配连续的内存,然后令虚拟机管理进程使用大页内存空间,再分配给虚拟机;

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

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

1