一种基于SDN网络对虚拟网卡进行QoS配置的方法与装置与流程

文档序号:12865868阅读:399来源:国知局
一种基于SDN网络对虚拟网卡进行QoS配置的方法与装置与流程

本发明涉及虚拟机技术领域,特别是涉及一种基于sdn网络对虚拟网卡进行qos配置的方法与装置。



背景技术:

软件定义网络(softwaredefinednetwork,sdn),是emulex网络一种新型网络创新架构,是网络虚拟化的一种实现方式。服务质量(qualityofservice,qos)指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术。

随着云计算的应用越来越广泛,人们对服务器中虚拟机的功能要求也越来越高。但服务器中不同的虚拟机对网络qos的需求是不一致的,有重要业务部署的虚拟机对网络要求比较高,其他的要求可能相对较低。这就对sdn网络中对虚拟网卡的qos配置功能提出了要求,而虚拟交换软件(openvswitch,ovs)可以实现虚拟机(virtualmachine,vm)和外界网络的通信。

但是当虚拟机迁移、重启等操作后,该虚拟机上虚拟网卡的配置信息也会随之丢失。针对该种情况,往往需要人工重新进行配置,由此导致虚拟网卡上qos功能失效。

可见,如何实现虚拟网卡上qos功能的持久化,是本领域技术人员亟待解决的问题。



技术实现要素:

本发明实施例的目的是提供一种基于sdn网络对虚拟网卡进行qos配置的方法与装置,可以在虚拟机迁移或重启操作后,实现了虚拟网卡上qos功能的持久化。

为解决上述技术问题,本发明实施例提供一种基于sdn网络对虚拟网卡进行qos配置的方法,包括:

接收并保存用户输入的配置信息;每个虚拟网卡有其对应的配置信息;

监测虚拟机的状态;所述虚拟机连接在其所在主机中的ovs上;

当所述虚拟机重启或迁移时,则向所述虚拟机对应的ovs发送相应的配置信息,实现对所述虚拟机上虚拟网卡的qos配置。

可选的,还包括:

当接收到用户输入的删除指令后,监测对应的虚拟机是否处于开机状态;所述删除指令中包含有虚拟网卡的id信息;

若是,则向所述虚拟机对应的ovs发送所述删除指令。

可选的,还包括:

当接收到用户输入的配置指令后,依据所述配置指令中携带的配置信息,完成配置信息的更新,并监测对应的虚拟机是否处于开机状态;当所述虚拟机处于开机状态时,则依据所述配置信息中的id信息,查找相对应的虚拟网卡,并检测所述虚拟网卡是否具有配置信息;

若是,则向所述虚拟网卡对应的ovs发送配置命令;

若否,则向所述虚拟网卡对应的ovs发送更新命令。

本发明实施例还提供了一种基于sdn网络对虚拟网卡进行qos配置的装置,包括接收单元、监测单元和发送单元,

所述接收单元,用于接收并保存用户输入的配置信息;每个虚拟网卡有其对应的配置信息;

所述监测单元,用于监测虚拟机的状态;所述虚拟机连接在其所在主机中的ovs上;

所述发送单元,用于当所述虚拟机重启或迁移时,则向所述虚拟机对应的ovs发送相应的配置信息,实现对所述虚拟机上虚拟网卡的qos配置。

可选的,所述接收单元还用于当接收到用户输入的删除指令后,则触发所述监测单元,监测对应的虚拟机是否处于开机状态;所述删除指令中包含有虚拟网卡的id信息;

若是,则触发所述发送单元,所述发送单元还用于向所述虚拟机对应的ovs发送所述删除指令。

可选的,还包括更新单元和查找单元,

所述接收单元还用于当接收到用户输入的配置指令后,则触发所述更新单元,所述更新单元,用于依据所述配置指令中携带的配置信息,完成配置信息的更新,并触发所述监测单元,监测对应的虚拟机是否处于开机状态;当所述虚拟机处于开机状态时,则触发所述查找单元,所述查找单元,用于依据所述配置信息中的id信息,查找相对应的虚拟网卡,并检测所述虚拟网卡是否具有配置信息;

若是,则触发所述发送单元,所述发送单元还用于向所述虚拟网卡对应的ovs发送配置命令;

若否,则触发所述发送单元,所述发送单元还用于向所述虚拟网卡对应的ovs发送更新命令。

由上述技术方案可以看出,控制器接收并保存用户输入的配置信息;每个虚拟网卡有其对应的配置信息。通过监测虚拟机的状态,当所述虚拟机重启或迁移时,此时虚拟机上的虚拟网卡原本的配置信息会丢失,控制器通过向所述虚拟机对应的ovs发送相应的配置信息,实现对所述虚拟机上虚拟网卡的qos配置。可见,在控制器中预先保存每个虚拟网卡对应的配置信息,通过监测虚拟机的工作状态,可以在虚拟机上虚拟网卡的配置信息丢失后,及时向虚拟网卡发送对应的配置信息,实现了虚拟网卡上qos功能的持久化。

附图说明

为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种基于sdn网络对虚拟网卡进行qos配置的系统示意图;

