一种虚拟机管理方法、VTEP设备及管理设备与流程

文档序号:14559564阅读:529来源:国知局
一种虚拟机管理方法、VTEP设备及管理设备与流程

本申请涉及通信技术领域,尤其涉及一种虚拟机管理方法、vtep设备及管理设备。



背景技术:

图1为现有的数据中心的overlay网络的组网架构示意图。如图1所示,现有的数据中心组网架构通常是由若干多个dc(英文:datacenter,中文:数据中心)(例如,图1中的dc1)组成,每个dc中包含多个vtep(英文:vxlantunnelendpoint,中文:vxlan(英文:virtualextensiblelocalareanetwork,中文:虚拟可扩展局域网)隧道端点)设备以及若干物理主机,其中,该若干物理主机中的部分或全部物理主机中的每个物理主机连接的一个或多个vm(英文:virtualmachine,中文:虚拟机),例如,图1中vtep1下面有两个主机,server1和server2,vtep2下面有1个主机server3,其中,server1连接虚拟机vm1、vm2,server2连接虚拟机vm3,server3连接虚拟机vm4、vm5。其中,dc中的交换机主要用于对dc内部的vtep设备中的数据进行数据处理和数据迁移。一般的,每个vtep设备中会存储该vtep设备中所有vm的安全策略,如,vm1上的安全策略p1为:不允许192.168.2.0/24的主机访问该虚拟机vm1。

在图1所示的组网架构下,由于每个vtep设备中仅会存储其内部的vm的安全策略,因此,当不同vtep设备中的vm进行跨机迁移时(例如,vtep1下的vm3迁移至vtep2),由于源vtep设备仅会获知其内部的vm的安全策略,而无法获知目的vm的安全策略,从而导致源vtep设备无法与目的vm对应的目的vtep设备进行通信,进而无法实现自动感知迁移。



技术实现要素:

本申请的实施例提供一种虚拟机管理方法、vtep设备及管理设备,能够实现虚拟机的跨机迁移。

为达到上述目的,本申请的实施例采用如下技术方案:

第一方面,提供一种虚拟机管理方法,应用于vtep设备,所述vtep设备与管理设备相连,所述管理设备用于管理至少两个vtep设备的虚拟机的安全策略,所述方法包括:

若所述vtep设备的端口连接的虚拟机中包含迁入虚拟机,则向所述管理设备请求发送策略请求,所述策略请求用于向所述管理设备请求所述迁入虚拟机的安全策略;

接收所述管理设备发送的策略响应,所述策略响应包含所述迁入虚拟机的安全策略;

将所述迁入虚拟机加入所述端口对应的虚拟机组中,并根据所述迁入虚拟机的安全策略为所述虚拟机组重新配置对应安全策略。

第二方面,提供一种虚拟机管理方法,应用于管理设备,所述管理设备与至少两个vtep设备相连,所述管理设备用于管理所述至少两个vtep设备的虚拟机的安全策略,所述方法包括:

接收第一vtep设备发送策略请求;其中,所述策略请求是所述第一vtep设备的端口连接的虚拟机中包含迁入虚拟机时发生的;所述第一vtep设备为所述至少两个vtep设备中的任一vtep设备;

向所述第一vtep设备发送策略响应;其中,所述策略响应包含所述迁入虚拟机的安全策略;所述策略响应用于指示所述第一vtep设备将所述迁入虚拟机加入所述端口对应的虚拟机组中,并根据所述迁入虚拟机的安全策略为所述虚拟机组重新配置对应安全策略。

第三方面,提供一种vtep设备,所述vtep设备与管理设备相连,所述管理设备用于管理至少两个vtep设备的虚拟机的安全策略,所述vtep设备包括:

发送模块,用于若所述vtep设备的端口连接的虚拟机中包含迁入虚拟机,则向所述管理设备请求发送策略请求,所述策略请求用于向所述管理设备请求所述迁入虚拟机的安全策略;

接收模块,用于接收所述管理设备发送的策略响应,所述策略响应包含所述迁入虚拟机的安全策略;

配置模块,用于将所述迁入虚拟机加入所述端口对应的虚拟机组中,并根据所述迁入虚拟机的安全策略为所述虚拟机组重新配置对应安全策略。

第四方面,提供一种管理设备,所述管理设备与至少两个vtep设备相连,所述管理设备用于管理所述至少两个vtep设备的虚拟机的安全策略,所述管理设备包括:

