CN114070755A - 虚拟机网络流量确定方法、装置、电子设备和存储介质 - Google Patents

虚拟机网络流量确定方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN114070755A
CN114070755A CN202010746475.0A CN202010746475A CN114070755A CN 114070755 A CN114070755 A CN 114070755A CN 202010746475 A CN202010746475 A CN 202010746475A CN 114070755 A CN114070755 A CN 114070755A
Authority
CN
China
Prior art keywords
virtual machine
information
network
identification information
network card
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.)
Granted
Application number
CN202010746475.0A
Other languages
English (en)
Other versions
CN114070755B (zh
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.)
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Suzhou Software 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 China Mobile Communications Group Co Ltd, China Mobile Suzhou Software Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202010746475.0A priority Critical patent/CN114070755B/zh
Publication of CN114070755A publication Critical patent/CN114070755A/zh
Application granted granted Critical
Publication of CN114070755B publication Critical patent/CN114070755B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/0876Network utilisation, e.g. volume of load or congestion level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明实施例提出了一种虚拟机网络流量确定方法、装置、电子设备和计算机存储介质,该方法包括:在虚拟机所属网络类型为SR‑IOV网络的情况下,获取所述虚拟机的端口信息;根据所述虚拟机的端口信息、以及预先确定的虚拟机的端口信息与VF硬件资源的标识信息的映射关系,获取所述虚拟机的VF硬件资源的标识信息;根据所述虚拟机的VF硬件资源的标识信息,确定所述虚拟机的网络流量信息。如此,本发明实施例中,可以根据虚拟机的端口信息与虚拟功能VF硬件资源的标识信息的映射关系,确定虚拟机的VF硬件资源的标识信息,从而得到虚拟机的网络流量信息;即,本发明实施例可以在SR‑IOV网络中获取虚拟机的网络流量信息。

Description