图2为本发明实施例提供的一种基于sdn网络对虚拟网卡进行qos配置的方法的流程图;

图3为本发明实施例提供的一种控制器依据用户输入的配置指令执行相关操作的方法的流程图;

图4为本发明实施例提供的一种基于sdn网络对虚拟网卡进行qos配置的装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

传统方式中,在sdn网络中通过ovs实现对虚拟网卡的qos配置,但是当虚拟机迁移、重启等操作后,需要人工对虚拟网卡重新进行配置,人工配置需要花费较长的时间,并且由于工作人员往往不能及时发现虚拟机的迁移、重启等操作,造成配置的延时。

为此,本发明实施例提供了一种基于sdn网络对虚拟网卡进行qos配置的方法与装置,通过控制器来监测虚拟机的工作状态,当监测到虚拟机重启或迁移时,则可以从预先存储的配置信息中选取与虚拟网卡对应的配置信息,发送给虚拟机对应的ovs,保证虚拟网卡上配置信息的连续有效,实现了虚拟网卡上qos功能的持久化。

基于上述基本思想,本发明实施例主要通过控制器与ovs的交互来实现。可以参见图1所示,在一个sdn环境中,控制器与各主机中的ovs相连,主机中的vm通过ovs接入到sdn网络中,实现vm与控制器的通信。在一台主机上可以设置一个或多个vm,每个vm上可以设置一个或多个虚拟网卡图1中vm上的黑色框表示设置在vm上的虚拟网卡。控制器通过向ovs下发指令的方式,可以实现对虚拟网卡的qos配置。

接下来,详细介绍本发明实施例所提供的一种基于sdn网络对虚拟网卡进行qos配置的方法。图2为本发明实施例提供的一种基于sdn网络对虚拟网卡进行qos配置的方法的流程图,该方法包括:

s201:接收并保存用户输入的配置信息。

每个虚拟网卡都有其对应的一个端口,来实现与外界的通信,每个端口有其对应的一个id信息,在本发明实施例中,控制器可以通过id信息作为索引,来区分不同的虚拟网卡。

每个虚拟网卡有其对应的配置信息,在该配置信息中包含有端口的id信息、名称,速率、突发值和类型等信息。

在本发明实施例中,均以一个sdn网络为例展开介绍,用户可以针对该sdn网络中包含的虚拟网卡设置对应的配置信息,控制器在接收到该配置信息后,可以将其保存在指定的存储区域,以便于后续调用该配置信息。

s202:监测虚拟机的状态。

控制器可以监测sdn网络中包含的每台虚拟机的工作状态。

s203:当所述虚拟机重启或迁移时,则向所述虚拟机对应的ovs发送相应的配置信息,实现对所述虚拟机上虚拟网卡的qos配置。

当虚拟机发生迁移后,或者是对虚拟机进行关机处理,当再次开启虚拟机后,其对应的虚拟网卡上的配置信息会丢失,导致虚拟网卡上的qos功能无法实现。在本发明实施例中,控制器可以实时监测虚拟机的工作状态,以便于当虚拟机重启或迁移后,控制器可以及时向虚拟网卡下发配置信息。

在本发明实施例中,控制器可以向对应的ovs发送配置信息,ovs根据配置信息中携带的id信息,将配置信息发送到指定的虚拟网卡。

以开关机为例,当控制器监测到虚拟机处于关机状态时,则可以将虚拟机上的虚拟网卡对应的配置信息中的状态信息修改为no_host状态。其中,当虚拟机处于关机状态时,控制器向ovs下发的配置信息或者是指令信息等,对虚拟网卡的配置或更新等都无法完成,必须等到虚拟机开机后,才可以继续执行。

相应的,当控制器监测到虚拟机开机时,则可以将虚拟机的虚拟网卡对应的配置信息中的状态信息修改为host_added状态,并执行开机前未执行的操作。

结合图1所示的系统,一个sdn网络中包含有3台虚拟机,分别为虚拟机1-虚拟机3,每台虚拟机上设置有一个虚拟网卡,分别为虚拟网卡1-虚拟网卡3。其中,虚拟机1通过第一个ovs与控制器通信,虚拟机2和虚拟机3属于同一台主机,通过第二个ovs与控制器通信。控制器中存储有这3个虚拟网卡各自对应的配置信息,当监测到虚拟机1重启或迁移后,控制器则可以从预先存储的配置信息中选取出虚拟网卡1对应的配置信息,并将该配置信息发送给第一个ovs,第一个ovs根据配置信息中携带的id信息,将配置信息发送到虚拟网卡1。

由上述技术方案可以看出,控制器接收并保存用户输入的配置信息;每个虚拟网卡有其对应的配置信息。通过监测虚拟机的状态,当所述虚拟机重启或迁移时,此时虚拟机上的虚拟网卡原本的配置信息会丢失,控制器通过向所述虚拟机对应的ovs发送相应的配置信息,实现对所述虚拟机上虚拟网卡的qos配置。可见,在控制器中预先保存每个虚拟网卡对应的配置信息,通过监测虚拟机的工作状态,可以在虚拟机上虚拟网卡的配置信息丢失后,及时向虚拟网卡发送对应的配置信息,实现了虚拟网卡上qos功能的持久化。

