CN115567420A - 云平台加载虚拟网卡的测试方法、系统、设备及存储介质 - Google Patents

云平台加载虚拟网卡的测试方法、系统、设备及存储介质 Download PDF

Info

Publication number
CN115567420A
CN115567420A CN202211190466.3A CN202211190466A CN115567420A CN 115567420 A CN115567420 A CN 115567420A CN 202211190466 A CN202211190466 A CN 202211190466A CN 115567420 A CN115567420 A CN 115567420A
Authority
CN
China
Prior art keywords
virtual network
network card
scene
pod
combined
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211190466.3A
Other languages
English (en)
Inventor
王文潇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202211190466.3A priority Critical patent/CN115567420A/zh
Publication of CN115567420A publication Critical patent/CN115567420A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种云平台加载虚拟网卡的测试方法、系统、设备及存储介质,应用于云平台技术领域,包括:确定出pod中进行虚拟化的各个物理网卡,并按照确定出的各个物理网卡,生成包括虚拟网卡各种可能的组合场景的场景集合;从场景集合中依次选取出各种组合场景,并且在选取出任意一种组合场景之后,将组合场景中的虚拟网卡信息挂载至pod中,并且验证在组合场景下的pod的网络通讯状态,并在验证完毕之后选取出下一种组合场景;当场景集合中的任意一种组合场景均被选取之后,得到云平台的虚拟网卡测试结果。应用本申请的方案,可以全面、有效地进行虚拟网卡的健康测试,不会受到业务变化的影响。

Description