接收模块,用于接收第一vtep设备发送策略请求;其中,所述策略请求是所述第一vtep设备的端口连接的虚拟机中包含迁入虚拟机时发生的;所述第一vtep设备为所述至少两个vtep设备中的任一vtep设备;

发送模块,用于向所述第一vtep设备发送策略响应;其中,所述策略响应包含所述迁入虚拟机的安全策略;所述策略响应用于指示所述第一vtep设备将所述迁入虚拟机加入所述端口对应的虚拟机组中,并根据所述迁入虚拟机的安全策略为所述虚拟机组重新配置对应安全策略。

本申请提供方案,通过管理设备来管理至少两个vtep设备的虚拟机的安全策略,从而可以按照vtep设备中虚拟机的具体需求来自由添加或移除安全策略,当vtep设备的端口连接的虚拟机中包含迁入虚拟机时,vtep设备通过向管理设备请求该迁入虚拟机的安全策略,从而可以在将迁入虚拟机加入端口对应的虚拟机组中的同时,根据该迁入虚拟机的安全策略自动更新该虚拟机组的安全策略,从而在实现虚拟机的跨机迁移的同时,使得虚拟机的安全控制更加灵活,简化了运维管理。

附图说明

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

图1为现有数据中心的overlay网络的组网架构图;

图2为本申请实施例提供的数据中心的overlay网络的组网架构图;

图3为本申请实施例提供的一种虚拟机管理方法的方法流程图;

图4为本申请实施例提供的一种虚拟机迁移示意图;

图5为本申请实施例提供的一种vtep设备的结构示意图;

图6为本申请实施例提供的一种管理设备的结构示意图;

图7为本申请实施例提供的另一种vtep设备的结构示意图;

图8为本申请实施例提供的另一种管理设备的结构示意图。

具体实施方式

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

本发明实施例提供的虚拟机管理方法应用于图2所示的组网架构。如图2所示,该组网架构是由管理设备以及若干dc(英文:datacenter,中文:数据中心)组成(例如,图1中的dc1),其中:

上述的管理设备与dc内的vtep设备相连,上述的管理设备用于管理以及统一维护整个组网内的部分或全部的vtep(英文:vxlantunnelendpoint,中文:vxlan(英文:virtualextensiblelocalareanetwork,中文:虚拟可扩展局域网)隧道端点)设备的所有vm(英文:virtualmachine,中文:虚拟机)的安全策略。示例性的,该管理设备中存储有这些vtep设备的所有vm的安全策略信息,使得所有vm的安全策略信息全部在该管理设备上统一管理和下发。其中,上述的安全策略信息包括每个vtep设备的每个端口对应的虚拟机组标识、每个虚拟机组中每个虚拟机的mac地址以及每个虚拟机的安全策略,例如,该管理设备中存储有{g1,g2,…gn}n个虚拟机组,其中,虚拟机组1g1中包含3个vm(vm1,vm2,vm3)对应的mac地址为:{mac1,mac2,mac3},虚拟机组2g2中包含2个vm(vm4,vm5)对应的mac地址为:{mac4,mac5},vm1~vm5的安全策略分别为{p1,p2,p3,p4,p5}。

示例性的,上述的安全策略包括但不限于:安全访问策略和流量限速策略,示例1:允许/不允许192.168.2.0/24网段的的主机访问该虚拟机;示例2:设置虚拟机接入或传输,数据流的带宽上限(例如允许访问的带宽上线为1兆),超过1兆则丢弃报文,不允许访问。

需要说明的是,本申请中的管理设备只存储和下发如上安全策略的信息不进行表项的安装和控制。

上述的dc包括若干vtep设备和若干物理主机。其中,vtep设备可以为支持vxlan的硬件设备或集成有支持vxlan的软件的设备,具体的,dc中的每个vtep设备可以看作是一个虚拟子网(简称:子网)的交换机,使得每个vtep设备对应子网内的所有vm可以通过该vtep设备与子网外的vm相互通信,而vtep设备之间可以通过建立vxlan隧道,从而通过该vxlan隧道传输虚拟网络的数据。而上述若干物理主机中的部分或全部物理主机中的每个物理主机连接的一个或多个vm,其中,上述的vm上可以运行操作系统os以及各种应用。示例性的,如图2所示,dc1中包括虚拟机vm1、vm2、vm3、vm4、vm5以及vtep设备vtep1和vtep2,其中,vm1、vm2、vm3属于vtep1对应子网,并通过vtep1与子网外的vm相互通信,同理,vm4、vm5属于vtep2对应子网,并通过vtep2与子网外的vm相互通信。需要说明的是,vtep设备包括至少一个端口,vtep设备通过该端口与其对应子网内的vm相互通信,每个vm对应一个vtep设备的端口,而vtep设备的每个端口可以连接多个vm,这里不做限定。

