一种基于Linux系统SR‑IOV功能的测试方法与流程

文档序号:12133950阅读:941来源:国知局

本发明涉及服务器测试技术领域,特别涉及一种基于Linux系统SR-IOV功能的测试方法。



背景技术:

随着IT技术的不断发展,如今几乎各行各业都在自己的公司内部建立了服务器,并且很多公司都会部署虚拟化环境。由于服务器的特殊地位,企业级服务器对虚拟化环境的性能要求很高,其中比较重要的一点就是I/O性能。

在虚拟化环境下,由于每台服务器上整合了更多的客户操作系统,数据进出系统的传输量(I/O流量)有所增加并且更趋复杂。如果没有硬件辅助,虚拟机监视器(VMM)必须直接参与每项I/O交易。这不仅会减缓数据传输速度,还会由于更频繁的VMM活动而增大服务器处理器的负载。SR-IOV技术实现了PCI硬件资源共享,进一步加强虚拟化机系统的I/O性能。SR-IOV是一种不需要软件模拟就可以共享I/O设备、I/O端口的物理功能的方法。这个过程创造了一系列I/O设备物理端口的虚拟功能。每个虚拟功能都被直接分配到一个虚拟机,因此实现了接近本机的性能。总的来说,SR-IOV实现了将PCI功能分配到多个虚拟接口以在虚拟化环境中共享一个PCI设备的资源。SR-IOV能够让网络传输绕过软件模拟层,直接分配到虚拟机。这样就降低了软加模拟层中的I/O开销。

由于SR-IOV技术不但能加速数据传输,极大地提高I/O设备的利用率,而且消除了大部分的CPU性能开销,使处理器获得更多的可用周期来处理业务应用,越来越多的公司都会在虚拟化环境中都会应用这项技术。因此,服务器的开发商对SR-IOV的要求越来越高,无论是在服务器的研发阶段还是测试阶段,都会对SR-IOV功能进行测试,这是服务器测试过程中不可缺少的一个环节。

基于上述情况,本发明提出了一种基于Linux系统SR-IOV功能的测试方法。



技术实现要素:

本发明为了弥补现有技术的缺陷,提供了一种简单高效的基于Linux系统SR-IOV功能的测试方法。

本发明是通过如下技术方案实现的:

一种基于Linux系统SR-IOV功能的测试方法,其特征在于包括以下步骤:

(1)将Linux系统中BIOS的SR-IOV选项均设置为Enabled,同时准备一张支持虚拟化功能的物理网卡和Windows 2012 R2系统镜像;

(2)在Linux系统中,将物理网卡虚拟出虚拟网卡,并查看板载网卡的驱动名称,设置每个物理网口虚拟出多少个虚拟网口;

(3)在Linux系统中下创建一个虚拟机并安装windows 2012 R2系统;

(4)往虚拟机里添加虚拟网卡,并确认在所创建虚拟机的Windows 2012 R2系统下可识别到所述虚拟网卡;

(5)完成测试,将虚拟机删除,重新加载网卡驱动即可。

所述步骤(3)中,将Windows 2012 R2系统的系统镜像拷贝到Linux系统下,并创建一个raw格式的磁盘,在Linux系统下的图形界面创建一个虚拟机,并安装Windows 2012 R2 系统。

所述步骤(4)中,打开虚拟机界面后,选择添加一个步骤(2)中虚拟出的虚拟网卡,添加完成之后在Windows 2012 R2系统下设备管理器中查看添加的虚拟网卡是否存在,以确保所创建虚拟机的Windows 2012 R2系统下可识别到所述虚拟网卡。

所述步骤(4)中,若往虚拟机中添加虚拟网卡设备时报错,无法添加虚拟网卡,则将内核参数intel_iommu=on附加至Linux系统内核命令行,保存并重启Linux系统,返回步骤(1)。

所述Linux系统采用Redhat 7.2系统。

本发明的有益效果是:该基于Linux系统SR-IOV功能的测试方法,利用Redhat系统自带虚拟化功能创建虚拟机并安装系统,通过往虚拟系统里添加虚拟网卡查看是否识别来测试SR-IOV功能,无需配置较复杂的虚拟化环境,操作简单,实用性较强,在研发阶段和测试阶段阶段都有着实际而深刻的意义。

具体实施方式

为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

该基于Linux系统SR-IOV功能的测试方法,包括以下步骤:

(1)将Linux系统中BIOS的SR-IOV选项均设置为Enabled,同时准备一张支持虚拟化功能的物理网卡和Windows 2012 R2系统镜像;

所述Linux系统可以采用Redhat 7.2系统;所述支持虚拟化功能的物理网卡可以采用板载I350网卡。

(2)在Linux系统中,将物理网卡虚拟出虚拟网卡,并查看板载网卡的驱动名称,设置每个物理网口虚拟出多少个虚拟网口;

用如下命令查看板载网卡的驱动名称:

#lspci |grep I350

#lspci –vvvv –s 0a:00.0

经查看,板载I350网卡驱动名称为igb。

用如下命令设置每个物理网口虚拟出多少个虚拟网口,一般设置为2,可更改:

#rmood igb

#modprobe igb max_vfs=2

(3)将Windows 2012 R2系统的系统镜像拷贝到Linux系统下,并创建一个raw格式的磁盘,在Linux系统下的图形界面创建一个虚拟机,并安装Windows 2012 R2 系统。

将Windows 2012 R2系统的OS镜像拷贝到Redhat7.2系统下后,用如下命令创建一个raw格式的磁盘:

#qemu-img create -f raw filename.img size

在Redhat 7.2系统下在图形界面通过如下路径创建一个虚拟机,并按照提示安装Windows 2012 R2 系统:

Applications -> System Tools -> Virtual Machine Manager

(4)双击打开虚拟机界面,在上侧单击View -> Detials -> 右键Add Hardware –> Add Host Device ->PCI_Host_Device,选择一个第(1)步中虚拟出的虚拟网卡添加,添加完成之后查看在左侧会出现该设备。打开虚拟机界面后,选择添加一个步骤(2)中虚拟出的虚拟网卡,添加完成之后在Windows 2012 R2系统下设备管理器中查看添加的虚拟网卡是否存在,以确保所创建虚拟机的Windows 2012 R2系统下可识别到所述虚拟网卡。

若往虚拟机中添加虚拟网卡设备时报错,无法添加虚拟网卡,则要进行如下操作来Enable Redhat7.2系统的虚拟化功能:

#vim /etc/grubz.cfg

将内核参数intel_iommu=on附加至Linux系统内核命令行,添加完成之后保存并重启Linux系统,返回步骤(1)。

(5)完成测试,将虚拟机删除,重新加载网卡驱动即可。

#modprobeigb。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1