云平台加载虚拟网卡的测试方法、系统、设备及存储介质
技术领域
本发明涉及云平台技术领域,特别是涉及一种云平台加载虚拟网卡的测试方法、系统、设备及存储介质。
背景技术
Kubernetes,简称K8s,是一个开源的,用于管理云平台中多个主机上的容器化的应用。Kubernetes的崛起将软件开发和架构带入了云原生时代,其包容兼并的优势吸引了一大批开发者的追随。例如,Kubernetes提供了device plugin(设备插件)机制,提供了相应的接口标准供厂商实现,完美兼容了大多数硬件厂商的硬件,将其纳入Kubernetes集群的管理中。CNI(Container Network Interface,容器网络接口)机制的使用也大幅提升了Kubernetes集群的网络拓扑结构的拓展性,多种CNI网络插件的配合使得很多网络问题迎刃而解,同时也增强了集群的网络拓扑能力。Operator模式的提出为开发者提供了一种快速融入Kubernetes集群逻辑管理的捷径。作为该领域的集大成者,Kubernetes也在不断地发展,从而促进更多云原生项目的落地。
sriov技术可以让单个物理PCIe(Peripheral Component InterconnectExpress,高速串行计算机扩展总线标准)设备虚拟出多个虚拟PCIe设备,sirov技术引入了两种类型功能的概念:PF(Physical Function,物理功能)和VF(Virtual Function,虚拟功能)。VF就是设备虚拟化后的功能描述,是一种轻量级PCIe功能,可以与物理功能以及与同一物理功能关联的其他VF共享一个或多个物理资源。因此,目前的一些具备该功能的高端网卡会将一个物理网卡设置为多个VF虚拟网卡的模式使用,这种使用方式也逐渐被应用至Kubernetes集群中。
目前,如何在pod中加载多个VF网卡使用,成了工程师需要面对的问题,这类似于给物理机安装多个物理网卡,但在pod中的VF网卡都属于虚拟逻辑,需要检测其健康状态,如果pod中存在一个VF虚拟卡出现问题,将可能导致一些使用该虚拟网卡的业务逻辑发生阻塞,例如一些分布式训练任务需要通过VF网卡通讯。而目前进行VF网卡的检测时,通常是由工作人员进行相关参数的设置,再进行检测,但是,用户的业务经常发生改变,所需要使用的VF网卡或者VF网卡的组合,也会随之变化,因此,即便工作人员检测当前业务所使用的VF网卡的健康状态之后,在后续的使用过程中,仍然会不时地出现使用虚拟网卡的业务逻辑发生阻塞的情况。
综上所述,如何有效地进行虚拟网卡的健康检测,使得检测结果不受业务变化的影响,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种云平台加载虚拟网卡的测试方法、系统、设备及存储介质,以有效地进行虚拟网卡的健康检测,使得检测结果不受业务变化的影响。
为解决上述技术问题,本发明提供如下技术方案:
一种云平台加载虚拟网卡的测试方法,应用于云平台中的任一pod中,包括:
确定出pod中进行虚拟化的各个物理网卡,并按照确定出的各个所述物理网卡,生成包括虚拟网卡各种可能的组合场景的场景集合;
从所述场景集合中依次选取出各种组合场景,并且在选取出任意一种组合场景之后,将所述组合场景中的虚拟网卡信息挂载至所述pod中,并且验证在所述组合场景下的所述pod的网络通讯状态,并在验证完毕之后选取出下一种组合场景;
当所述场景集合中的任意一种组合场景均被选取之后,得到所述云平台的虚拟网卡测试结果。
优选的,所述确定出pod中进行虚拟化的各个物理网卡,并按照确定出的各个所述物理网卡,生成包括虚拟网卡各种可能的组合场景的场景集合,包括:
确定出pod中进行虚拟化的各个物理网卡,并判断确定出的物理网卡总数量n是否大于1;
如果否,则确定出pod中单个物理网卡进行虚拟化,并生成包括K种组合场景的场景集合;
如果是,则基于确定出的各个所述物理网卡各自所虚拟出的虚拟网卡,生成包括虚拟网卡各种可能的组合场景的场景集合;
其中,针对所述场景集合中的任意一种组合场景,该组合场景中包括分别由n个所述物理网卡所虚拟出的n个虚拟网卡;所述场景集合中的任意2种组合场景的虚拟网卡信息不同;所述K表示的是所述单个物理网卡所虚拟出的虚拟网卡总数量。
优选的,所述从所述场景集合中依次选取出各种组合场景,包括:
通过阻塞队列的方式,从所述场景集合中依次选取出各种组合场景。
优选的,所述验证在所述组合场景下的所述pod的网络通讯状态,包括:
当所述组合场景下仅包括单个虚拟网卡时,如果单个虚拟网卡通讯状态正常时,则确定所述组合场景下的所述pod的网络通讯状态正常;
当所述组合场景下包括至少2个虚拟网卡时,如果所述组合场景下的任意2个虚拟网卡之间的通讯状态正常,则确定所述组合场景下的所述pod的网络通讯状态正常。
优选的,所述得到所述云平台的虚拟网卡测试结果,包括:
当各种所述组合场景下的所述pod的网络通讯状态均正常时,得到表示测试通过的云平台的虚拟网卡测试结果;
当至少一种所述组合场景下的所述pod的网络通讯状态不正常时,得到表示测试不通过的云平台的虚拟网卡测试结果,且所述虚拟网卡测试结果中携带有导致所述pod的网络通讯状态不正常的每一种所述组合场景。
优选的,所述将所述组合场景中的虚拟网卡信息挂载至所述pod中,包括:
用所述组合场景中的虚拟网卡信息替换云平台中当前所分配的虚拟网卡信息,以使所述组合场景中的虚拟网卡信息传入所述pod的环境变量中;
从云平台的目标文件中读取所述环境变量,以获取所述组合场景中的虚拟网卡信息,并将获取的所述组合场景中的虚拟网卡信息挂载至所述pod中。
优选的,所述将获取的所述组合场景中的虚拟网卡信息挂载至所述pod中,包括:
通过预设插件将获取的所述组合场景中的虚拟网卡信息挂载至所述pod中。
一种云平台加载虚拟网卡的测试系统,应用于云平台中的任一pod中,包括:
场景集合生成模块,用于确定出pod中进行虚拟化的各个物理网卡,并按照确定出的各个所述物理网卡,生成包括虚拟网卡各种可能的组合场景的场景集合;
虚拟网卡信息挂载模块,用于从所述场景集合中依次选取出各种组合场景,并且在选取出任意一种组合场景之后,将所述组合场景中的虚拟网卡信息挂载至所述pod中,并且验证在所述组合场景下的所述pod的网络通讯状态,并在验证完毕之后选取出下一种组合场景;
虚拟网卡测试结果确认模块,用于当所述场景集合中的任意一种组合场景均被选取之后,得到所述云平台的虚拟网卡测试结果。
一种云平台加载虚拟网卡的测试设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上述所述的云平台加载虚拟网卡的测试方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的云平台加载虚拟网卡的测试方法的步骤。
应用本发明实施例所提供的技术方案,考虑到传统方案中,是按照当前业务对于虚拟网卡的使用情况,进行健康监测,导致检测的全面性不足、对此,本申请的方案中,将所有可能产生的场景一一列举,从而高效、全面地进行虚拟网卡的健康检测。具体的,本申请会确定出pod中进行虚拟化的各个物理网卡,并按照确定出的各个物理网卡,生成包括虚拟网卡各种可能的组合场景的场景集合,也就是说,场景集合中的不同的组合场景,代表了按照确定出的各个物理网卡,能够组合出的各种虚拟网卡的组合方式。因此,从场景集合中依次选取出各种组合场景,将选取出的组合场景中的虚拟网卡信息挂载至pod之后,就可以验证在组合场景下的pod的网络通讯状态。当场景集合中的任意一种组合场景均被选取之后,说明进行了全部组合场景的的验证,即可以得到全面的云平台的虚拟网卡测试结果,也就有效地保障了需要使用虚拟网卡的业务逻辑的网络通畅性,且不会受到业务变化的影响。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明中一种云平台加载虚拟网卡的测试方法的实施流程图;
图2为本发明中一种具体实施方式中生成的场景集合的示意图;
图3为本发明中一种云平台加载虚拟网卡的测试系统的结构示意图;
图4为本发明中一种云平台加载虚拟网卡的测试设备的结构示意图。
具体实施方式
本发明的核心是提供一种云平台加载虚拟网卡的测试方法,可以全面、有效地进行虚拟网卡的健康测试,有效地保障了需要使用虚拟网卡的业务逻辑的网络通畅性,且不会受到业务变化的影响。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明中一种云平台加载虚拟网卡的测试方法的实施流程图,该云平台加载虚拟网卡的测试方法可以应用于云平台中的任一pod中,可以包括以下步骤:
步骤S101:确定出pod中进行虚拟化的各个物理网卡,并按照确定出的各个物理网卡,生成包括虚拟网卡各种可能的组合场景的场景集合。
具体的,本申请的云平台通常可以为基于Kubernetes的云平台。云平台中可以设置有多个pod,pod是云平台中的最小容器部署单元,本申请的云平台加载虚拟网卡的测试方法可以应用于云平台中的任一pod中,也就是说,任意选取1个pod,便可以用来执行本申请的方案,实现对于虚拟网卡的监控测试。
首先,需要确定出pod中进行虚拟化的各个物理网卡,即收集本机所有的PF物理网卡信息,从而统计出数量,并且可以确定出各个物理网卡各自所管理的虚拟网卡的数量。可以理解的是,不同物理网卡所虚拟出的虚拟网卡的数量可以不同,即不同物理网卡各自所管理的虚拟网卡的数量可以不同。当然,也可能存在未进行虚拟化的物理网卡,则这样的物理网卡并不在本申请的统计范围内,即步骤S101中只需要确定出进行虚拟化的各个物理网卡。
由于确定出了pod中进行虚拟化的各个物理网卡,因此,便可以得到各个物理网卡各自所管理的虚拟网卡的数量,进而可以将这些虚拟网卡组合出各种可能的组合场景,从而得到包括全部的组合场景的场景集合。即,按照确定出的各个物理网卡,将分属于不同物理网卡的虚拟网卡进行各种可能的组合,得到包括全部可能的组合方式的场景集合。此外需要说明的是,考虑到业务通常不需要使用同一物理网卡下所管理的不同的虚拟网卡,因此,在任意1种组合场景中,不会同时置入来自同一物理网卡的2个或2个以上的虚拟网卡。
在本发明的一种具体实施方式中,步骤S101可以具体包括:
确定出pod中进行虚拟化的各个物理网卡,并判断确定出的物理网卡总数量n是否大于1;
如果否,则确定出pod中单个物理网卡进行虚拟化,并生成包括K种组合场景的场景集合;
如果是,则基于确定出的各个物理网卡各自所虚拟出的虚拟网卡,生成包括虚拟网卡各种可能的组合场景的场景集合;
其中,针对场景集合中的任意一种组合场景,该组合场景中包括分别由n个物理网卡所虚拟出的n个虚拟网卡;场景集合中的任意2种组合场景的虚拟网卡信息不同;K表示的是单个物理网卡所虚拟出的虚拟网卡总数量。
该种实施方式中,考虑到如果确定出的pod中进行虚拟化的物理网卡总数量n=1,即pod中只有单个物理网卡进行虚拟化,则可以直接生成包括K种组合场景的场景集合,K表示的是该单个物理网卡所虚拟出的虚拟网卡总数量。并且可以理解的是,生成的K种组合场景中,每一种组合场景仅包括K个虚拟网卡中的1个。例如一种具体场合中,pod中只有单个物理网卡进行虚拟化,且虚拟化后得到的虚拟网卡包括虚拟网卡1,虚拟网卡2以及虚拟网卡3,则该场合中,K=3,且生成的场景集合中包括3种组合场景,分别为虚拟网卡1,虚拟网卡2以及虚拟网卡3。可以看出,当确定出pod中只有单个物理网卡进行虚拟化时,组合方式较少。
而如果确定出的pod中进行虚拟化的物理网卡总数量n大于1,则需要基于确定出的各个物理网卡各自所虚拟出的虚拟网卡,生成包括虚拟网卡各种可能的组合场景的场景集合。
例如图2的具体场合中,pod中有2个物理网卡进行虚拟化,且物理网卡A虚拟化后得到的虚拟网卡包括虚拟网卡A-1,虚拟网卡A-2以及虚拟网卡A-3,而物理网卡B虚拟化后得到的虚拟网卡则包括虚拟网卡B-1,虚拟网卡B-2以及虚拟网卡B-3,则该种场合中,生成的场景集合中的组合场景的数量为3×3=9,即具体为图2中示出的“虚拟网卡A-1/虚拟网卡B-1”,“虚拟网卡A-1/虚拟网卡B-2”,“虚拟网卡A-1/虚拟网卡B-3”,“虚拟网卡A-2/虚拟网卡B-1”,“虚拟网卡A-2/虚拟网卡B-2”,“虚拟网卡A-2/虚拟网卡B-3”,“虚拟网卡A-3/虚拟网卡B-1”,“虚拟网卡A-3/虚拟网卡B-2”以及“虚拟网卡A-3/虚拟网卡B-3”。
又如,另一种具体场合中,pod中有3个物理网卡进行虚拟化,且物理网卡A虚拟化后得到的虚拟网卡包括虚拟网卡A-1,虚拟网卡A-2。物理网卡B虚拟化后得到的虚拟网卡则包括虚拟网卡B-1,虚拟网卡B-2以及虚拟网卡B-3。物理网卡C虚拟化后得到的虚拟网卡则包括虚拟网卡C-1和虚拟网卡C-2。则该种场合中,生成的场景集合中的组合场景的数量为2×3×2=12,这12种不同的组合场景可以表示为:“虚拟网卡A-1/虚拟网卡B-1/虚拟网卡C-1”,“虚拟网卡A-1/虚拟网卡B-1/虚拟网卡C-2”,“虚拟网卡A-1/虚拟网卡B-2/虚拟网卡C-1”,“虚拟网卡A-1/虚拟网卡B-2/虚拟网卡C-2”,“虚拟网卡A-1/虚拟网卡B-3/虚拟网卡C-1”,“虚拟网卡A-1/虚拟网卡B-3/虚拟网卡C-2”,“虚拟网卡A-2/虚拟网卡B-1/虚拟网卡C-1”,“虚拟网卡A-2/虚拟网卡B-1/虚拟网卡C-2”,“虚拟网卡A-2/虚拟网卡B-2/虚拟网卡C-1”,“虚拟网卡A-2/虚拟网卡B-2/虚拟网卡C-2”,“虚拟网卡A-2/虚拟网卡B-3/虚拟网卡C-1”以及“虚拟网卡A-2/虚拟网卡B-3/虚拟网卡C-2”。
可以看出,该种实施方式中,对于生成的场景集合,其中的不同组合场景的虚拟网卡信息是不同的,即不存在2种完全一致的组合场景。并且,针对场景集合中的任意一种组合场景,该组合场景中包括分别由n个物理网卡所虚拟出的n个虚拟网卡,也就是说,组合场景中包括的虚拟网卡数量与物料网卡数量相同,即均为n,且对于组合场景中包括的n个虚拟网卡,每个物理网卡均贡献n个中的1个。例如上文的图2的实施方式中,每种组合场景中均包括2个虚拟网卡,且这2个虚拟网卡分别来自物理网卡A和物理网卡B,上文另一种实施方式中,每种组合场景中均包括3个虚拟网卡,且这3个虚拟网卡分别来自物理网卡A,物理网卡B以及物理网卡C。
该种实施方式中,生成场景集合的方式较为方便,即生成的场景集合中组合场景的总数量为各个物理网卡所管理的虚拟网卡数量的乘积,且各个组合场景中均包括n个虚拟网卡,这是考虑到采用这样的设置方式之后,后续能够涵盖各种不同业务场景下的虚拟网卡通信方式,即可以有效地确定不同虚拟网卡之间的通信有效性,因此,在生成的场景集合中,并不需要设置少于n个虚拟网卡的组合场景。
步骤S102:从场景集合中依次选取出各种组合场景,并且在选取出任意一种组合场景之后,将组合场景中的虚拟网卡信息挂载至pod中,并且验证在组合场景下的pod的网络通讯状态,并在验证完毕之后选取出下一种组合场景。
生成包括虚拟网卡各种可能的组合场景的场景集合之后,便可以从场景集合中依次选取出各种组合场景,即每种组合场景均需要进行一次验证,从而保障了本申请的方案可以实现虚拟网卡的全面测试。
具体的,从场景集合中依次选取出各种组合场景时,具体顺序可以根据需要进行设定和调整,例如可以直接按照编号依次选取。又如可以随机选取,并且每次随机选取之后将选取出的组合场景从场景集合中移除。
在选取出任意一种组合场景之后,需要将组合场景中的虚拟网卡信息挂载至pod中,从而可以验证在组合场景下的pod的网络通讯状态。可以理解的是,当验证出在组合场景下的pod的网络通讯状态正常时,说明该组合场景通过了测试,反之则说明该组合场景下存在异常通信的虚拟网卡。
在本发明的一种具体实施方式中,步骤S102中描述的从场景集合中依次选取出各种组合场景,可以具体包括:
通过阻塞队列的方式,从场景集合中依次选取出各种组合场景。
如上文的描述,本申请的方案中,需要从场景集合中依次选取出各种组合场景,每种组合场景均需要进行一次验证。而该种实施方式中,为了保障上一种组合场景未验证完成时,不会从场景集合中选取出下一种组合场景,是通过阻塞队列的方式,从场景集合中依次选取出各种组合场景。
阻塞队列可以保证队列中只存在一个组合场景的信息,如果不满足此要求,则会阻塞流程。此外,在其他实施方式中,可以采用其他方式来保障可以可靠地从场景集合中依次选取出各种组合场景。
在本发明的一种具体实施方式中,步骤S102中描述的将组合场景中的虚拟网卡信息挂载至pod中,可以具体包括:
用组合场景中的虚拟网卡信息替换云平台中当前所分配的虚拟网卡信息,以使组合场景中的虚拟网卡信息传入pod的环境变量中;
从云平台的目标文件中读取环境变量,以获取组合场景中的虚拟网卡信息,并将获取的组合场景中的虚拟网卡信息挂载至pod中。
具体的,该种实施方式考虑到,可以用组合场景中的虚拟网卡信息,例如具体为上述例子中的“虚拟网卡A-1/虚拟网卡B-1/虚拟网卡C-1”,替换云平台的allocate中当前所分配的虚拟网卡信息,从而可以使得该组合场景中的虚拟网卡信息传入pod的环境变量中。
之后,例如可以利用CNI网络插件,从云平台的目标文件中读取环境变量,目标文件通常为云平台的check point文件。从云平台的目标文件中读取环境变量之后,便可以得到此前传入pod的环境变量中的虚拟网卡信息。
最后,可以将获取的组合场景中的虚拟网卡信息挂载至pod中,例如一种具体实施方式中,为了提高挂载的便捷性,可以通过预设插件将获取的组合场景中的虚拟网卡信息挂载至pod中。通过预设插件自动挂载,挂载较为便捷,效率较高,预设插件可以例如是自定义插件,又如可以是CNI插件,能够实现本申请的挂载目的即可。
在本发明的一种具体实施方式中,步骤S102中描述的验证在组合场景下的pod的网络通讯状态,可以具体包括:
当组合场景下仅包括单个虚拟网卡时,如果单个虚拟网卡通讯状态正常时,则确定组合场景下的pod的网络通讯状态正常;
当组合场景下包括至少2个虚拟网卡时,如果组合场景下的任意2个虚拟网卡之间的通讯状态正常,则确定组合场景下的pod的网络通讯状态正常。
具体的,如果组合场景下仅包括单个虚拟网卡时,则直接进行单个虚拟网卡的通讯状态测试即可,即该单个虚拟网卡通讯状态正常时,可以确定组合场景下的pod的网络通讯状态正常,反之,该单个虚拟网卡通讯状态不正常时,可以确定组合场景下的pod的网络通讯状态不正常。
大部分情况下,组合场景下会包括至少2个虚拟网卡,以前文实施方式中,组合场景中的虚拟网卡信息具体为“虚拟网卡A-1/虚拟网卡B-1/虚拟网卡C-1”为例进行说明,则需要确定该组合场景下的任意2个虚拟网卡之间的通讯状态是否正常。例如该例子中,需要确定虚拟网卡A-1与虚拟网卡B-1之间的通讯状态是否正常,需要确定虚拟网卡A-1与虚拟网卡C-1之间的通讯状态是否正常,还需要确定虚拟网卡B-1与虚拟网卡C-1之间的通讯状态是否正常,如果这3项通讯状态均正常,说明该组合场景下的两两虚拟网卡之间的通讯状态均是正常的,则可以确定组合场景下的pod的网络通讯状态正常。反之,只要有任意2个虚拟网卡之间的通讯状态不正常,便可以确定该组合场景下的pod的网络通讯状态不正常。
步骤S103:当场景集合中的任意一种组合场景均被选取之后,得到云平台的虚拟网卡测试结果。
当场景集合中的任意一种组合场景均被选取之后,便可以得到云平台的虚拟网卡测试结果。即场景集合中的任意一种组合场景均被选取,且进行了该组合场景下的pod的网络通讯状态的验证之后,便可以得到云平台的虚拟网卡测试结果。
在本发明的一种具体实施方式中,步骤S103中描述的得到云平台的虚拟网卡测试结果,可以具体包括:
当各种组合场景下的pod的网络通讯状态均正常时,得到表示测试通过的云平台的虚拟网卡测试结果;
当至少一种组合场景下的pod的网络通讯状态不正常时,得到表示测试不通过的云平台的虚拟网卡测试结果,且虚拟网卡测试结果中携带有导致pod的网络通讯状态不正常的每一种组合场景。
可以理解的是,如果各种组合场景下的pod的网络通讯状态均正常时,可以直接得到表示测试通过的云平台的虚拟网卡测试结果。反之,只要有一种组合场景下的pod的网络通讯状态不正常,得到的便是表示测试不通过的云平台的虚拟网卡测试结果,即便这些存在问题的组合场景在当前业务下并未使用到。
并且,为了便于协助工作人员及时进行异常情况的处理,该种实施方式中,虚拟网卡测试结果中会携带有导致pod的网络通讯状态不正常的每一种组合场景,即将这些存在问题的组合场景直接展示在虚拟网卡测试结果中,便于工作人员后续的故障定位及修复的工作。
应用本发明实施例所提供的技术方案,考虑到传统方案中,是按照当前业务对于虚拟网卡的使用情况,进行健康监测,导致检测的全面性不足、对此,本申请的方案中,将所有可能产生的场景一一列举,从而高效、全面地进行虚拟网卡的健康检测。具体的,本申请会确定出pod中进行虚拟化的各个物理网卡,并按照确定出的各个物理网卡,生成包括虚拟网卡各种可能的组合场景的场景集合,也就是说,场景集合中的不同的组合场景,代表了按照确定出的各个物理网卡,能够组合出的各种虚拟网卡的组合方式。因此,从场景集合中依次选取出各种组合场景,将选取出的组合场景中的虚拟网卡信息挂载至pod之后,就可以验证在组合场景下的pod的网络通讯状态。当场景集合中的任意一种组合场景均被选取之后,说明进行了全部组合场景的的验证,即可以得到全面的云平台的虚拟网卡测试结果,也就有效地保障了需要使用虚拟网卡的业务逻辑的网络通畅性,且不会受到业务变化的影响。
相应于上面的方法实施例,本发明实施例还提供了一种云平台加载虚拟网卡的测试系统,可与上文相互对应参照。
参见图3所示,为本发明中一种云平台加载虚拟网卡的测试系统的结构示意图,应用于云平台中的任一pod中,包括:
场景集合生成模块301,用于确定出pod中进行虚拟化的各个物理网卡,并按照确定出的各个物理网卡,生成包括虚拟网卡各种可能的组合场景的场景集合;
虚拟网卡信息挂载模块302,用于从场景集合中依次选取出各种组合场景,并且在选取出任意一种组合场景之后,将组合场景中的虚拟网卡信息挂载至pod中,并且验证在组合场景下的pod的网络通讯状态,并在验证完毕之后选取出下一种组合场景;
虚拟网卡测试结果确认模块303,用于当场景集合中的任意一种组合场景均被选取之后,得到云平台的虚拟网卡测试结果。
在本发明的一种具体实施方式中,场景集合生成模块301,具体用于:
确定出pod中进行虚拟化的各个物理网卡,并判断确定出的物理网卡总数量n是否大于1;
如果否,则确定出pod中单个物理网卡进行虚拟化,并生成包括K种组合场景的场景集合;
如果是,则基于确定出的各个物理网卡各自所虚拟出的虚拟网卡,生成包括虚拟网卡各种可能的组合场景的场景集合;
其中,针对场景集合中的任意一种组合场景,该组合场景中包括分别由n个物理网卡所虚拟出的n个虚拟网卡;场景集合中的任意2种组合场景的虚拟网卡信息不同;K表示的是单个物理网卡所虚拟出的虚拟网卡总数量。
在本发明的一种具体实施方式中,从场景集合中依次选取出各种组合场景,包括:
通过阻塞队列的方式,从场景集合中依次选取出各种组合场景。
在本发明的一种具体实施方式中,验证在组合场景下的pod的网络通讯状态,包括:
当组合场景下仅包括单个虚拟网卡时,如果单个虚拟网卡通讯状态正常时,则确定组合场景下的pod的网络通讯状态正常;
当组合场景下包括至少2个虚拟网卡时,如果组合场景下的任意2个虚拟网卡之间的通讯状态正常,则确定组合场景下的pod的网络通讯状态正常。
在本发明的一种具体实施方式中,得到云平台的虚拟网卡测试结果,包括:
当各种组合场景下的pod的网络通讯状态均正常时,得到表示测试通过的云平台的虚拟网卡测试结果;
当至少一种组合场景下的pod的网络通讯状态不正常时,得到表示测试不通过的云平台的虚拟网卡测试结果,且虚拟网卡测试结果中携带有导致pod的网络通讯状态不正常的每一种组合场景。
在本发明的一种具体实施方式中,将组合场景中的虚拟网卡信息挂载至pod中,包括:
用组合场景中的虚拟网卡信息替换云平台中当前所分配的虚拟网卡信息,以使组合场景中的虚拟网卡信息传入pod的环境变量中;
从云平台的目标文件中读取环境变量,以获取组合场景中的虚拟网卡信息,并将获取的组合场景中的虚拟网卡信息挂载至pod中。
在本发明的一种具体实施方式中,将获取的组合场景中的虚拟网卡信息挂载至pod中,包括:
通过预设插件将获取的组合场景中的虚拟网卡信息挂载至pod中。
相应于上面的方法和系统实施例,本发明实施例还提供了一种云平台加载虚拟网卡的测试设备以及一种计算机可读存储介质,可与上文相互对应参照。
该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述任一实施例中的云平台加载虚拟网卡的测试方法的步骤。这里所说的计算机可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
可参阅图4,该云平台加载虚拟网卡的测试设备可以包括:
存储器401,用于存储计算机程序;
处理器402,用于执行计算机程序以实现如上述任一实施例中的云平台加载虚拟网卡的测试方法的步骤。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明的保护范围内。