需要说明的是,本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。

需要说明的是,本发明实施例中,“的(英文:of)”,“相应的(英文:corresponding,relevant)”和“对应的(英文:corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。

结合图2所示的组网架构,本申请的实施例提供一种虚拟机管理方法,如图3所示,该方法包括如下步骤:

s301、若第一vtep设备的端口连接的虚拟机中包含迁入虚拟机,则第一vtep设备向管理设备请求发送策略请求,该策略请求用于向管理设备请求迁入虚拟机的安全策略。

其中,上述的第一vtep设备为管理设备所管理的至少两个vtep设备中的任一vtep设备。

一般的,在某一vtep设备下的虚拟机(例如,vm1,vm2)首次上线后,管理设备会按需读取对应虚拟机的安全策略信息,并将虚拟机的安全策略(p1,p2)下发至该vtep设备,并在该虚拟机所在端口配置该虚拟机的安全策略以及对应的安全组。示例1:在vtep1配置虚拟机安全组g1(mac1,mac2),和对应的安全策略p1,并进行安全表项的控制。示例2:在vtep2配置虚拟机安全组g1(mac3,mac4),和对应的安全策略p2。

示例性的,上述的管理设备中存储有至少两个vtep设备中每个vtep设备的安全策略信息,该vtep设备的安全策略信息包括:该vtep设备的每个端口的虚拟机组中每个虚拟机的mac地址和安全策略。

进一步的,若策略请求中包含迁入虚拟机的mac地址,则步骤s301之后还包括:

s301a、从第一vtep设备的安全策略表中查找出与迁入虚拟机的mac地址相匹配的安全策略。

当然,若第一vtep设备的端口连接的虚拟机中包含迁出虚拟机,则需要将迁出虚拟机移出该迁出虚拟机对应端口的虚拟机组,并删除第一vtep设备中配置的迁出虚拟机的安全策略。示例性的,在策略配置后对虚拟机原来所在的端口port_old=0/1,进行策略的撤销,即将原先安装在本交换机0/1接的安全策略的配置删除并移除底层的安全表项,从而最终实现虚拟机策略迁移最终效果。

s302、管理设备向第一vtep设备发送策略响应。

其中,上述的策略响应包含迁入虚拟机的安全策略。

在一种示例中,管理设备与vtep设备间交互的策略请求和策略响应是通过bgp-evpn(bgp是一种域间路由选择协议,其主要功能是在各实现了bgp协议的系统之间交换网络层可达性信息)扩展的nlri路由报文来实现的。

s303、第一vtep设备将迁入虚拟机加入端口对应的虚拟机组中,并根据迁入虚拟机的安全策略为虚拟机组重新配置对应安全策略。

可选的,当第一vtep设备内的虚拟机迁移后,可以通过迁出第一vtep设备和迁入第一vtep设备内虚拟机的mac地址是否发生更新来判定虚拟机迁移方。具体的,判定第一vtep设备的端口连接的虚拟机中是否包含迁入虚拟机的过程具体包括如下步骤:

a1、判定第一vtep设备的端口当前连接的迁入主机的mac地址中是否包含虚拟机标识。

a2、若迁入主机的mac地址中包含虚拟机标识,则判定迁入主机为迁入虚拟机。

其中,上述的虚拟机标识用于表征该迁入主机为虚拟机。

示例性的,上述的虚拟机标识可以为mac地址中的组织唯一标识符(organizationallyuniqueidentifier,oui)。一般的,虚拟机的mac地址中的oui与物理主机的mac地址的oui不同。因此,本申请可以通过判定迁入主机的mac地址中的oui,来确定迁入主机是否为虚拟机。在一种示例中,在虚拟机首次上线后,vtep设备内部的vxlan/mac模块进行地址学习,并依据虚拟机mac地址和物理主机mac地址中的oui不同,来确定vtep设备的端口当前连接的迁入主机的mac地址中是否包含虚拟机标识,从而判定迁入主机是否为迁入虚拟机。

可选的,若第一vtep设备的端口连接的虚拟机中包含迁入虚拟机,则需要进一步判定该迁入虚拟机为跨机迁移还是本机迁移。具体的,判定该迁入虚拟机的迁移模式的过程具体包括如下步骤:

b1、若判定迁入虚拟机迁入前所在vtep设备与第一vtep设备不同,则向管理设备发送删除请求,该删除请求用于指示管理设备删除迁入虚拟机迁入前所在vtep设备中配置的该迁入虚拟机的安全策略。

示例性的,本申请在判定迁入虚拟机迁入前所在vtep设备与第一vtep设备是否不同时,可以通过判定迁入虚拟机的mac地址学习的端口所属vtep设备是否发生变化,若迁入虚拟机的mac地址学习的端口所属的vtep设备未发生变化,则表明该迁入虚拟机的迁移过程为本机迁移,即该迁入虚拟机的安全策略在本机已经有存储,策略调整只需要调整端口,不需要再向管理设备请求更新安全策略;若迁入虚拟机的mac地址学习的端口所属的vtep设备发生变化,则表明该迁入虚拟机的迁移过程为跨机迁移,即该迁入虚拟机的安全策略在本机未存储,需要向管理设备请求更新安全策略。

举例说明,如图4所示,dci中包括两个vtep设备(vtep1和vtep2),示例1:vtep1中的server1的vm2迁移至server2,由于server1与server2均隶属为vtep1,因此,vm2的迁移称为本机迁移,即在vtep1内部的vm迁移。示例2:vtep1中的server2的vm3迁移至server3,由于server2与server3分别均隶属于不同的vtep,因此,vm3的迁移称为跨机迁移,即vm从vtep1迁移至vtep2。

在一种示例中,本申请在感知虚拟机迁移时,会在mac/ipadvertisementroute(通告路径)中引入了序列号的概念,同一台虚拟机的信息,在迁移至新的vtep设备中后,会将该虚拟机的信息中携带的虚拟机对应序列号加1,以使新的vtep设备可以通过检测虚拟机对应的序列号来识别迁移事件。同时当该虚拟机的mac地址从远端变成本地时,识别出该虚拟机当前的迁移过程为跨机迁移,并向其它vtep设备通告,该通告中携带该虚拟机的序列号,其它vtep设备可以根据序列号大小完成evpn路由的更新。其中,上述的序列号用于标识具体的报文段,使目的主机可确认已收到指定报文段中的数据,当源主机使用多个报文段发送一个报文时,即使这些报文到达目的主机的顺序不一样,序列号也可以使目的主机按顺序排列它们。此外,管理设备识别到迁移事件后,该管理设备便可获知后续需要携带原来的序列号通告路由撤销。

需要说明是,vtep设备内的虚拟机的安全策略需要调整时,需要向管理设备请求安全策略信息,同时,管理设备还要删除原虚拟机所在vtep内的策略信息。

本申请提供方案,通过管理设备来管理至少两个vtep设备的虚拟机的安全策略,从而可以按照vtep设备中虚拟机的具体需求来自由添加或移除安全策略,当vtep设备的端口连接的虚拟机中包含迁入虚拟机时,vtep设备通过向管理设备请求该迁入虚拟机的安全策略,从而可以在将迁入虚拟机加入端口对应的虚拟机组中的同时,根据该迁入虚拟机的安全策略自动更新该虚拟机组的安全策略,从而在实现虚拟机的跨机迁移的同时,使得虚拟机的安全控制更加灵活,简化了运维管理。

以下实施例中与上述实施例相关的技术术语、概念等的说明可以参照上述的实施例,这里不再赘述。

图5为本申请实施例提供的vtep设备的一种可能的结构示意图,参照图5,该vtep设备包括:发送模块41、接收模块42以及配置模块43,其中:

发送模块41,用于若vtep设备的端口连接的虚拟机中包含迁入虚拟机,则向管理设备请求发送策略请求,策略请求用于向管理设备请求迁入虚拟机的安全策略。

接收模块42,用于接收管理设备发送的策略响应,策略响应包含迁入虚拟机的安全策略。

配置模块43,用于将迁入虚拟机加入端口对应的虚拟机组中,并根据迁入虚拟机的安全策略为虚拟机组重新配置对应安全策略。

可选的,如图5所示,该vtep设备,还包括:

判断模块44,用于判定vtep设备的端口当前连接的迁入主机的mac地址中是否包含虚拟机标识;若迁入主机的mac地址中包含虚拟机标识,则判定迁入主机为迁入虚拟机。

可选的,发送模块41,还用于:

若判定所述迁入虚拟机迁入前所在vtep设备与所述vtep设备不同,则向管理设备发送删除请求,该删除请求用于指示管理设备删除迁入虚拟机迁入前所在vtep设备中配置的迁入虚拟机的安全策略。

可选的,配置模块43,还用于:

若vtep设备的端口连接的虚拟机中包含迁出虚拟机,则将迁出虚拟机移出端口对应的虚拟机组,并删除vtep设备中配置的迁出虚拟机的安全策略。

图6为本申请实施例提供的管理设备的一种可能的结构示意图,参照图6,该管理设备包括:接收模块51和发送模块52,其中:

接收模块51,用于接收第一vtep设备发送策略请求;其中,策略请求是第一vtep设备的端口连接的虚拟机中包含迁入虚拟机时发生的;第一vtep设备为至少两个vtep设备中的任一vtep设备。

发送模块52,用于向第一vtep设备发送策略响应;其中,策略响应包含迁入虚拟机的安全策略;策略响应用于指示第一vtep设备将迁入虚拟机加入端口对应的虚拟机组中,并根据迁入虚拟机的安全策略为虚拟机组重新配置对应安全策略。

可选的,管理设备中存储有至少两个vtep设备中每个vtep设备的安全策略信息,安全策略信息包括:vtep设备的每个端口的虚拟机组中每个虚拟机的mac地址和安全策略;策略请求中包含迁入虚拟机的mac地址;

管理设备还包括:

配置模块53,用于从第一vtep设备的安全策略表中查找出与迁入虚拟机的mac地址相匹配的安全策略。

可选的,接收模块51,还用于:

接收第一vtep设备发送的删除请求;其中,删除请求用于指示管理设备删除迁入虚拟机迁入前所在vtep设备中配置的迁入虚拟机的安全策略。

在采用集成的单元的情况下,图7示出了上述实施例中所涉及的vtep设备一种可能的结构示意图。该vtep设备包括:处理器61、存储器62、系统总线63和通信接口64。存储器61用于存储计算机执行代码,处理器61与存储器62通过系统总线63连接,当vtep设备运行时,处理器61用于执行存储器32存储的计算机执行代码,以执行本发明实施例提供的任意一种虚拟机管理方法,如,处理器61用于支持vtep设备执行虚拟机管理方法可参考上文及附图中的相关描述,此处不再赘述。

在采用集成的单元的情况下,图8示出了上述实施例中所涉及的管理设备一种可能的结构示意图。该管理设备包括:处理器71、存储器72、系统总线73和通信接口74。存储器71用于存储计算机执行代码,处理器71与存储器72通过系统总线73连接,当管理设备运行时,处理器71用于执行存储器72存储的计算机执行代码,以执行本发明实施例提供的任意一种虚拟机管理方法,如,处理器71用于支持管理设备执行虚拟机管理方法可参考上文及附图中的相关描述,此处不再赘述。

上述的处理器可以是一个处理器,也可以是多个处理元件的统称。例如,处理器可以为中央处理器(centralprocessingunit,cpu)。处理器也可以为其他通用处理器、数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。处理器还可以为专用处理器,该专用处理器可以包括基带处理芯片、射频处理芯片等中的至少一个。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等等。进一步地,该专用处理器还可以包括具有该装置其他专用处理功能的芯片。

结合本发明公开内容所描述的方法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(英文:randomaccessmemory,缩写:ram)、闪存、只读存储器(英文:readonlymemory,缩写:rom)、可擦除可编程只读存储器(英文:erasableprogrammablerom,缩写:eprom)、电可擦可编程只读存储器(英文:electricallyeprom,缩写:eeprom)、寄存器、硬盘、移动硬盘、只读光盘(cd-rom)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。另外,该asic可以位于终端设备中。当然,处理器和存储介质也可以作为分立组件存在于终端设备中。

系统总线可以包括数据总线、电源总线、控制总线和信号状态总线等。本实施例中为了清楚说明,在图7、8中将各种总线都示意为系统总线。

通信接口具体可以是该装置上的收发器。该收发器可以为无线收发器。例如,无线收发器可以是该装置的天线等。处理器通过通信接口与其他设备,例如,若该装置为该终端设备中的一个模块或组件时,该装置用于与该终端设备中的其他模块之间进行数据交互,如,该装置与该终端设备的显示模块进行数据交互,控制该显示模块显示校正前后的图像。

本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。

最后应说明的是:以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

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