一种用于主机的kvm虚拟机网卡直通方法及其装置制造方法及图纸

技术编号:15555376 阅读:428 留言:0更新日期:2017-06-08 17:00
本发明专利技术公开了一种用于主机的kvm虚拟机网卡直通方法及其装置,包括接收虚拟机发送的网卡直通请求,确定虚拟机需要的网卡数量;控制主机的硬件虚拟化功能以及Intel_iommu处于打开状态;依据虚拟机需要的网卡数量,从主机中物理网卡的PCI地址列表内选取相应个数的物理网卡,并获取所选取的若干个物理网卡的PCI地址;依据PCI地址,拼接所选取的若干个物理网卡的xml配置文件;调用主机与虚拟机之间的连接接口,依据网卡直通请求内携带的虚拟机的标识符将xml配置文件发送至虚拟机内,供虚拟机使用所选取的若干个物理网卡。本发明专利技术使虚拟机能够直接使用主机的物理网卡,简化了信号传输过程,优化了虚拟机的性能。

KVM virtual machine network card through method used for host computer and device thereof

The invention discloses a method and apparatus for KVM through virtual machine network host, including virtual machine to send the card through the receiving request, determine the number of card virtual machine needs; hardware virtualization control host and Intel_iommu in the open state; according to the number of virtual machines to the card, select the appropriate number from the physical network card the physical network card in the host PCI address in the list, and access to a number of selected physical network card PCI address; according to the PCI address, XML configuration files of several physical card stitching selected; connection interface between call host and virtual machine, virtual machine through the network card identifier according to request to carry the send the XML configuration file to the virtual machine, a plurality of physical network card for virtual machine using the selected. The invention enables the virtual machine to directly use the physical network card of the host computer, simplifies the signal transmission process, and optimizes the performance of the virtual machine.

【技术实现步骤摘要】