Claims (10)

1.一种云平台加载虚拟网卡的测试方法,其特征在于,应用于云平台中的任一pod中,包括:
确定出pod中进行虚拟化的各个物理网卡,并按照确定出的各个所述物理网卡,生成包括虚拟网卡各种可能的组合场景的场景集合;
从所述场景集合中依次选取出各种组合场景,并且在选取出任意一种组合场景之后,将所述组合场景中的虚拟网卡信息挂载至所述pod中,并且验证在所述组合场景下的所述pod的网络通讯状态,并在验证完毕之后选取出下一种组合场景;
当所述场景集合中的任意一种组合场景均被选取之后,得到所述云平台的虚拟网卡测试结果。
2.根据权利要求1所述的云平台加载虚拟网卡的测试方法,其特征在于,所述确定出pod中进行虚拟化的各个物理网卡,并按照确定出的各个所述物理网卡,生成包括虚拟网卡各种可能的组合场景的场景集合,包括:
确定出pod中进行虚拟化的各个物理网卡,并判断确定出的物理网卡总数量n是否大于1;
如果否,则确定出pod中单个物理网卡进行虚拟化,并生成包括K种组合场景的场景集合;
如果是,则基于确定出的各个所述物理网卡各自所虚拟出的虚拟网卡,生成包括虚拟网卡各种可能的组合场景的场景集合;
其中,针对所述场景集合中的任意一种组合场景,该组合场景中包括分别由n个所述物理网卡所虚拟出的n个虚拟网卡;所述场景集合中的任意2种组合场景的虚拟网卡信息不同;所述K表示的是所述单个物理网卡所虚拟出的虚拟网卡总数量。
3.根据权利要求1所述的云平台加载虚拟网卡的测试方法,其特征在于,所述从所述场景集合中依次选取出各种组合场景,包括:
通过阻塞队列的方式,从所述场景集合中依次选取出各种组合场景。
4.根据权利要求1所述的云平台加载虚拟网卡的测试方法,其特征在于,所述验证在所述组合场景下的所述pod的网络通讯状态,包括:
当所述组合场景下仅包括单个虚拟网卡时,如果单个虚拟网卡通讯状态正常时,则确定所述组合场景下的所述pod的网络通讯状态正常;
当所述组合场景下包括至少2个虚拟网卡时,如果所述组合场景下的任意2个虚拟网卡之间的通讯状态正常,则确定所述组合场景下的所述pod的网络通讯状态正常。
5.根据权利要求1所述的云平台加载虚拟网卡的测试方法,其特征在于,所述得到所述云平台的虚拟网卡测试结果,包括:
当各种所述组合场景下的所述pod的网络通讯状态均正常时,得到表示测试通过的云平台的虚拟网卡测试结果;
当至少一种所述组合场景下的所述pod的网络通讯状态不正常时,得到表示测试不通过的云平台的虚拟网卡测试结果,且所述虚拟网卡测试结果中携带有导致所述pod的网络通讯状态不正常的每一种所述组合场景。
6.根据权利要求1至5任一项所述的云平台加载虚拟网卡的测试方法,其特征在于,所述将所述组合场景中的虚拟网卡信息挂载至所述pod中,包括:
用所述组合场景中的虚拟网卡信息替换云平台中当前所分配的虚拟网卡信息,以使所述组合场景中的虚拟网卡信息传入所述pod的环境变量中;
从云平台的目标文件中读取所述环境变量,以获取所述组合场景中的虚拟网卡信息,并将获取的所述组合场景中的虚拟网卡信息挂载至所述pod中。
7.根据权利要求6所述的云平台加载虚拟网卡的测试方法,其特征在于,所述将获取的所述组合场景中的虚拟网卡信息挂载至所述pod中,包括:
通过预设插件将获取的所述组合场景中的虚拟网卡信息挂载至所述pod中。
8.一种云平台加载虚拟网卡的测试系统,其特征在于,应用于云平台中的任一pod中,包括:
场景集合生成模块,用于确定出pod中进行虚拟化的各个物理网卡,并按照确定出的各个所述物理网卡,生成包括虚拟网卡各种可能的组合场景的场景集合;
虚拟网卡信息挂载模块,用于从所述场景集合中依次选取出各种组合场景,并且在选取出任意一种组合场景之后,将所述组合场景中的虚拟网卡信息挂载至所述pod中,并且验证在所述组合场景下的所述pod的网络通讯状态,并在验证完毕之后选取出下一种组合场景;
虚拟网卡测试结果确认模块,用于当所述场景集合中的任意一种组合场景均被选取之后,得到所述云平台的虚拟网卡测试结果。
9.一种云平台加载虚拟网卡的测试设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至7任一项所述的云平台加载虚拟网卡的测试方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的云平台加载虚拟网卡的测试方法的步骤。
CN202211190466.3A 2022-09-28 2022-09-28 云平台加载虚拟网卡的测试方法、系统、设备及存储介质 Pending CN115567420A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211190466.3A CN115567420A (zh) 2022-09-28 2022-09-28 云平台加载虚拟网卡的测试方法、系统、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211190466.3A CN115567420A (zh) 2022-09-28 2022-09-28 云平台加载虚拟网卡的测试方法、系统、设备及存储介质

