CN112367267A - 一种虚拟机管理方法及装置 - Google Patents
一种虚拟机管理方法及装置 Download PDFInfo
- Publication number
- CN112367267A CN112367267A CN202011065684.5A CN202011065684A CN112367267A CN 112367267 A CN112367267 A CN 112367267A CN 202011065684 A CN202011065684 A CN 202011065684A CN 112367267 A CN112367267 A CN 112367267A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- server
- intelligent network
- network card
- target
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及智能网卡技术领域,特别涉及一种虚拟机管理方法及装置。该方法应用于部署在服务器上的智能网卡,该服务器部署有运行目标业务的若干虚拟机,该智能网卡上配置有与各虚拟机一一对应的虚拟功能VF接口,各VF接口组成聚合组,该智能网卡基于该聚合组进行该目标业务对应的流量分担,该方法包括:该智能网卡分别统计预设时长内分担到各虚拟机的流量;该智能网卡判断该各虚拟机中是否存在流量大于第一设定阈值的第一虚拟机;若该智能网卡判定该各虚拟机中存在流量大于第一设定阈值的第一虚拟机,则通知该服务器创建一个目标虚拟机;该智能网卡在本地配置与该目标虚拟机对应的目标VF接口,并将该目标VF接口添加至该聚合组。
Description
技术领域
本申请涉及智能网卡技术领域,特别涉及一种虚拟机管理方法及装置。
背景技术
随着虚拟化技术的发展,虚拟化技术也应用到越来越多的业务场景中,所谓虚拟化应用,可以是在服务器上创建多个用于提供目标业务服务的虚拟机,各虚拟机负载均衡目标业务服务流量,那么,如何管理虚拟机成为亟待解决的问题,若按照高峰时的流量来预留资源(创建对应数量的虚拟机),这样就会导致大部分时间造成资源浪费,若按照流量平均值来预留资源,这样,当流量高峰来临时,就会导致资源不够而导致目标业务服务处理不过来。
目前,通常根据检测到的各虚拟机的资源使用指标(如,虚拟机的CPU使用率、内存使用率、TCP连接数等)来确定各虚拟机的运行负载,并依据各虚拟机的运行负载来确定是否增删虚拟机,且目标业务服务流量的负载均衡需要联动硬件负载均衡设备,将目标业务流量分担到当前创建各虚拟机上,这样,在检测各虚拟机资源使用指标时,就需要额外占用宝贵的服务器资源,同时,需要由第三方硬件负载均衡设备来进行流量分担,额外增加用户成本。
发明内容
本申请提供了一种虚拟机管理方法及装置,用以解决现有技术中存在的检测各虚拟机资源使用指标占用服务器资源的问题。
第一方面,本申请提供了一种虚拟机管理方法,应用于部署在服务器上的智能网卡,所述服务器部署有运行目标业务的若干虚拟机,所述智能网卡上配置有与各虚拟机一一对应的虚拟功能VF接口,各VF接口组成聚合组,所述智能网卡基于所述聚合组进行所述目标业务对应的流量分担,所述方法包括:
所述智能网卡分别统计预设时长内分担到各虚拟机的流量;
所述智能网卡判断所述各虚拟机中是否存在流量大于第一设定阈值的第一虚拟机;
若所述智能网卡判定所述各虚拟机中存在流量大于第一设定阈值的第一虚拟机,则通知所述服务器创建一个目标虚拟机;
所述智能网卡在本地配置与所述目标虚拟机对应的目标VF接口,并将所述目标VF接口添加至所述聚合组。
可选地,所述方法还包括:
所述智能网卡判断所述各虚拟机中是否存在流量小于第二设定阈值的第二虚拟机;
若所述智能网卡判定所述各虚拟机中存在流量小于第二设定阈值的第二虚拟机,则通知所述服务器删除所述第二虚拟机,并将所述第二虚拟机对应的VF接口,其中,所述第二设定阈值小于所述第一设定阈值。
可选地,所述智能网卡分别统计预设时长内分担到各虚拟机的流量的步骤包括:
所述智能网卡基于Openflow流表分别统计预设时长内分担到各虚拟机的流量大小;或者,
所述智能网卡基于Openflow流表分别统计预设时长内分担到各虚拟机的流量大小,并基于各虚拟机的流量大小和所述预设时长,分别计算各虚拟机的流量速率。
可选地,通知所述服务器创建一个目标虚拟机的步骤包括:
所述智能网卡与所述服务器上的虚拟机管理进程进行通信,以通知所述服务器上的虚拟机管理进程基于与所述各虚拟机对应的虚拟机模板创建一个目标虚拟机;
通知所述服务器删除所述第二虚拟机的步骤包括:
所述智能网卡与所述服务器上的虚拟机管理进程进行通信,以通知所述服务器上的虚拟机管理进程删除所述第二虚拟机。
可选地,所述方法还包括:
所述智能网卡在通知所述服务器创建一个目标虚拟机时,若确定所述服务器当前可用资源不满足创建目标虚拟机时,则向同一VLAN内的服务器发送广播报文,以使得部署有智能网卡的服务器基于所述广播报文创建一个虚拟机,其中,所述广播报文携带有所述各虚拟机对应的虚拟机模板信息;
所述智能网卡接收所述部署有智能网卡的服务器返回的携带有创建的虚拟机的IP地址的响应报文,并将第一个返回响应报文的服务器新创建的一个虚拟机作为目标虚拟机;
所述智能网卡在本地配置与所述目标虚拟机对应的目标VF接口,并将所述目标VF接口添加至所述聚合组,以及向除所述第一个返回响应报文的服务器之外的其它服务器返回删除新创建的一个虚拟机的指示报文,以使得所述其它服务器删除新创建的一个虚拟机。
第二方面,本申请提供了一种虚拟机管理装置,应用于部署在服务器上的智能网卡,所述服务器部署有运行目标业务的若干虚拟机,所述智能网卡上配置有与各虚拟机一一对应的虚拟功能VF接口,各VF接口组成聚合组,所述智能网卡基于所述聚合组进行所述目标业务对应的流量分担,所述装置包括:
统计单元,用于分别统计预设时长内分担到各虚拟机的流量;
判断单元,用于判断所述各虚拟机中是否存在流量大于第一设定阈值的第一虚拟机;
若所述判断单元判定所述各虚拟机中存在流量大于第一设定阈值的第一虚拟机,则通知单元,用于通知所述服务器创建一个目标虚拟机;
配置单元,用于在所述装置本地配置与所述目标虚拟机对应的目标VF接口,并将所述目标VF接口添加至所述聚合组。
可选地,所述判断单元还用于:
判断所述各虚拟机中是否存在流量小于第二设定阈值的第二虚拟机;
若判定所述各虚拟机中存在流量小于第二设定阈值的第二虚拟机,则所述通知单元还用于,通知所述服务器删除所述第二虚拟机,并将所述第二虚拟机对应的VF接口,其中,所述第二设定阈值小于所述第一设定阈值。
可选地,分别统计预设时长内分担到各虚拟机的流量时,所述统计单元具体用于:
基于Openflow流表分别统计预设时长内分担到各虚拟机的流量大小;或者,
基于Openflow流表分别统计预设时长内分担到各虚拟机的流量大小,并基于各虚拟机的流量大小和所述预设时长,分别计算各虚拟机的流量速率。
可选地,通知所述服务器创建一个目标虚拟机时,所述通知单元具体用于:
与所述服务器上的虚拟机管理进程进行通信,以通知所述服务器上的虚拟机管理进程基于与所述各虚拟机对应的虚拟机模板创建一个目标虚拟机;
通知所述服务器删除所述第二虚拟机时,所述通知单元具体用于:
与所述服务器上的虚拟机管理进程进行通信,以通知所述服务器上的虚拟机管理进程删除所述第二虚拟机。
可选地,所述装置还包括:
在所述通知单元通知所述服务器创建一个目标虚拟机时,若确定所述服务器当前可用资源不满足创建目标虚拟机时,则发送单元,用于向同一VLAN内的服务器发送广播报文,以使得部署有所述装置的服务器基于所述广播报文创建一个虚拟机,其中,所述广播报文携带有所述各虚拟机对应的虚拟机模板信息;
接收单元,用于接收所述部署有所述装置的服务器返回的携带有创建的虚拟机的IP地址的响应报文,并将第一个返回响应报文的服务器新创建的一个虚拟机作为目标虚拟机;
所述配置单元,用于在所述装置本地配置与所述目标虚拟机对应的目标VF接口,并将所述目标VF接口添加至所述聚合组,以及所述发送单元还用于,向除所述第一个返回响应报文的服务器之外的其它服务器返回删除新创建的一个虚拟机的指示报文,以使得所述其它服务器删除新创建的一个虚拟机。
第三方面,本申请实施例提供一种智能网卡,该智能网卡包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如上述第一方面中任一项所述的方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如上述第一方面中任一项所述方法的步骤。
综上可知,本申请实施例提供的虚拟机管理方法,应用于部署在服务器上的智能网卡,所述服务器部署有运行目标业务的若干虚拟机,所述智能网卡上配置有与各虚拟机一一对应的虚拟功能VF接口,各VF接口组成聚合组,所述智能网卡基于所述聚合组进行所述目标业务对应的流量分担,所述方法包括:所述智能网卡分别统计预设时长内分担到各虚拟机的流量;所述智能网卡判断所述各虚拟机中是否存在流量大于第一设定阈值的第一虚拟机;若所述智能网卡判定所述各虚拟机中存在流量大于第一设定阈值的第一虚拟机,则通知所述服务器创建一个目标虚拟机;所述智能网卡在本地配置与所述目标虚拟机对应的目标VF接口,并将所述目标VF接口添加至所述聚合组。
采用本申请实施例提供的虚拟机管理方法,通过智能网卡即可完成各业务流量的负载分担,无需联动硬件负载均衡设备,降低用户成本;通过智能网卡统计分担至各虚拟机的流量,完成虚拟机的增删管理,无需额外占用服务器资源检测各虚拟机的性能指标。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1为本申请实施例提供的一种网络组网示意图;
图2为本申请实施例提供的一种虚拟机管理方法的详细流程图;
图3为本申请实施例提供的另一种网络组网示意图;
图4为本申请实施例提供的又一种网络组网示意图;
图5为本申请实施例提供的一种虚拟机管理装置的结构示意图;
图6为本申请实施例提供的一种智能网卡的硬件架构示意图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
下面将通过具体实施例对本申请的方案进行详细描述,当然,本申请并不限于以下实施例。
示例性的,参阅图1所示,为本申请提供的一种网络组网示意图,该网络组网包括交换机相连的服务器,服务器上部署有智能网卡,虚拟机1(VM 1)和虚拟机2(VM 2),服务器1上的智能网卡上配置有与VM 1一一对应的虚拟功能接口1(VF 1),与VM 2一一对应的虚拟功能接口2(VF 2);VM 1和VM2用于对外提供业务服务,且VF 1和VF 2组成一个聚合组,智能网卡对外提供一个目标业务服务对应的虚IP,VM 1和VM 2的实IP维护在智能网卡中,当智能网卡接收到交换机转发的目标业务服务流量时,即接收到目的IP为虚IP的流量后,使用聚合哈希算法,将流量分担到VM 1和VM 2上,具体地,基于预设的负载均衡规则,将分担到VM 1的流量的目的IP修改为VM 1的实IP,同理,将分到到VM 2上的流量的目的IP修改为VM2的实IP。这样,通过智能网卡即可完成目标业务服务流量的负载均衡,无需联动硬件负载均衡设备。
进一步地,下面描述的方法实施例用于详细描述如何根据目标业务服务流量大小来管理运用对外提供目标业务服务的虚拟机。
示例性的,参阅图2所示,为本申请实施例提供的一种虚拟机管理方法的详细流程图,该方法应用于部署在服务器上的智能网卡,上述服务器部署有运行目标业务的若干虚拟机,上述智能网卡上配置有与各虚拟机一一对应的虚拟功能VF接口,各VF接口组成聚合组,上述智能网卡基于上述聚合组进行上述目标业务对应的流量分担,该方法包括以下步骤:
步骤200:智能网卡分别统计预设时长内分担到各虚拟机的流量。
具体地,本申请实施例中,智能网卡分别统计预设时长内分担到各虚拟机的流量时,一种较佳地实现方式为,上述智能网卡基于Openflow流表分别统计预设时长内分担到各虚拟机的流量大小。
实际应用中,Openflow流表有报文统计功能,即统计转发的每一报文的大小,那么,就可以基于Openflow流表统计一段时间内转发到对应虚拟机的流量的大小。
也就是说,假设预设时长为10秒(s),那么,即可基于Openflow流表每10秒统计一次最近10s内分担到各虚拟机的流量的大小。
进一步地,本申请实施例中,智能网卡分别统计预设时长内分担到各虚拟机的流量时,另一种较佳地实现方式为,上述智能网卡基于Openflow流表分别统计预设时长内分担到各虚拟机的流量大小,并基于各虚拟机的流量大小和上述预设时长,分别计算各虚拟机的流量速率。
也就是说,在基于Openflow流表统计出一段时间内转发到对应虚拟机的流量的大小,进一步地,还可以根据统计时长和统计出的各虚拟机的流量大小计算出各虚拟机的流量速率。
步骤210:上述智能网卡判断上述各虚拟机中是否存在流量大于第一设定阈值的第一虚拟机。
本申请实施例中,智能网卡上预设有第一设定阈值(繁忙阈值),那么,在统计出预设时长内分担到各虚拟机的流量之后,将各虚拟机的流量分别与与车的第一设定阈值进行比较,以判断各虚拟机中是否存在流量大于第一设定阈值的虚拟机。
需要说明的是,本申请实施例中,若任一虚拟机在预设时长内的流量大于第一设定阈值,则说明该虚拟机负载较大,而智能网卡是将目标业务服务流量负载分担到各虚拟机上的,也间接说明承载该目标业务服务流量的其它虚拟机负载也较大,此时,就需要动态增加承载该目标业务服务流量的虚拟机。
实际应用中,该第一设定阈值可以根据用户需求和/或具体应用场景不同而自定义设置,本申请实施例中,在此不做具体限定。
具体地,本申请实施例中,一种较佳地实现方式为,该第一设定阈值写入智能网卡的全局寄存器中。
步骤220:若上述智能网卡判定上述各虚拟机中存在流量大于第一设定阈值的第一虚拟机,则通知上述服务器创建一个目标虚拟机。
也就是说,若智能网卡判定各虚拟机中存在一个或多个流量大于第一设定阈值的虚拟机,则确定各虚拟机的负载均较高,此时就需要服务器创建其它虚拟机来分担流量,本申请实施例中,在通知上述服务器创建一个目标虚拟机时,一种较佳地实现方式为,上述智能网卡与上述服务器上的虚拟机管理进程进行通信,以通知上述服务器上的虚拟机管理进程基于与上述各虚拟机对应的虚拟机模板创建一个目标虚拟机。
例如,服务器中用于管理虚拟机的虚拟机管理进程为qemu进程,智能网卡与qemu进程之间建立socket连接,那么,智能网卡即可通过socket连接与服务器的qemu进程通信,qemu进程使用与各虚拟机对应的虚拟机模板创建一个目标虚拟机。
步骤230:上述智能网卡在本地配置与上述目标虚拟机对应的目标VF接口,并将上述目标VF接口添加至上述聚合组。
进一步地,智能网卡在确定服务器创建了目标虚拟机之后,需在本地配置一个与目标虚拟机对应的目标VF接口,并将该目标VF接口添加至由各虚拟机分别对应的VF接口组成的聚合组中。
例如,假设已有虚拟机1和虚拟机2,智能网卡中配置有虚拟机1对应的VF接口1,虚拟机2对应的VF接口2,且VF接口1和VF接口2组成聚合组,此时,若服务器上创建有虚拟机3,则智能网卡在本地配置与虚拟机3对应的VF接口3,并将VF接口3添加至上述聚合组中,即该聚合组由VF接口1,VF接口2和VF接口3组成。这样,智能网卡即可基于该聚合组将流量负载分担到虚拟机1,虚拟机2和虚拟机3上进行业务处理。
示例性的,结合图1,参阅图3所示,为本申请实施例提供的另一种网络组网示意图。服务器上原部署有VM 1和VM 2,VM 1对应的VF 1与VM 2对应的VF 2组成聚合组,智能网卡对外提供一个目标业务服务对应的虚IP,VM 1和VM 2的实IP维护在智能网卡中,当智能网卡确定VM 1和/或VM 2在预设时长内的流量大于第一设定阈值时,通过服务器创建VM 3,并在智能网卡本地维护VM 3的实IP,配置与VM 3对应的VF 3,以及将VF 3加入由VF 1和VF2组成的聚合组中。
本申请实施例中,上述智能网卡在通知上述服务器创建一个目标虚拟机时,若确定上述服务器当前可用资源不满足创建目标虚拟机时,则向同一VLAN内的服务器发送广播报文,以使得部署有智能网卡的服务器基于上述广播报文创建一个虚拟机,其中,上述广播报文携带有上述各虚拟机对应的虚拟机模板信息;上述智能网卡接收上述部署有智能网卡的服务器返回的携带有创建的虚拟机的IP地址的响应报文,并将第一个返回响应报文的服务器新创建的一个虚拟机作为目标虚拟机;上述智能网卡在本地配置与上述目标虚拟机对应的目标VF接口,并将上述目标VF接口添加至上述聚合组,以及向除上述第一个返回响应报文的服务器之外的其它服务器返回删除新创建的一个虚拟机的指示报文,以使得上述其它服务器删除新创建的一个虚拟机。
示例性的,结合图1,参阅图4所示,为本申请实施例提供的又一种网络组网示意图。假设服务器1上原部署有智能网卡1,VM 1和VM 2,VM 1对应的VF 1与VM 2对应的VF 2组成聚合组,智能网1对外提供一个目标业务服务对应的虚IP,VM 1和VM 2的实IP维护在智能网卡1中,服务器2上部署有智能网卡2,服务器1和服务器2处于同一VLAN下,那么,当智能网卡1确定VM 1和/或VM 2在预设时长内的流量大于第一设定阈值时,通过服务器1创建VM 3,若服务器1确定当前可用资源不满足创建VM 3时,向同一VLAN下的服务器2发送广播报文(如,通过扩展openflow协议的方式),该广播报文中携带有虚拟机模板的xml格式信息,服务器2在接收到该广播报文后,若确定当前可用资源满足创建VM 3的情况下,基于该虚拟机模板的xml格式信息创建一个虚拟机,并将VM 3的IP地址(实IP)返回给服务器1,智能网卡1维护该IP地址,并在本地配置与虚拟机3对应的VF接口3,并将VF接口3添加至上述聚合组中,即该聚合组由VF接口1,VF接口2和VF接口3组成。这样,智能网卡即可基于该聚合组将流量负载分担到虚拟机1,虚拟机2和虚拟机3上进行业务处理。例如,将负载分担到VM 3的流量的目的IP地址修改为VM 3的实IP,并通过交换机将目的IP地址为VM 3的实IP的流量转发至服务器2的智能网卡2,由智能网卡2将该流量转发至VM 3。
当然,若同一VLAN内存在多个服务器,则服务器1可以将广播报文广播至其它所有服务器,若一个服务器未部署智能网卡,则直接丢弃该广播报文,若一个服务器部署有智能网卡,则基于该广播报文创建对应的虚拟机,并向服务器1返回携带虚拟机IP地址的响应报文,服务器1将接收到的第一个返回响应报文的服务器创建的虚拟机作为目标虚拟机,并向其他返回响应报文的服务器返回删除虚拟机的指示报文,其他服务器在接收到删除虚拟机的指示报文后,直接删除新创建的虚拟机。
当然,若在服务器上创建一个目标虚拟机之后,仍存在至少一个虚拟机在预设时长内的流量大于第一设定阈值,则仍可以基于上述步骤创建另一个目标虚拟机,直至各虚拟机在预设时长内的流量均不大于第一设定阈值。
进一步地,本申请实施例中,上述虚拟机管理方法还包括以下步骤:
若上述智能网卡判断上述各虚拟机中是否存在流量小于第二设定阈值的第二虚拟机;若上述智能网卡判定上述各虚拟机中存在流量小于第二设定阈值的第二虚拟机,则通知上述服务器删除上述第二虚拟机,并将上述第二虚拟机对应的VF接口,其中,上述第二设定阈值小于上述第一设定阈值。
也就是说,本申请实施例中,若任一虚拟机在预设时长内的流量小于第二设定阈值(空闲阈值),则说明该虚拟机负载较小,而智能网卡是将目标业务服务流量负载分担到各虚拟机上的,也间接说明承载该目标业务服务流量的其它虚拟机负载也较小,此时,就需要动态删除承载该目标业务服务流量的虚拟机。
当然,若一次确定出多个第二虚拟机,则可以根据实际情况来确定选择删除部分或全部第二虚拟机。
同理,该第二设定阈值可以根据用户需求和/或具体应用场景不同而自定义设置,本申请实施例中,在此不做具体限定。
具体地,本申请实施例中,一种较佳地实现方式为,该第二设定阈值写入智能网卡的全局寄存器中。
基于与上述发明实施例同样的发明构思,下面结合具体应用场景对本申请实施例提供的虚拟机管理装置的结构进行详细说明。示例性的,参阅图5所示,为本申请实施例提供的一种虚拟机管理装置的结构示意图,该装置应用于部署在服务器上的智能网卡,所述服务器部署有运行目标业务的若干虚拟机,所述智能网卡上配置有与各虚拟机一一对应的虚拟功能VF接口,各VF接口组成聚合组,所述智能网卡基于所述聚合组进行所述目标业务对应的流量分担,所述装置包括:
统计单元50,用于分别统计预设时长内分担到各虚拟机的流量;
判断单元51,用于判断所述各虚拟机中是否存在流量大于第一设定阈值的第一虚拟机;
若判断单元50判定所述各虚拟机中存在流量大于第一设定阈值的第一虚拟机,则通知单元52,用于通知所述服务器创建一个目标虚拟机;
配置单元53,用于在所述装置本地配置与所述目标虚拟机对应的目标VF接口,并将所述目标VF接口添加至所述聚合组。
可选地,判断单元51还用于:
判断所述各虚拟机中是否存在流量小于第二设定阈值的第二虚拟机;
若判定所述各虚拟机中存在流量小于第二设定阈值的第二虚拟机,则所述通知单元52还用于,通知所述服务器删除所述第二虚拟机,并将所述第二虚拟机对应的VF接口,其中,所述第二设定阈值小于所述第一设定阈值。
可选地,分别统计预设时长内分担到各虚拟机的流量时,统计单元50具体用于:
基于Openflow流表分别统计预设时长内分担到各虚拟机的流量大小;或者,
基于Openflow流表分别统计预设时长内分担到各虚拟机的流量大小,并基于各虚拟机的流量大小和所述预设时长,分别计算各虚拟机的流量速率。
可选地,通知所述服务器创建一个目标虚拟机时,通知单元52具体用于:
与所述服务器上的虚拟机管理进程进行通信,以通知所述服务器上的虚拟机管理进程基于与所述各虚拟机对应的虚拟机模板创建一个目标虚拟机;
通知所述服务器删除所述第二虚拟机时,通知单元52具体用于:
与所述服务器上的虚拟机管理进程进行通信,以通知所述服务器上的虚拟机管理进程删除所述第二虚拟机。
可选地,所述装置还包括:
在通知单元52通知所述服务器创建一个目标虚拟机时,若确定所述服务器当前可用资源不满足创建目标虚拟机时,则发送单元,用于向同一VLAN内的服务器发送广播报文,以使得部署有所述装置的服务器基于所述广播报文创建一个虚拟机,其中,所述广播报文携带有所述各虚拟机对应的虚拟机模板信息;
接收单元,用于接收所述部署有所述装置的服务器返回的携带有创建的虚拟机的IP地址的响应报文,并将第一个返回响应报文的服务器新创建的一个虚拟机作为目标虚拟机;
配置单元53,用于在所述装置本地配置与所述目标虚拟机对应的目标VF接口,并将所述目标VF接口添加至所述聚合组,以及所述发送单元还用于,向除所述第一个返回响应报文的服务器之外的其它服务器返回删除新创建的一个虚拟机的指示报文,以使得所述其它服务器删除新创建的一个虚拟机。
以上这些单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个单元通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
进一步地,本申请实施例提供的智能网卡,从硬件层面而言,所述智能网卡的硬件架构示意图可以参见图6所示,所述智能网卡可以包括:存储器60和处理器61,
存储器60用于存储程序指令;处理器61调用存储器60中存储的程序指令,按照获得的程序指令执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种智能网卡,包括用于执行上述方法实施例的至少一个处理元件(或芯片)。
可选地,本申请还提供一种程序产品,例如计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使该计算机执行上述方法实施例。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种虚拟机管理方法,应用于部署在服务器上的智能网卡,其特征在于,所述服务器部署有运行目标业务的若干虚拟机,所述智能网卡上配置有与各虚拟机一一对应的虚拟功能VF接口,各VF接口组成聚合组,所述智能网卡基于所述聚合组进行所述目标业务对应的流量分担,所述方法包括:
所述智能网卡分别统计预设时长内分担到各虚拟机的流量;
所述智能网卡判断所述各虚拟机中是否存在流量大于第一设定阈值的第一虚拟机;
若所述智能网卡判定所述各虚拟机中存在流量大于第一设定阈值的第一虚拟机,则通知所述服务器创建一个目标虚拟机;
所述智能网卡在本地配置与所述目标虚拟机对应的目标VF接口,并将所述目标VF接口添加至所述聚合组。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述智能网卡判断所述各虚拟机中是否存在流量小于第二设定阈值的第二虚拟机;
若所述智能网卡判定所述各虚拟机中存在流量小于第二设定阈值的第二虚拟机,则通知所述服务器删除所述第二虚拟机,并将所述第二虚拟机对应的VF接口,其中,所述第二设定阈值小于所述第一设定阈值。
3.如权利要求1所述的方法,其特征在于,所述智能网卡分别统计预设时长内分担到各虚拟机的流量的步骤包括:
所述智能网卡基于Openflow流表分别统计预设时长内分担到各虚拟机的流量大小;或者,
所述智能网卡基于Openflow流表分别统计预设时长内分担到各虚拟机的流量大小,并基于各虚拟机的流量大小和所述预设时长,分别计算各虚拟机的流量速率。
4.如权利要求1或2所述的方法,其特征在于,通知所述服务器创建一个目标虚拟机的步骤包括:
所述智能网卡与所述服务器上的虚拟机管理进程进行通信,以通知所述服务器上的虚拟机管理进程基于与所述各虚拟机对应的虚拟机模板创建一个目标虚拟机;
通知所述服务器删除所述第二虚拟机的步骤包括:
所述智能网卡与所述服务器上的虚拟机管理进程进行通信,以通知所述服务器上的虚拟机管理进程删除所述第二虚拟机。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述智能网卡在通知所述服务器创建一个目标虚拟机时,若确定所述服务器当前可用资源不满足创建目标虚拟机时,则向同一VLAN内的服务器发送广播报文,以使得部署有智能网卡的服务器基于所述广播报文创建一个虚拟机,其中,所述广播报文携带有所述各虚拟机对应的虚拟机模板信息;
所述智能网卡接收所述部署有智能网卡的服务器返回的携带有创建的虚拟机的IP地址的响应报文,并将第一个返回响应报文的服务器新创建的一个虚拟机作为目标虚拟机;
所述智能网卡在本地配置与所述目标虚拟机对应的目标VF接口,并将所述目标VF接口添加至所述聚合组,以及向除所述第一个返回响应报文的服务器之外的其它服务器返回删除新创建的一个虚拟机的指示报文,以使得所述其它服务器删除新创建的一个虚拟机。
6.一种虚拟机管理装置,应用于部署在服务器上的智能网卡,其特征在于,所述服务器部署有运行目标业务的若干虚拟机,所述智能网卡上配置有与各虚拟机一一对应的虚拟功能VF接口,各VF接口组成聚合组,所述智能网卡基于所述聚合组进行所述目标业务对应的流量分担,所述装置包括:
统计单元,用于分别统计预设时长内分担到各虚拟机的流量;
判断单元,用于判断所述各虚拟机中是否存在流量大于第一设定阈值的第一虚拟机;
若所述判断单元判定所述各虚拟机中存在流量大于第一设定阈值的第一虚拟机,则通知单元,用于通知所述服务器创建一个目标虚拟机;
配置单元,用于在所述装置本地配置与所述目标虚拟机对应的目标VF接口,并将所述目标VF接口添加至所述聚合组。
7.如权利要求6所述的装置,其特征在于,所述判断单元还用于:
判断所述各虚拟机中是否存在流量小于第二设定阈值的第二虚拟机;
若判定所述各虚拟机中存在流量小于第二设定阈值的第二虚拟机,则所述通知单元还用于,通知所述服务器删除所述第二虚拟机,并将所述第二虚拟机对应的VF接口,其中,所述第二设定阈值小于所述第一设定阈值。
8.如权利要求6所述的装置,其特征在于,分别统计预设时长内分担到各虚拟机的流量时,所述统计单元具体用于:
基于Openflow流表分别统计预设时长内分担到各虚拟机的流量大小;或者,
基于Openflow流表分别统计预设时长内分担到各虚拟机的流量大小,并基于各虚拟机的流量大小和所述预设时长,分别计算各虚拟机的流量速率。
9.如权利要求6或7所述的装置,其特征在于,通知所述服务器创建一个目标虚拟机时,所述通知单元具体用于:
与所述服务器上的虚拟机管理进程进行通信,以通知所述服务器上的虚拟机管理进程基于与所述各虚拟机对应的虚拟机模板创建一个目标虚拟机;
通知所述服务器删除所述第二虚拟机时,所述通知单元具体用于:
与所述服务器上的虚拟机管理进程进行通信,以通知所述服务器上的虚拟机管理进程删除所述第二虚拟机。
10.如权利要求6所述的装置,其特征在于,所述装置还包括:
在所述通知单元通知所述服务器创建一个目标虚拟机时,若确定所述服务器当前可用资源不满足创建目标虚拟机时,则发送单元,用于向同一VLAN内的服务器发送广播报文,以使得部署有所述装置的服务器基于所述广播报文创建一个虚拟机,其中,所述广播报文携带有所述各虚拟机对应的虚拟机模板信息;
接收单元,用于接收所述部署有所述装置的服务器返回的携带有创建的虚拟机的IP地址的响应报文,并将第一个返回响应报文的服务器新创建的一个虚拟机作为目标虚拟机;
所述配置单元,用于在所述装置本地配置与所述目标虚拟机对应的目标VF接口,并将所述目标VF接口添加至所述聚合组,以及所述发送单元还用于,向除所述第一个返回响应报文的服务器之外的其它服务器返回删除新创建的一个虚拟机的指示报文,以使得所述其它服务器删除新创建的一个虚拟机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011065684.5A CN112367267B (zh) | 2020-09-30 | 2020-09-30 | 一种虚拟机管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011065684.5A CN112367267B (zh) | 2020-09-30 | 2020-09-30 | 一种虚拟机管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112367267A true CN112367267A (zh) | 2021-02-12 |
CN112367267B CN112367267B (zh) | 2022-03-29 |
Family
ID=74507287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011065684.5A Active CN112367267B (zh) | 2020-09-30 | 2020-09-30 | 一种虚拟机管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112367267B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023087938A1 (zh) * | 2021-11-19 | 2023-05-25 | 阿里云计算有限公司 | 数据处理方法、可编程网卡设备、物理服务器及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104486234A (zh) * | 2014-11-21 | 2015-04-01 | 华为技术有限公司 | 一种将业务交换机卸载到物理网卡的方法及服务器 |
CN104917805A (zh) * | 2015-01-14 | 2015-09-16 | 杭州华三通信技术有限公司 | 一种负载分担的方法和设备 |
CN105592134A (zh) * | 2015-08-26 | 2016-05-18 | 杭州华三通信技术有限公司 | 一种负载分担的方法和装置 |
CN106789337A (zh) * | 2017-01-18 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种kvm的网络性能优化方法 |
CN106850459A (zh) * | 2017-02-27 | 2017-06-13 | 郑州云海信息技术有限公司 | 一种实现虚拟网络负载均衡的方法及装置 |
KR20180134219A (ko) * | 2017-06-08 | 2018-12-18 | 정기웅 | 가상머신 패킷의 처리방법과 그 장치 |
CN110198243A (zh) * | 2019-06-11 | 2019-09-03 | 深信服科技股份有限公司 | 一种虚拟机的网络接入方法及相关设备 |
CN111371608A (zh) * | 2020-02-28 | 2020-07-03 | 苏州浪潮智能科技有限公司 | 一种部署sfc业务链的方法、装置和介质 |
CN111698167A (zh) * | 2020-04-01 | 2020-09-22 | 新华三大数据技术有限公司 | 一种报文处理方法及装置 |
-
2020
- 2020-09-30 CN CN202011065684.5A patent/CN112367267B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104486234A (zh) * | 2014-11-21 | 2015-04-01 | 华为技术有限公司 | 一种将业务交换机卸载到物理网卡的方法及服务器 |
CN104917805A (zh) * | 2015-01-14 | 2015-09-16 | 杭州华三通信技术有限公司 | 一种负载分担的方法和设备 |
CN105592134A (zh) * | 2015-08-26 | 2016-05-18 | 杭州华三通信技术有限公司 | 一种负载分担的方法和装置 |
CN106789337A (zh) * | 2017-01-18 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种kvm的网络性能优化方法 |
CN106850459A (zh) * | 2017-02-27 | 2017-06-13 | 郑州云海信息技术有限公司 | 一种实现虚拟网络负载均衡的方法及装置 |
KR20180134219A (ko) * | 2017-06-08 | 2018-12-18 | 정기웅 | 가상머신 패킷의 처리방법과 그 장치 |
CN110198243A (zh) * | 2019-06-11 | 2019-09-03 | 深信服科技股份有限公司 | 一种虚拟机的网络接入方法及相关设备 |
CN111371608A (zh) * | 2020-02-28 | 2020-07-03 | 苏州浪潮智能科技有限公司 | 一种部署sfc业务链的方法、装置和介质 |
CN111698167A (zh) * | 2020-04-01 | 2020-09-22 | 新华三大数据技术有限公司 | 一种报文处理方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023087938A1 (zh) * | 2021-11-19 | 2023-05-25 | 阿里云计算有限公司 | 数据处理方法、可编程网卡设备、物理服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112367267B (zh) | 2022-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10764132B2 (en) | Scale-out association method and apparatus, and system | |
CN107104824B (zh) | 一种网络拓扑确定方法和装置 | |
CN109417488B (zh) | 虚拟网络功能资源管理的方法和设备 | |
CN113328944B (zh) | 一种流表管理方法及装置 | |
CN106331065A (zh) | 一种用于具有服务容器的主机系统的代理应用以及系统 | |
CN111245732A (zh) | 一种流量控制方法、装置及设备 | |
CN113703912A (zh) | 一种虚拟机管理方法及装置 | |
CN112367267B (zh) | 一种虚拟机管理方法及装置 | |
CN108028806B (zh) | 网络功能虚拟化nfv网络中分配虚拟资源的方法和装置 | |
CN106603256B (zh) | 一种流量控制方法及装置 | |
CN105813037B (zh) | 短信并发业务处理方法及装置 | |
CN109982034A (zh) | 视频监控系统中的访问请求处理方法及装置 | |
WO2021259321A1 (zh) | 存储调度方法、设备和存储介质 | |
CN112152872B (zh) | 一种网络亚健康检测方法及装置 | |
CN107670276B (zh) | 游戏应用控制方法及设备 | |
CN111857992B (zh) | 一种Radosgw模块中线程资源分配方法和装置 | |
CN112231053A (zh) | 一种负载均衡服务分配方法及装置 | |
CN108139969B (zh) | 一种内存配置方法、装置及系统 | |
CN110879748A (zh) | 一种共享资源分配方法、装置和设备 | |
CN112148426A (zh) | 一种带宽分配方法及装置 | |
CN114039893A (zh) | 一种api网关限速方法及装置 | |
CN110046040B (zh) | 分布式任务处理方法及系统和存储介质 | |
CN112073327A (zh) | 一种抗拥塞的软件分流方法、装置及存储介质 | |
CN110855764A (zh) | 网络流量调度方法、装置、电子设备 | |
CN108809866B (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 |