需要说明的是,当虚拟机关机或迁移后,其上的虚拟网卡的配置信息会丢失,配置信息的丢失是指配置信息失效,但是该配置信息并没有从虚拟网卡完全消失,失效后的配置信息仍会占用虚拟网卡的内存空间。当不在需要设置qos功能,为了提高虚拟网卡的内存利用率,避免无用信息的堆积,可以将虚拟网卡上的配置信息删除。

具体的,当接收到用户输入的删除指令后,监测对应的虚拟机是否处于开机状态;所述删除指令中包含有虚拟网卡的id信息;

若是,则向所述虚拟机对应的ovs发送所述删除指令。

虚拟机在开机状态时,才可以执行相关的操作。如果用户在输入删除指令时,虚拟机处于关机状态,则无法执行删除操作,必须等到虚拟机重新开机后,才可以将虚拟网卡上的配置信息删除。

用户可以根据实际需求修改虚拟网卡对应的配置信息,在具体实现中,用户可以向控制器输入配置指令,在该配置指令中携带有最新的配置信息,控制器根据配置信息中的id信息,便可以完成相关配置信息的更新。为了保证虚拟网卡上的配置信息与控制器中存储的配置信息一致,控制器需要向对应的ovs发送相关的指令,其具体操作如图3所示,该操作步骤包括:

s301:当接收到用户输入的配置指令后,依据所述配置指令中携带的配置信息,完成配置信息的更新;并监测对应的虚拟机是否处于开机状态。

s302:当所述虚拟机处于开机状态时,则依据所述配置信息中的id信息,查找相对应的虚拟网卡,并检测所述虚拟网卡是否具有配置信息。

虚拟网卡上是否具有配置信息决定了控制器下发命令的类型。当虚拟网卡上不具有配置信息时,则执行s303;当虚拟网卡上具有配置信息时,则执行s304。

s303:向所述虚拟网卡对应的ovs发送配置命令。

在该配置命令中携带有相应的配置信息,ovs接收到该配置命令后,便可以将其下发到对应的虚拟机上,完成虚拟网卡上配置信息的配置。

s304:向所述虚拟网卡对应的ovs发送更新命令。

在该更新命令中携带有相应的配置信息,ovs接收到该更新命令后,便可以将其下发到对应的虚拟机上,完成虚拟网卡上配置信息的更新。

图4为本发明实施例提供的一种基于sdn网络对虚拟网卡进行qos配置的装置的结构示意图,包括接收单元41、监测单元42和发送单元43,

所述接收单元41,用于接收并保存用户输入的配置信息;每个虚拟网卡有其对应的配置信息。

所述监测单元42,用于监测虚拟机的状态;所述虚拟机连接在其所在主机中的ovs上。

所述发送单元43,用于当所述虚拟机重启或迁移时,则向所述虚拟机对应的ovs发送相应的配置信息,实现对所述虚拟机上虚拟网卡的qos配置。

可选的,所述接收单元还用于当接收到用户输入的删除指令后,则触发所述监测单元,监测对应的虚拟机是否处于开机状态;所述删除指令中包含有虚拟网卡的id信息;

若是,则触发所述发送单元,所述发送单元还用于向所述虚拟机对应的ovs发送所述删除指令。

可选的,还包括更新单元和查找单元,

所述接收单元还用于当接收到用户输入的配置指令后,则触发所述更新单元,所述更新单元,用于依据所述配置指令中携带的配置信息,完成配置信息的更新,并触发所述监测单元,监测对应的虚拟机是否处于开机状态;

当所述虚拟机处于开机状态时,则触发所述查找单元,所述查找单元,用于依据所述配置信息中的id信息,查找相对应的虚拟网卡,并检测所述虚拟网卡是否具有配置信息;

若是,则触发所述发送单元,所述发送单元还用于向所述虚拟网卡对应的ovs发送配置命令;

若否,则触发所述发送单元,所述发送单元还用于向所述虚拟网卡对应的ovs发送更新命令。

图4所对应实施例中特征的说明可以参见图2和图3所对应实施例的相关说明,这里不再一一赘述。

由上述技术方案可以看出,控制器接收并保存用户输入的配置信息;每个虚拟网卡有其对应的配置信息。通过监测虚拟机的状态,当所述虚拟机重启或迁移时,此时虚拟机上的虚拟网卡原本的配置信息会丢失,控制器通过向所述虚拟机对应的ovs发送相应的配置信息,实现对所述虚拟机上虚拟网卡的qos配置。可见,在控制器中预先保存每个虚拟网卡对应的配置信息,通过监测虚拟机的工作状态,可以在虚拟机上虚拟网卡的配置信息丢失后,及时向虚拟网卡发送对应的配置信息,实现了虚拟网卡上qos功能的持久化。

以上对本发明实施例所提供的一种基于sdn网络对虚拟网卡进行qos配置的方法与装置进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

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