Publications (1)

Publication Number Publication Date
CN115567420A true CN115567420A (zh) 2023-01-03

Family

ID=84742815

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211190466.3A Pending CN115567420A (zh) 2022-09-28 2022-09-28 云平台加载虚拟网卡的测试方法、系统、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115567420A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170019304A1 (en) * 2014-02-27 2017-01-19 Institute Of Acoustics, Chinese Academy Of Sciences Method and system for virtualizing network cards on network processing platform
CN109802866A (zh) * 2019-01-02 2019-05-24 郑州云海信息技术有限公司 一种网卡sr-iov功能测试方法、装置、终端及存储介质
CN112600723A (zh) * 2020-11-13 2021-04-02 苏州浪潮智能科技有限公司 一种基于虚拟化场景的网卡测试方法
CN114244717A (zh) * 2022-02-28 2022-03-25 苏州浪潮智能科技有限公司 虚拟网卡资源的配置方法、装置、计算机设备及介质
CN114465937A (zh) * 2021-12-30 2022-05-10 宁畅信息产业(北京)有限公司 网卡测试方法、装置、服务器、介质和计算机程序产品

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170019304A1 (en) * 2014-02-27 2017-01-19 Institute Of Acoustics, Chinese Academy Of Sciences Method and system for virtualizing network cards on network processing platform
CN109802866A (zh) * 2019-01-02 2019-05-24 郑州云海信息技术有限公司 一种网卡sr-iov功能测试方法、装置、终端及存储介质
CN112600723A (zh) * 2020-11-13 2021-04-02 苏州浪潮智能科技有限公司 一种基于虚拟化场景的网卡测试方法
CN114465937A (zh) * 2021-12-30 2022-05-10 宁畅信息产业(北京)有限公司 网卡测试方法、装置、服务器、介质和计算机程序产品
CN114244717A (zh) * 2022-02-28 2022-03-25 苏州浪潮智能科技有限公司 虚拟网卡资源的配置方法、装置、计算机设备及介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
吕梅桂;: "基于KVM的虚拟机网络性能优化研究", 软件导刊, no. 10, 15 October 2017 (2017-10-15), pages 180 - 182 *