本专利技术涉及虚拟化
,特别是涉及一种用于主机的kvm虚拟机网卡直通方法及其装置
技术介绍
虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机(虚拟机)。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。其中,物理计算机称为主机,多台逻辑计算机为客户机。目前,虚拟机使用的网卡为虚拟网卡,是通过将主机上的物理网卡虚拟化后得到的,虚拟机不能够直接使用主机上的物理网卡,使得虚拟机的网卡性能较差,信号传输的速度较慢。因此,如何提供一种能够提高虚拟机的网卡性能以及信号传输速率的用于主机的kvm虚拟机网卡直通方法及其装置是本领域技术人员目前需要解决的问题。
技术实现思路
本专利技术的目的是提供一种用于主机的kvm虚拟机网卡直通方法及其装置,使虚拟机能够直接使用主机的物理网卡,简化了信号传输过程,优化了虚拟机的性能。为解决上述技术问题,本专利技术提供了一种用于主机的kvm虚拟机网卡直通方法,包括:接收虚拟机发送的网卡直通请求,确定所述虚拟机需要的网卡数量;控制主机的硬件虚拟化功能以及Intel_iommu处于打开状态;依据所述虚拟机需要的网卡数量,从所述主机中物理网卡的PCI地址列表内选取相应个数的物理网卡,并获取所选取的若干个物理网卡的PCI地址;依据所述PCI地址,拼接所选取的若干个所述物理网卡的xml配置文件;调用主机与虚拟机之间的连接接口,依据所述网卡直通请求内携带的所述虚拟机的标识符将所述xml配置文件发送至所述虚拟机内,供所述虚拟机使用所选取的若干个所述物理网卡。优选地,所述控制主机的硬件虚拟化功能以及Intel_iommu处于打开状态的过程具体为:检测所述主机是否打开了硬件虚拟化功能,若未打开,控制所述主机开启硬件虚拟化功能;检测所述Intel_iommu是否处于开启状态,若未开启,重新编辑并生成所述主机的配置文件,控制所述Intel_iommu开启。优选地,所述主机与虚拟机之间的连接接口具体为:安装于所述主机上的、libvirtC函数库提供的attachDevice接口。为解决上述技术问题,本专利技术还提供了一种用于主机的kvm虚拟机网卡直通装置,包括:请求接收模块,用于接收虚拟机发送的网卡直通请求,确定所述虚拟机需要的网卡数量;功能开启模块,用于控制主机的硬件虚拟化功能以及Intel_iommu处于打开状态;选取模块,用于依据所述虚拟机需要的网卡数量,从所述主机中物理网卡的PCI地址列表内选取相应个数的物理网卡,并获取所选取的若干个物理网卡的PCI地址;拼接模块,用于依据所述PCI地址,拼接所选取的若干个所述物理网卡的xml配置文件;发送模块,用于调用主机与虚拟机之间的连接接口,依据所述网卡直通请求内携带的所述虚拟机的标识符将所述xml配置文件发送至所述虚拟机内,供所述虚拟机使用所选取的若干个所述物理网卡。优选地,所述功能开启模块具体包括:硬件检测单元,用于检测所述主机是否打开了硬件虚拟化功能,若未打开,控制所述主机开启硬件虚拟化功能;软件检测单元,用于检测所述Intel_iommu是否处于开启状态,若未开启,重新编辑并生成所述主机的配置文件,控制所述Intel_iommu开启。本专利技术提供了一种用于主机的kvm虚拟机网卡直通方法及其装置,主机接收虚拟机发送的网卡直通请求后,从自身物理网卡的PCI地址列表内选取虚拟机请求个数的物理网卡,依据选取的物理网卡的PCI地址拼接xml配置文件,然后将拼接后的xml配置文件发送至相应的虚拟机内,使得虚拟机的网卡列表内能够看到选取的若干个物理网卡,从而使虚拟机能够直接使用选取的这些物理网卡,直接使用物理网卡的方式与使用虚拟化后的虚拟网卡方式的相比,信号传输的过程简单,信号传输的速率更快,从而提高了虚拟机的网卡性能。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术提供的一种用于主机的kvm虚拟机网卡直通方法的过程的流程图;图2为本专利技术提供的一种用于主机的kvm虚拟机网卡直通装置的结构示意图。具体实施方式本专利技术的核心是提供一种用于主机的kvm虚拟机网卡直通方法及其装置,使虚拟机能够直接使用主机的物理网卡,简化了信号传输过程,优化了虚拟机的性能。为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术提供了一种用于主机的kvm虚拟机网卡直通方法,参见图1所示,图1为本专利技术提供的一种用于主机的kvm虚拟机网卡直通方法的过程的流程图;该方法包括:步骤s101:接收虚拟机发送的网卡直通请求,确定虚拟机需要的网卡数量;步骤s102:控制主机的硬件虚拟化功能以及Intel_iommu处于打开状态;步骤s103:依据虚拟机需要的网卡数量,从主机中物理网卡的PCI((PeripheralComponentInterconnect,外部设备互连总线)地址列表内选取相应个数的物理网卡,并获取所选取的若干个物理网卡的PCI地址;步骤s104:依据PCI地址,拼接所选取的若干个物理网卡的xml配置文件;具体实施时,通过lspci|grepEthernet列出主机中物理网卡的PCI地址列表。其中,每个物理网卡的xml配置文件的具体配置内容如下:以上配置中通过物理网卡的PCI地址来唯一标识一个物理网卡,也就是<addressdomain=’0x0000’bus=’0x04’slot=’0x00’function=’0x1’/>,其中domain、bus、slot、function的具体取值即为物理网卡的PCI地址;例如选中的物理网卡PCI地址为04:00:3那么对应的xml配置文件为:步骤s105:调用主机与虚拟机之间的连接接口,依据网卡直通请求内携带的虚拟机的标识符将xml配置文件发送至虚拟机内,供虚拟机使用所选取的若干个物理网卡。其中,步骤s102的过程具体为:检测主机是否打开了硬件虚拟化功能,若未打开,控制主机开启硬件虚拟化功能;检测Intel_iommu是否处于开启状态,若未开启,重新编辑并生成主机的配置文件,控制Intel_iommu开启。需要注意的是,上述两个步骤的先后顺序不作限定,两者也可同时并列进行,本专利技术对此不作限定。具体实施时,通过cat/proc/cmdline检Intel_iommu是否开启,若未开启,重新编辑主机配置文件/etc/default/grub,然后执行grub2-mkconfig–o/boot/grub2/grub.cfg命令重新生成配置文件,该配置文件在重启主机后生效。作为优选地,主机与虚拟机之间的连接接口具体为:安装于主机上的、libvirtC函数本文档来自技高网...
一种用于主机的kvm虚拟机网卡直通方法及其装置

【技术保护点】
一种用于主机的kvm虚拟机网卡直通方法,其特征在于,包括:接收虚拟机发送的网卡直通请求,确定所述虚拟机需要的网卡数量;控制主机的硬件虚拟化功能以及Intel_iommu处于打开状态;依据所述虚拟机需要的网卡数量,从所述主机中物理网卡的PCI地址列表内选取相应个数的物理网卡,并获取所选取的若干个物理网卡的PCI地址;依据所述PCI地址,拼接所选取的若干个所述物理网卡的xml配置文件;调用主机与虚拟机之间的连接接口,依据所述网卡直通请求内携带的所述虚拟机的标识符将所述xml配置文件发送至所述虚拟机内,供所述虚拟机使用所选取的若干个所述物理网卡。

【技术特征摘要】
1.一种用于主机的kvm虚拟机网卡直通方法,其特征在于,包括:接收虚拟机发送的网卡直通请求,确定所述虚拟机需要的网卡数量;控制主机的硬件虚拟化功能以及Intel_iommu处于打开状态;依据所述虚拟机需要的网卡数量,从所述主机中物理网卡的PCI地址列表内选取相应个数的物理网卡,并获取所选取的若干个物理网卡的PCI地址;依据所述PCI地址,拼接所选取的若干个所述物理网卡的xml配置文件;调用主机与虚拟机之间的连接接口,依据所述网卡直通请求内携带的所述虚拟机的标识符将所述xml配置文件发送至所述虚拟机内,供所述虚拟机使用所选取的若干个所述物理网卡。2.根据权利要求1所述的方法,其特征在于,所述控制主机的硬件虚拟化功能以及Intel_iommu处于打开状态的过程具体为:检测所述主机是否打开了硬件虚拟化功能,若未打开,控制所述主机开启硬件虚拟化功能;检测所述Intel_iommu是否处于开启状态,若未开启,重新编辑并生成所述主机的配置文件,控制所述Intel_iommu开启。3.根据权利要求1所述的方法,其特征在于,所述主机与虚拟机之间的连接接口具体为:安装于所述主机上的、libv...

【专利技术属性】
技术研发人员:亢宇飞刘为峰庞康宇刘洋
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南;41

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

1