虚拟机网络流量确定方法、装置、电子设备和存储介质
技术领域
本发明涉及云计算领域,尤其涉及一种虚拟机(Virtual Machine,VM)网络流量确定方法、装置、电子设备和计算机存储介质。
背景技术
在相关技术中,对于云计算环境中的虚拟机的网络流量监控,可以调用云计算平台中的计量与监控ceilometer组件获取虚拟机的网络流量信息;在具体实现时,计量与监控组件对虚拟机进行网络流量的监控方式为:在每个主机(host)节点部署代理-计算(agent-compute)进程,通过调用代理-计算进程来虚拟机的虚拟网卡的流量信息;然而,发明人发现:在云计算环境中采用单根IO虚拟化(Single Root I/O Virtualization,SR-IOV)网络的情况下,不能采用上述计量与监控组件对虚拟机进行网络流量监控,来得到虚拟机的网络流量信息。
发明内容
本发明实施例期望提供虚拟机网络流量确定的技术方案。
本发明实施例提供了一种虚拟机网络流量确定方法,其特征在于,所述方法包括:
在虚拟机所属网络类型为SR-IOV网络的情况下,获取所述虚拟机的端口信息;
根据所述虚拟机的端口信息、以及预先确定的虚拟机的端口信息与虚拟功能(Virtual Function,VF)硬件资源的标识信息的映射关系,获取所述虚拟机的VF硬件资源的标识信息;
根据所述虚拟机的VF硬件资源的标识信息,确定所述虚拟机的网络流量信息。
在一些实施例中,所述根据所述虚拟机的端口信息、以及预先确定的虚拟机的端口信息与VF硬件资源的标识信息的映射关系,获取所述虚拟机的VF硬件资源的标识信息,包括:
根据所述虚拟机的端口信息,查找目标物理网卡,所述目标物理网卡所在目录包括所述虚拟机的端口信息;
在所述目标物理网卡所在目录内,根据所述映射关系,获取所述虚拟机的VF硬件资源的标识信息。
在一些实施例中,所述根据所述虚拟机的端口信息,查找目标物理网卡,包括:
根据所述虚拟机的端口信息确定所述虚拟机对应的外设部件互连标准(Peripheral Component Interconnect,PCI)设备信息;
在所述PCI设备信息处于满足设定条件的任一物理网卡对应的设备文件夹内的情况下,将所述任一物理网卡确定为所述目标物理网卡,并确定所述目标物理网卡的标识信息,所述设备文件夹用于存储至少一个虚拟机对应的PCI设备信息;所述设定条件包括:物理网卡所在目录存在设备文件夹。
在一些实施例中,所述根据所述虚拟机的VF硬件资源的标识信息,确定所述虚拟机的网络流量信息,包括:
根据所述目标物理网卡的标识信息和所述虚拟机的VF硬件资源的标识信息,确定所述虚拟机对应的物理网卡的网络流量信息,将所述虚拟机对应的物理网卡的网络流量信息作为所述虚拟机的网络流量信息。
在一些实施例中,所述方法还包括:
在所述虚拟机所属网络类型为其它网络的情况下,通过虚拟机的网络接口管理工具获取所述虚拟机的网络流量信息,所述其它网络不同于SR-IOV网络。
在一些实施例中,所述方法还包括:
采集所述虚拟机的资源使用数据,根据所述资源使用数据确定所述虚拟机所属的网络类型。
在一些实施例中,所述获取虚拟机的端口信息,包括:通过调用代理-计算进程,采集所述虚拟机的端口信息。
本发明实施例还提供了一种虚拟机网络流量确定装置,所述装置包括:获取模块和第一确定模块,其中,
获取模块,用于在虚拟机所属网络类型为SR-IOV网络的情况下,获取所述虚拟机的端口信息;根据所述虚拟机的端口信息、以及预先确定的虚拟机的端口信息与VF硬件资源的标识信息的映射关系,获取所述虚拟机的VF硬件资源的标识信息;
确定模块,用于根据所述虚拟机的VF硬件资源的标识信息,确定所述虚拟机的网络流量信息。
在一些实施例中,所述获取模块,用于根据所述虚拟机的端口信息、以及预先确定的虚拟机的端口信息与VF硬件资源的标识信息的映射关系,获取所述虚拟机的VF硬件资源的标识信息,包括:
根据所述虚拟机的端口信息,查找目标物理网卡,所述目标物理网卡所在目录包括所述虚拟机的端口信息;
在所述目标物理网卡所在目录内,根据所述映射关系,获取所述虚拟机的VF硬件资源的标识信息。
在一些实施例中,所述获取模块,用于根据所述虚拟机的端口信息,查找目标物理网卡,包括:
根据所述虚拟机的端口信息确定所述虚拟机对应的PCI设备信息;
在所述PCI设备信息处于满足设定条件的任一物理网卡对应的设备文件夹内的情况下,将所述任一物理网卡确定为所述目标物理网卡,并确定所述目标物理网卡的标识信息,所述设备文件夹用于存储至少一个虚拟机对应的PCI设备信息;所述设定条件包括:物理网卡所在目录存在设备文件夹。
在一些实施例中,所述确定模块,用于根据所述虚拟机的VF硬件资源的标识信息,确定所述虚拟机的网络流量信息,包括:
根据所述目标物理网卡的标识信息和所述虚拟机的VF硬件资源的标识信息,确定所述虚拟机对应的物理网卡的网络流量信息,将所述虚拟机对应的物理网卡的网络流量信息作为所述虚拟机的网络流量信息。
在一些实施例中,所述获取模块,还用于在所述虚拟机所属网络类型为其它网络的情况下,通过虚拟机的网络接口管理工具获取所述虚拟机的网络流量信息,所述其它网络不同于SR-IOV网络。
在一些实施例中,所述获取模块,还用于采集所述虚拟机的资源使用数据,根据所述资源使用数据确定所述虚拟机所属的网络类型。
在一些实施例中,所述获取模块,用于获取虚拟机的端口信息,包括:通过调用代理-计算进程,采集所述虚拟机的端口信息。
本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任意一种虚拟机网络流量确定方法。
本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被终端的处理器执行时实现上述任意一种虚拟机网络流量确定方法。
本发明实施例提出的虚拟机网络流量确定方法、装置、终端和计算机存储介质中,在虚拟机所属网络类型为SR-IOV网络的情况下,获取所述虚拟机的端口信息;根据所述虚拟机的端口信息、以及预先确定的虚拟机的端口信息与VF硬件资源的标识信息的映射关系,获取所述虚拟机的VF硬件资源的标识信息;根据所述虚拟机的VF硬件资源的标识信息,确定所述虚拟机的网络流量信息。如此,本发明实施例中,可以根据虚拟机的端口信息与虚拟功能VF硬件资源的标识信息的映射关系,确定虚拟机的VF硬件资源的标识信息,从而得到虚拟机的网络流量信息;即,本发明实施例可以在SR-IOV网络中获取虚拟机的网络流量信息。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本发明的实施例,并与说明书一起用于说明本发明的技术方案。
图1为本发明实施例的虚拟机网络流量确定方法的流程图一;
图2为本发明实施例中判断虚拟机所属网络类型的示意图;
图3为本发明实施例的虚拟机网络流量确定方法的流程图二;
图4为本发明实施例的虚拟机网络流量确定装置的组成结构示意图;
图5为本发明实施例的电子设备的结构示意图。
具体实施方式
OpenStack作为目前主流的开源云计算框架,可提供实施简单、功能丰富且能够大规模扩展的云计算管理平台,被广泛的应用于各企业中为其提供基础设施服务(Infrastructure as a Service,Iass)。在云计算环境中,通常以监控、告警等服务为依托工具来实现对环境的统一运维管理,所以对资源使用情况的监控是自动化运维中不可缺少的一项。在Openstack中承担监控与计量的组件为ceilometer组件,ceilometer组件可以获取虚拟机性能数据,包括处理器、内存、磁盘、网卡流量等使用情况,用于实现对资源使用情况的监控,保证资源处于健康可用状态。
网络流量监控是体现资源健康情况的重要指标,现有的ceilometer组件对网络流量的监控方式为在每个主机节点部署代理-计算进程,负责收集主机上所有虚拟机的信息,通过建立周期性采集任务来获取虚拟网卡的流量信息,目前大部分openstack平台管理虚拟机时使用libvirt工具,libvirt工具支持qemu、kvm等虚拟化技术,每个周期可以通过libvirt工具获取主机上所有虚拟机的虚拟网卡流量信息,以此来实现对网络流量信息的采集。
随着云计算环境规模的广泛应用,为了提升网络性能,可以在一套云计算环境中设置多种网络,如为提升计算节点网络I/O性能、减少处理器开销而被引入的SR-IOV网络。在SR-IOV网络中,将虚拟机的端口与支持SR-IOV功能的物理网卡所创建的VF相关联,不再需要额外创建tap设备等,使得虚拟机的流量绕过neutron组件所创建的虚机网络设备而实现到物理网卡的直达。发明人发现:在SR-IOV网络中使用原生ceilometer组件采集虚拟机网卡信息的方法将不再适用,因为在SR-IOV网络时,为实现虚拟机对VF硬件资源的直接访问,无需neutron组件创建tap设备等,并且不在虚拟层创建虚拟网卡等网络设备因而,在SR-IOV网络中不存在虚拟机对应的虚拟网卡信息,从而,不能采用上述计量与监控组件对虚拟机进行网络流量监控,来得到虚拟机的网络流量信息。
针对上述技术问题,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所提供的实施例仅仅用以解释本发明,并不用于限定本发明。另外,以下所提供的实施例是用于实施本发明的部分实施例,而非提供实施本发明的全部实施例,在不冲突的情况下,本发明实施例记载的技术方案可以任意组合的方式实施。
需要说明的是,在本发明实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的方法或者装置不仅包括所明确记载的要素,而且还包括没有明确列出的其他要素,或者是还包括为实施方法或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括该要素的方法或者装置中还存在另外的相关要素(例如方法中的步骤或者装置中的单元,例如的单元可以是部分电路、部分处理器、部分程序或软件等等)。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
例如,本发明实施例提供的虚拟机网络流量确定方法包含了一系列的步骤,但是本发明实施例提供的虚拟机网络流量确定方法不限于所记载的步骤,同样地,本发明实施例提供的虚拟机网络流量确定装置包括了一系列模块,但是本发明实施例提供的虚拟机网络流量确定装置不限于包括所明确记载的模块,还可以包括为获取相关信息、或基于信息进行处理时所需要设置的模块。
本发明实施例可以基于电子设备实现,这里,电子设备可以是瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统,等等。
电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统可以在分布式云计算环境中实施,在分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
基于上述记载的应用场景,提出以下各实施例。
本发明实施例提出了一种虚拟机网络流量确定方法,可以应用于云计算、虚拟机流量监控等场景;本发明实施例可以解决相关技术中ceilometer组件不能采集SR-IOV网络中虚拟机网络流量的问题,在一实施方式中,可以基于ceilometer组件提出一种应用范围更广、兼容性更高、灵活的采集虚拟机网络流量的方法,可以支持在SR-IOV网络中采集虚拟机网络流量信息。
图1为本发明实施例的虚拟机网络流量确定方法的流程图一,如图1所示,该流程可以包括:
步骤101:在虚拟机所属网络类型为SR-IOV网络的情况下,获取所述虚拟机的端口信息。
在一种实施方式中,可以采集所述虚拟机的资源使用数据,根据所述资源使用数据确定所述虚拟机所属的网络类型。这里,虚拟机的资源使用数据可以包括以下至少一项的资源使用数据:中央处理器(Central Processing Unit,CPU)、内存、磁盘、网络。
在一些实施例中,虚拟机的资源使用数据包括虚拟机的属性信息,虚拟机的属性信息包括网络类型标识信息;可以根据该网络类型标识信息,判断虚拟机所属网络类型;在一些实施例中,虚拟机的属性信息位于目录devices/interface中,虚拟机的属性信息中的网络类型标识信息为目录devices/interface中的type字段;在type字段的值为hostdev时,判定虚拟机所属网络类型为SR-IOV网络;在type字段的值不是hostdev时,判定虚拟机所属网络类型为其它网络,所述其它网络不同于SR-IOV网络。
在一些实施例中,在所述虚拟机所属网络类型为其它网络的情况下,可以通过虚拟机的网络接口管理工具获取所述虚拟机的网络流量信息;在具体的示例中,虚拟机的网络接口管理工具可以是libvirt工具。
在实际应用中,可以调用代理-计算进程来确定虚拟机所属网络类型;图2为本发明实施例中判断虚拟机所属网络类型的示意图,如图2所示,在具体的示例中,ceilometer组件可以调用代理-计算进程,代理-计算进程被调用时可以根据配置文件定义的指标采集项实现对计算节点的虚拟机的轮询,通过对虚拟机的轮询,可以周期性地采集虚拟机的中央处理器(Central Processing Unit,CPU)、内存、磁盘、网络的资源使用数据;根据网络资源使用情况可以判断虚拟机所属网络类型,如果虚拟机所属网络类型为其它网络,则可以采用相关技术中通过libvirt工具来获取虚拟机网络流量的方法;如果虚拟机所属网络类型为SR-IOV网络,则可以采用本发明实施例的虚拟机网络流量确定方法,具体地,可以通过执行步骤101至步骤103来确定虚拟机的网络流量。
对于获取虚拟机的端口信息的实现方式,示例性地,可以通过调用代理-计算进程,采集所述虚拟机的端口信息;本发明实施例中,ceilometer组件课可以通过调用代理-计算进程,实现对每个虚拟机的端口信息的采集。
步骤102:根据所述虚拟机的端口信息、以及预先确定的虚拟机的端口信息与VF硬件资源的标识信息的映射关系,获取所述虚拟机的VF硬件资源的标识信息。
在SR-IOV网络中,可以将虚拟机的端口与支持SR-IOV网络的物理网卡的VF关联,实现虚拟机对VF硬件资源的直接访问,如此,对于SR-IOV网络,虚拟机的端口信息与VF硬件资源的标识信息的映射关系是可以预先确定的。进一步地,在获取虚拟机的端口信息后,根据上述映射关系便可以直接确定出虚拟机的VF硬件资源的标识信息。
这里,虚拟机的VF硬件资源的标识信息可以是名称、编号或其它标识信息,本发明实施例并不对此进行限定。
步骤103:根据所述虚拟机的VF硬件资源的标识信息,确定所述虚拟机的网络流量信息。
这里,可以根据虚拟机的端口信息确定虚拟机对应的物理网卡的标识信息,本发明实施例中,物理网卡的标识信息可以是名称、编号或其它标识信息;然后,可以根据虚拟机对应的物理网卡的标识信息,确定出虚拟机对应的物理网卡的网络流量信息;这里,可以将虚拟机对应的物理网卡的网络流量信息作为所述虚拟机的网络流量信息。
在实际应用中,可以采用ethtool工具对所述虚拟机对应的物理网卡的网络流量信息进行统计,得到虚拟机对应的物理网卡的网络流量信息。
本发明实施例中,虚拟机对应的物理网卡的网络流量信息可以包括以下至少一项:物理网卡收发数据包的数量、物理网卡收发的每个数据包的数据量大小;物理网卡收发的每个数据包的数据量大小的单位可以是字节或KB等。
在一种实施方式中,还可以根据虚拟机对应的物理网卡的网络流量信息,计算虚拟机对应的物理网卡的发送或接收数据的带宽,也可以计算虚拟机对应的物理网卡的发送或接收数据包的速率;在具体实现时,可以将物理网卡单位时间内收发的数据包的总数据量大小作为虚拟机对应的物理网卡的发送或接收数据的带宽,也可以将物理网卡收发数据包的数量除以物理网卡收发数据包的时间,得到虚拟机对应的物理网卡的发送或接收数据包的速率。
在实际应用中,步骤101至步骤103可以基于电子设备的处理器实现,上述处理器可以为特定用途集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(Digital SignalProcessing Device,DSPD)、可编程逻辑装置(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、CPU、控制器、微控制器、微处理器中的至少一种。
可见,本发明实施例中,可以基于SR-IOV网络的特点,根据虚拟机的端口信息与虚拟功能VF硬件资源的标识信息的映射关系,确定虚拟机的VF硬件资源的标识信息,从而得到虚拟机的网络流量信息;即,本发明实施例可以在SR-IOV网络中获取虚拟机的网络流量信息,应用范围更广。
进一步地,本发明实施例可以首先对虚拟机所属网络的类型进行判断,然后,根据判断结果针对不同类型的网络采用不同的方法获取虚拟机网络流量,使得基于ceilometer组件获取虚拟机网络流量的方法,具有更广的使用范围和更高的兼容性,可以配置任意周期实现周期性采集虚拟机网络流量,具有灵活性高的特点。
综上,本发明实施例可以解决相关技术中ceilometer组件不能采集SR-IOV网络中虚拟机网络流量的问题,通过SR-IOV网络中虚拟机的端口信息与VF硬件资源的标识信息的映射关系,可以确定虚拟机网络流量;即,使得通过ceilometer组件获取虚拟机网络流量的方法,可以应用于SR-IOV网络环境,扩展了ceilometer组件获取虚拟机网络流量的应用范围。
在一实施方式中,,所述根据所述虚拟机的端口信息、以及预先确定的虚拟机的端口信息与虚拟功能VF硬件资源的标识信息的映射关系,获取所述虚拟机的VF硬件资源的标识信息,可以包括:根据所述虚拟机的端口信息,查找目标物理网卡,所述目标物理网卡所在目录包括所述虚拟机的端口信息;在所述目标物理网卡所在目录内,根据所述映射关系,获取所述虚拟机的VF硬件资源的标识信息。
这里,在得到虚拟机的端口信息后,可以查找目标物理网卡,并在目标物理网卡内,根据虚拟机的端口信息与虚拟机的VF硬件资源的标识信息的映射关系,得到虚拟机的VF硬件资源的标识信息。
对于根据虚拟机的端口信息,查找目标物理网卡的实现方式,示例性地,可以根据虚拟机的端口信息确定虚拟机对应的PCI设备信息;在所述PCI设备信息处于满足设定条件的任一物理网卡对应的设备文件夹内的情况下,将所述任一物理网卡确定为所述目标物理网卡,并确定目标物理网卡的标识信息,所述设备文件夹用于存储至少一个虚拟机对应的PCI设备信息;所述设定条件包括:物理网卡所在目录存在设备文件夹。
本发明实施例中,虚拟机对应的PCI设备信息可以表示虚拟机所对应的物理网卡的设备接口信息;在确定虚拟机对应的PCI设备信息后,可以首先找到满足设定条件的物理网卡,在一个具体的示例中,可以通过遍历物理网卡所在目录的方式,查找物理网卡所在目录是否存在设备文件夹。
在找到满足设备条件的一个物理网卡后,还需要判断上述PCI设备信息是否处于满足对应物理网卡对应的设备文件夹内,如果是,可以确定出目标物理网卡,并可以记录目标物理网卡的标识信息;如果否,则可以继续判断上述PCI设备信息是否处于满足设备条件的另一个物理网卡对应的设备文件夹内。
对于根据所述虚拟机的VF硬件资源的标识信息,确定所述虚拟机的网络流量信息的实现方式,示例性地,可以根据所述目标物理网卡的标识信息和所述虚拟机的VF硬件资源的标识信息,确定所述虚拟机对应的物理网卡的网络流量信息,将所述虚拟机对应的物理网卡的网络流量信息作为所述虚拟机的网络流量信息。
下面结合附图说明虚拟机网络流量确定方法的一个应用实施例。
图3为本发明实施例的虚拟机网络流量确定方法的流程图二,如图3所示,该流程可以包括:
步骤S1:ceilometer组件调用代理-计算进程对每个虚拟机的端口信息进行采集,根据采集到的虚拟机的端口信息得到虚拟机对应的PCI设备信息。
步骤S2:查询物理网卡所在目录。
在具体的示例中,遍历物理网卡所在目录,如果物理网卡所在目录下存在设备文件夹则执行步骤S3,否则,继续遍历下一个物理网卡的所在目录。
步骤S3:判断虚拟机对应的PCI设备信息是否在物理网卡对应的设备文件夹内,如果否,则返回至步骤S2,继续遍历下一个物理网卡的所在目录;如果是,则确定目标物理网卡,记录目标物理网卡的名称,执行步骤S4。
步骤S4:查询PCI设备信息对应的VF硬件资源的编号。
在具体的示例中,可以根据步骤S3中获得的目标物理网卡的名称,获取物理网卡对应的设备文件夹内PCI设备信息对应的VF硬件资源的编号,如此,有利于实现虚拟机对VF硬件资源的直接访问。
步骤S5:确定虚拟机的网络流量信息。
在一种实施方式中,在SR-IOV网络中确定的虚拟机的网络流量信息的数据格式,可以与相关技术中在其它网络中确定的虚拟机的网络流量信息的数据格式保持一致。
在前述实施例提出的虚拟机网络流量确定方法的基础上,本发明实施例还提出了一种虚拟机网络流量确定装置,可以应用于电子设备中。
图4为本发明实施例的一种虚拟机网络流量确定装置的组成结构示意图,如图4所示,该装置可以包括:获取模块401和确定模块402,其中,
获取模块401,用于在虚拟机所属网络类型为SR-IOV网络的情况下,获取所述虚拟机的端口信息;根据所述虚拟机的端口信息、以及预先确定的虚拟机的端口信息与虚拟功能VF硬件资源的标识信息的映射关系,获取所述虚拟机的VF硬件资源的标识信息;
确定模块402,用于根据所述虚拟机的VF硬件资源的标识信息,确定所述虚拟机的网络流量信息。
在一些实施例中,所述获取模块401,用于根据所述虚拟机的端口信息、以及预先确定的虚拟机的端口信息与VF硬件资源的标识信息的映射关系,获取所述虚拟机的VF硬件资源的标识信息,包括:
根据所述虚拟机的端口信息,查找目标物理网卡,所述目标物理网卡所在目录包括所述虚拟机的端口信息;
在所述目标物理网卡所在目录内,根据所述映射关系,获取所述虚拟机的VF硬件资源的标识信息。
在一些实施例中,所述获取模块401,用于根据所述虚拟机的端口信息,查找目标物理网卡,包括:
根据所述虚拟机的端口信息确定所述虚拟机对应的PCI设备信息;
在所述PCI设备信息处于满足设定条件的任一物理网卡对应的设备文件夹内的情况下,将所述任一物理网卡确定为所述目标物理网卡,并确定所述目标物理网卡的标识信息,所述设备文件夹用于存储至少一个虚拟机对应的PCI设备信息;所述设定条件包括:物理网卡所在目录存在设备文件夹。
在一些实施例中,所述确定模块402,用于根据所述虚拟机的VF硬件资源的标识信息,确定所述虚拟机的网络流量信息,包括:
根据所述目标物理网卡的标识信息和所述虚拟机的VF硬件资源的标识信息,确定所述虚拟机对应的物理网卡的网络流量信息,将所述虚拟机对应的物理网卡的网络流量信息作为所述虚拟机的网络流量信息。
在一些实施例中,所述获取模块401,还用于在所述虚拟机所属网络类型为其它网络的情况下,通过虚拟机的网络接口管理工具获取所述虚拟机的网络流量信息,所述其它网络不同于SR-IOV网络。
在一些实施例中,所述获取模块401,还用于采集所述虚拟机的资源使用数据,根据所述资源使用数据确定所述虚拟机所属的网络类型。
在一些实施例中,所述获取模块401,用于获取虚拟机的端口信息,包括:通过调用代理-计算进程,采集所述虚拟机的端口信息。
上述获取模块401和确定模块402均可由位于电子设备中的处理器实现,上述处理器为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。
另外,在本实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
具体来讲,本实施例中的一种虚拟机网络流量确定方法对应的计算机程序指令可以被存储在光盘,硬盘,U盘等存储介质上,当存储介质中的与一种虚拟机网络流量确定方法对应的计算机程序指令被一终端的处理器读取或被执行时,实现前述实施例的任意一种虚拟机网络流量确定方法。
基于前述实施例相同的技术构思,参见图5,其示出了本发明实施例提供的一种电子设备50,可以包括:存储器51、处理器52及存储在存储器51上并可在处理器52上运行的计算机程序;其中,
存储器51,用于存储计算机程序和数据;
处理器52,用于执行所述存储器中存储的计算机程序,以实现前述实施例的任意一种虚拟机网络流量确定方法。
在实际应用中,上述存储器51可以是易失性存储器(volatile memory),例如RAM;或者非易失性存储器(non-volatile memory),例如ROM,快闪存储器(flash memory),硬盘(Hard Disk Drive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器52提供指令和数据。
上述处理器52可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。
在一些实施例中,本发明实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述
本申请所提供的各方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的各产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的各方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

Claims (10)

1.一种虚拟机网络流量确定方法,其特征在于,所述方法包括:
在虚拟机所属网络类型为单根IO虚拟化SR-IOV网络的情况下,获取所述虚拟机的端口信息;
根据所述虚拟机的端口信息、以及预先确定的虚拟机的端口信息与虚拟功能VF硬件资源的标识信息的映射关系,获取所述虚拟机的VF硬件资源的标识信息;
根据所述虚拟机的VF硬件资源的标识信息,确定所述虚拟机的网络流量信息。
2.根据权利要求1所述的方法,其特征在于,所述根据所述虚拟机的端口信息、以及预先确定的虚拟机的端口信息与VF硬件资源的标识信息的映射关系,获取所述虚拟机的VF硬件资源的标识信息,包括:
根据所述虚拟机的端口信息,查找目标物理网卡,所述目标物理网卡所在目录包括所述虚拟机的端口信息;
在所述目标物理网卡所在目录内,根据所述映射关系,获取所述虚拟机的VF硬件资源的标识信息。
3.根据权利要求2所述的方法,其特征在于,所述根据所述虚拟机的端口信息,查找目标物理网卡,包括:
根据所述虚拟机的端口信息确定所述虚拟机对应的外设部件互连标准PCI设备信息;
在所述PCI设备信息处于满足设定条件的任一物理网卡对应的设备文件夹内的情况下,将所述任一物理网卡确定为所述目标物理网卡,并确定所述目标物理网卡的标识信息,所述设备文件夹用于存储至少一个虚拟机对应的PCI设备信息;所述设定条件包括:物理网卡所在目录存在设备文件夹。
4.根据权利要求2所述的方法,其特征在于,所述根据所述虚拟机的VF硬件资源的标识信息,确定所述虚拟机的网络流量信息,包括:
根据所述目标物理网卡的标识信息和所述虚拟机的VF硬件资源的标识信息,确定所述虚拟机对应的物理网卡的网络流量信息,将所述虚拟机对应的物理网卡的网络流量信息作为所述虚拟机的网络流量信息。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述虚拟机所属网络类型为其它网络的情况下,通过虚拟机的网络接口管理工具获取所述虚拟机的网络流量信息,所述其它网络不同于SR-IOV网络。
6.根据权利要求1或5所述的方法,其特征在于,所述方法还包括:
采集所述虚拟机的资源使用数据,根据所述资源使用数据确定所述虚拟机所属的网络类型。
7.根据权利要求1所述的方法,其特征在于,所述获取虚拟机的端口信息,包括:通过调用代理-计算进程,采集所述虚拟机的端口信息。
8.一种虚拟机网络流量确定装置,其特征在于,所述装置包括:获取模块和第一确定模块,其中,
获取模块,用于在虚拟机所属网络类型为单根IO虚拟化SR-IOV网络的情况下,获取所述虚拟机的端口信息;根据所述虚拟机的端口信息、以及预先确定的虚拟机的端口信息与虚拟功能VF硬件资源的标识信息的映射关系,获取所述虚拟机的VF硬件资源的标识信息;
确定模块,用于根据所述虚拟机的VF硬件资源的标识信息,确定所述虚拟机的网络流量信息。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至7任一项所述的方法。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,该计算机程序被终端的处理器执行时实现权利要求1至7任一项所述的方法。
CN202010746475.0A 2020-07-29 2020-07-29 虚拟机网络流量确定方法、装置、电子设备和存储介质 Active CN114070755B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010746475.0A CN114070755B (zh) 2020-07-29 2020-07-29 虚拟机网络流量确定方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010746475.0A CN114070755B (zh) 2020-07-29 2020-07-29 虚拟机网络流量确定方法、装置、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN114070755A true CN114070755A (zh) 2022-02-18
CN114070755B CN114070755B (zh) 2023-08-01

Family

ID=80226860

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010746475.0A Active CN114070755B (zh) 2020-07-29 2020-07-29 虚拟机网络流量确定方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN114070755B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115208904A (zh) * 2022-06-29 2022-10-18 深圳星云智联科技有限公司 流量监控方法及相关设备
CN115242688A (zh) * 2022-07-27 2022-10-25 济南浪潮数据技术有限公司 一种网络故障检测方法、装置以及介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100290467A1 (en) * 2009-05-12 2010-11-18 International Business Machines Corporation Discovery and Capability Exchange Management in a Virtualized Computing Platform Utilizing a SR-IOV Adapter
CN102652305A (zh) * 2009-12-17 2012-08-29 微软公司 虚拟存储目标卸载技术
US20120250682A1 (en) * 2011-03-30 2012-10-04 Amazon Technologies, Inc. Frameworks and interfaces for offload device-based packet processing
US20120250686A1 (en) * 2011-03-30 2012-10-04 Amazon Technologies, Inc. Offload device-based stateless packet processing
CN104272288A (zh) * 2012-06-08 2015-01-07 英特尔公司 用于确保物理端口内veb回送的sr-iov故障转移和聚合控制系统
CN105284080A (zh) * 2014-03-31 2016-01-27 华为技术有限公司 数据中心的虚拟网络管理方法及数据中心系统
CN106998347A (zh) * 2016-01-26 2017-08-01 中兴通讯股份有限公司 服务器虚拟化网络共享的装置和方法
CN107450966A (zh) * 2011-03-30 2017-12-08 亚马逊技术公司 基于减负装置的数据包处理的框架和接口
CN108540381A (zh) * 2017-03-01 2018-09-14 丛林网络公司 计算方法、计算装置和计算机可读存储介质
CN110198243A (zh) * 2019-06-11 2019-09-03 深信服科技股份有限公司 一种虚拟机的网络接入方法及相关设备
KR102019212B1 (ko) * 2018-11-21 2019-11-04 아토리서치(주) 서비스 기능 체인을 운용하는 방법, 장치 및 컴퓨터 프로그램

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100290467A1 (en) * 2009-05-12 2010-11-18 International Business Machines Corporation Discovery and Capability Exchange Management in a Virtualized Computing Platform Utilizing a SR-IOV Adapter
CN102652305A (zh) * 2009-12-17 2012-08-29 微软公司 虚拟存储目标卸载技术
US20120250682A1 (en) * 2011-03-30 2012-10-04 Amazon Technologies, Inc. Frameworks and interfaces for offload device-based packet processing
US20120250686A1 (en) * 2011-03-30 2012-10-04 Amazon Technologies, Inc. Offload device-based stateless packet processing
CN107450966A (zh) * 2011-03-30 2017-12-08 亚马逊技术公司 基于减负装置的数据包处理的框架和接口
CN104272288A (zh) * 2012-06-08 2015-01-07 英特尔公司 用于确保物理端口内veb回送的sr-iov故障转移和聚合控制系统
CN105284080A (zh) * 2014-03-31 2016-01-27 华为技术有限公司 数据中心的虚拟网络管理方法及数据中心系统
CN106998347A (zh) * 2016-01-26 2017-08-01 中兴通讯股份有限公司 服务器虚拟化网络共享的装置和方法
CN108540381A (zh) * 2017-03-01 2018-09-14 丛林网络公司 计算方法、计算装置和计算机可读存储介质
KR102019212B1 (ko) * 2018-11-21 2019-11-04 아토리서치(주) 서비스 기능 체인을 운용하는 방법, 장치 및 컴퓨터 프로그램
CN110198243A (zh) * 2019-06-11 2019-09-03 深信服科技股份有限公司 一种虚拟机的网络接入方法及相关设备

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
"NVIDIA GTC 2020大会:众多技术新品助力各行业AI技术发展", 智能制造, no. 06 *
崔鸣石等: "浅析软件定义网络(SDN)在电力信息通信网的研究与应用", 《网络安全技术与应用》 *
崔鸣石等: "浅析软件定义网络(SDN)在电力信息通信网的研究与应用", 《网络安全技术与应用》, no. 03, 15 March 2018 (2018-03-15) *
王煜炜等: "面向网络功能虚拟化的高性能负载均衡机制", 《计算机研究与发展》 *
王煜炜等: "面向网络功能虚拟化的高性能负载均衡机制", 《计算机研究与发展》, no. 04, 15 April 2018 (2018-04-15) *
臧大伟;曹政;王展;刘小丽;付斌章;孙凝晖;: "基于AWGR的OCS/EPS数据中心光电混合网络", 计算机学报, no. 09 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115208904A (zh) * 2022-06-29 2022-10-18 深圳星云智联科技有限公司 流量监控方法及相关设备
CN115242688A (zh) * 2022-07-27 2022-10-25 济南浪潮数据技术有限公司 一种网络故障检测方法、装置以及介质

Also Published As

Publication number Publication date
CN114070755B (zh) 2023-08-01

Similar Documents

Publication Publication Date Title
CN110865867B (zh) 应用拓扑关系发现的方法、装置和系统
CN108683720B (zh) 一种容器集群服务配置方法及装置
US11829797B1 (en) Dynamic configuration of virtual machines
EP3402131A1 (en) Resource configuration method, virtualized network function manager and network element management system
US10764165B1 (en) Event-driven framework for filtering and processing network flows
WO2021109767A1 (zh) 网络设备及其降低传输时延的方法
WO2019051948A1 (zh) 监控数据的处理方法、设备、服务器及存储介质
WO2017215557A1 (zh) 一种采集性能监视单元pmu事件的方法及装置
US10305974B2 (en) Ranking system
US11194648B2 (en) Dynamic logging and prioritization of error incident data
CN114070755A (zh) 虚拟机网络流量确定方法、装置、电子设备和存储介质
CN111562889B (zh) 数据处理方法、装置、系统及存储介质
CN109639796A (zh) 一种负载均衡实现方法、装置、设备及可读存储介质
CN111625319A (zh) 虚拟机监控数据的采集方法、装置及宿主机
CN110851334A (zh) 流量统计方法、电子设备、系统及介质
CN109286532B (zh) 云计算系统中告警信息的管理方法和装置
CN110855525A (zh) 流量统计方法、电子设备、系统及介质
CN112311577A (zh) 一种监控指标数据管理方法、装置、电子设备及存储介质
CN114741218A (zh) 操作系统的异常指标提取方法、装置、设备、系统及介质
CN112650677A (zh) 接口调用方法、装置、服务器及存储介质
CN110868360B (zh) 流量统计方法、电子设备、系统及介质
CN108810299B (zh) 一种信息解析的方法、介质及设备
US9612895B1 (en) Method for prioritizing first failure data capture (FFDC) data for analysis
CN112463544B (zh) 程序的运行监控方法、装置、设备及存储介质
CN116886445B (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
GR01 Patent grant
GR01 Patent grant