Similar Documents

Publication Publication Date Title
CN111124850A (zh) Mqtt服务器性能测试方法、系统、计算机设备及存储介质
CN112131099B (zh) 一种版本升级测试方法及装置
CN109617759A (zh) 区块链系统稳定性测试方法、装置、设备及存储介质
CN110764980A (zh) 日志处理方法和装置
CN108763089A (zh) 一种测试方法、装置及系统
CN111262753B (zh) 一种numa节点个数自动配置方法方法、系统、终端及存储介质
CN110059068B (zh) 一种分布式存储系统中的数据校验方法及数据校验系统
CN114546738A (zh) 服务器通用测试方法、系统、终端及存储介质
CN112579455B (zh) 一种接口自动化测试方法、装置、电子设备及存储介质
CN114416589B (zh) 网络靶场综合检测方法、装置、设备及可读存储介质
CN106021046A (zh) 一种对比硬盘性能的方法、装置和服务器
EP3901766A1 (en) Offline configuration method and apparatus for smart device
CN107741909A (zh) 一种用于分布式块存储的自动化测试方法及系统
CN114422386A (zh) 一种微服务网关的监测方法及装置
US20100251029A1 (en) Implementing self-optimizing ipl diagnostic mode
CN115567420A (zh) 云平台加载虚拟网卡的测试方法、系统、设备及存储介质
CN110971478B (zh) 云平台服务性能的压测方法、装置及计算设备
CN111858199A (zh) 一种自适配硬盘日志采集方法、系统、终端及存储介质
CN109684138A (zh) 一种可视化硬盘自动测试方法、装置、终端及存储介质
CN109802866A (zh) 一种网卡sr-iov功能测试方法、装置、终端及存储介质
CN115237441A (zh) 一种基于云平台的升级测试方法、装置及介质
CN111162929B (zh) 一种分级管理方法和系统
CN113760446A (zh) 资源调度方法、装置、设备及介质
CN115437903A (zh) 接口测试方法、装置、设备、存储介质及程序
CN110365520A (zh) 分布式系统中节点的巡检方法、装置及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination