本申请涉及虚拟私有云技术领域,尤其是涉及一种虚拟私有云通信系统、系统配置方法及控制器。
背景技术:
虚拟私有云(vpc,virtualprivatecloud)是一个公共云计算资源的动态配置池,需要使用加密协议、隧道协议和其他安全程序,在民营企业和云服务提供商之间传输数据。
vpc系统利用隧道或其他相类似的网络协议所实现,将云上资源按照租户为粒度来切割进而对不同的用户提供按需分配的供给能力,同时具有较强灵活性、隔离性、安全性。目前的虚拟私有云中,云计算提供服务商所提供的计算资源大多数以虚拟机(vm:virtualmachine)来交付给用户,该实现方案是利用cpu(centralprocessingunit,中央处理器)、memory(存储器)、disk(磁盘)等各资源的虚拟化技术,将原有物理机(vm的宿主机)进行抽象划分为更细粒度的个体并放置在按租户划分的vpc中。
上述方案可以在一台物理机上虚拟多个vm时会引入各个虚拟资源对物理机原有资源(如cpu调度、i/o读写、和网络带宽)的争抢问题。若一台物理机只虚拟一个vm时,相对vm来而言各方面性能有所提升,但虚拟化技术的引入仍无法达到纯物理机机器原有的性能优势,也无法把整体资源性能发挥到最大化;再者由于近期人工智能行业兴起,对gpu(graphicsprocessingunit,图形处理器)需求量非常之大,gpu的资源虚拟化带来的收益很不明显。
基于上述情况,此时把图像、声音、视频处理等gpu消耗型的任务可以分布在物理机(pm:physicalmachine)上处理,而一些控制处理程序可放置在vm中,由pm和vm做到资源的平衡分配。
此时在超大规模的云环境中租户内通信和租户间隔离显得尤为重要,现有方案中处理通信、隔离利用vlan(virtuallocalareanetwork,虚拟局域网)来进行,但是由于vlanid(虚拟局域网标识号)有个数限制,当需要搭建的vpc超过vlanid数量的上限值时,便不能搭建更多的vpc。因此,在云计算服务领域,对云计算提供商来说,由于租户的数量极大,对应的需要搭建的vpc的数量远远大于vlanid数量的上限值,因此,现有技术中采用vlanid的方法来隔离租户的方法并不能满足在云计算的应用环境。
技术实现要素:
有鉴于此,本申请的目的在于提供一种虚拟私有云通信系统、系统配置方法及控制器,以基于网关建立的通信连接,无需受限于vlanid数量的上限值,为用户分配的vm和pm的数量可以随着用户的增加而增加,从而一起形成大规模的云环境,满足了当前的业务发展需求。
第一方面,本申请实施例提供了一种虚拟私有云通信系统,包括:
至少一个虚拟机vm以及与每个所述vm通信连接的;
至少一个物理机pm以及与每个所述pm通信连接的交换机;
所述系统网关与所述交换机通信连接;
所述系统网关和所述交换机用于基于预设的配置信息使属于同一个虚拟私有云vpc内的所述vm与所述pm之间能够进行通信。
结合第一方面,本申请实施例提供了第一方面的第一种可能的实施方式,其中,所述配置信息包括与所述vpc对应的隔离标签;
所述配置信息还包括与对应的所述vpc包括的资源的转发表项;
所述资源包括:vm和/或pm。
结合第一方面,本申请实施例提供了第一方面的第二种可能的实施方式,其中,还包括控制器;
所述控制器分别与所述系统网关和所述交换机通信连接;
所述控制器用于分别对所述系统网关和所述交换机进行信息配置,生成配置信息,并将所述配置信息分别发送至所述系统网关和所述交换机。
结合第一方面的第二种可能的实施方式,本申请实施例提供了第一方面的第三种可能的实施方式,其中,所述控制器还用于:
基于每个虚拟私有云vpc生成与所述vpc对应的隔离标签;
获取属于同一个虚拟私有云vpc的资源的ip地址;所述资源包括vm和/或pm;
基于资源的ip地址建立转发表项;
根据所述转发表项和所述隔离标签生成与所述vpc对应的配置信息。
结合第一方面的第三种可能的实施方式,本申请实施例提供了第一方面的第四种可能的实施方式,其中,所述控制器还用于,
基于所述vm的ip地址建立所述vm的转发表项,和/或
基于所述pm的ip地址建立所述pm的转发表项。
结合第一方面的第二种可能的实施方式,本申请实施例提供了第一方面的第五种可能的实施方式,其中,所述控制器还用于基于所述配置信息管理所述虚拟私有云vpc内的资源;所述资源包括vm和/或pm;所述管理包括:增加资源和/或删除资源。
结合第一方面的第五种可能的实施方式,本申请实施例提供了第一方面的第六种可能的实施方式,其中,所述控制器还用于:
接收对所述vpc内的资源的管理操作请求;其中,所述管理操作请求包括待管理的vpc对应的隔离标签;
根据所述隔离标签修改所述系统网关及所述交换机中与所述待管理的vpc对应的配置信息。
结合第一方面的第六种可能的实施方式,本申请实施例提供了第一方面的第七种可能的实施方式,其中,所述控制器还用于:
基于资源增加请求增加与资源ip地址对应的转发表项;和/或
基于资源部分删除请求删除与资源ip地址对应的转发表项;和/或
基于资源全部删除请求删除与所述待管理的vpc对应的配置信息。
结合第一方面的第一种可能的实施方式,本申请实施例提供了第一方面的第八种可能的实施方式,其中,所述系统网关用于:
接收所述vm的第一报文;所述第一报文包括隔离标签;
基于所述第一报文中的隔离标签找到与所述隔离标签对应的配置信息,并基于找到的配置信息将所述第一报文转发至对应的交换机;
所述系统网关还用于:
接收所述交换机的第二报文;其中,所述第二报文包括隔离标签;
基于所述第二报文中的隔离标签找到与所述隔离标签对应的配置信息,并基于找到的配置信息将所述第二报文转发至目标vm。
结合第一方面的第一种可能的实施方式,本申请实施例提供了第一方面的第九种可能的实施方式,其中,所述交换机用于:
接收所述pm的第三报文;所述第三报文包括隔离标签;
基于所述第三报文中的隔离标签找到与所述隔离标签对应的配置信息,并基于找到的配置信息将所述第三报文转发至对应的系统网关;
所述交换机还用于:
接收所述系统网关的第四报文;其中,所述第四报文包括隔离标签;
基于所述第四报文中的隔离标签找到与所述隔离标签对应的配置信息,并基于找到的配置信息将所述第四报文转发至目标pm。应的配置信息。
结合第一方面及其任一种可能的实施方式,本申请实施例提供了第一方面的第十种可能的实施方式,其中,所述系统网关是通过在服务器中运行相应软件实现的。
第二方面,本申请实施例还提供一种虚拟私有云通信系统的系统配置方法,应用于第一方面及其任一种可能的实施方式所述的虚拟私有云通信系统的系统中的控制器,所述控制器分别与所述系统网关和所述交换机通信连接,所述方法包括:
分别对所述系统网关和所述交换机进行信息配置,生成配置信息;
并将所述配置信息分别发送至所述系统网关和所述交换机;
其中所述配置信息包括与所述vpc对应的隔离标签;所述配置信息还包括与对应的所述vpc包括的资源的转发表项;所述资源包括:vm和/或pm。
结合第二方面,本申请实施例提供了第二方面的第一种可能的实施方式,其中,所述生成配置信息的步骤,包括:
基于每个虚拟私有云vpc生成与所述vpc对应的隔离标签;
获取属于同一个虚拟私有云vpc的资源的ip地址;所述资源包括vm和/或pm;
基于资源的ip地址建立转发表项;
根据所述转发表项和所述隔离标签生成与所述vpc对应的配置信息。
结合第二方面的第一种可能的实施方式,本申请实施例提供了第二方面的第二种可能的实施方式,其中,所述基于资源的ip地址建立转发表项的步骤,包括:
基于所述vm的ip地址建立所述vm的转发表项,和/或
基于所述pm的ip地址建立所述pm的转发表项。
结合第二方面,本申请实施例提供了第二方面的第三种可能的实施方式,其中,还包括:
基于所述配置信息管理所述虚拟私有云vpc内的资源;所述资源包括vm和/或pm;所述管理包括:增加资源和/或删除资源。
结合第二方面的第三种可能的实施方式,本申请实施例提供了第二方面的第四种可能的实施方式,其中,还包括:
接收对所述vpc内的资源的管理操作请求;其中,所述管理操作请求包括待管理的vpc对应的隔离标签;
根据所述隔离标签修改所述系统网关及所述交换机中与所述待管理的vpc对应的配置信息。
结合第二方面的第四种可能的实施方式,本申请实施例提供了第二方面的第五种可能的实施方式,其中,所述管理操作请求包括资源增加请求、资源部分删除请求、资源全部删除请求中的一种或者多种,所述方法还包括:
基于资源增加请求增加与资源ip地址对应的转发表项;和/或
基于资源部分删除请求删除与资源ip地址对应的转发表项;和/或
基于资源全部删除请求删除与所述待管理的vpc对应的配置信息。
第三方面,本申请实施例还提供一种控制器,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面及其任一种可能的实施方式所述的方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的方法。
本申请实施例带来了以下有益效果:
在本申请提供的实施例中,虚拟私有云通信系统包括至少一个虚拟机vm以及与每个vm通信连接的系统网关;至少一个物理机pm以及与每个pm通信连接的交换机;系统网关与交换机通信连接;系统网关和所述交换机用于基于预设的配置信息使属于同一个虚拟私有云vpc内的vm与pm之间能够进行通信。该方式中,由pm形成的物理机区域通过交换机接入网络,由vm形成的虚拟机区域通过系统网关连接物理机区域对应的交换机,从而建立了物理机区域的pm与虚拟机区域的vm之间的连接,实现了vm与pm之间的通信;由此,本申请中基于网关建立的通信连接,无需受限于vlanid数量的上限值,为用户分配的vm和pm的数量可以随着用户的增加而增加,从而一起形成大规模的云环境,满足了当前的业务发展需求。
本申请的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种虚拟私有云通信系统的结构示意图;
图2为本申请实施例提供的另一种虚拟私有云通信系统的结构示意图;
图3为本申请实施例提供的一种虚拟私有云通信系统的通信连接图;
图4为本申请实施例提供的一种系统配置方法的流程示意图;
图5为本申请实施例提供的一种控制器的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前现有方案中处理通信、隔离利用vlan来进行,但是由于vlanid数量限制、交换机硬件结构限制,为用户分配的vm与pm不能形成大规模的云环境,进而面对越来越多的用户,不能满足当前的业务发展需求。基于此,本申请实施例提供的一种虚拟私有云通信系统、系统配置方法及控制器,基于网关建立vm与pm之间的通信连接,无需受限于vlanid数量的上限值,为用户分配的vm和pm的数量可以随着用户的增加而增加,从而一起形成大规模的云环境,满足了当前的业务发展需求
为便于对本实施例进行理解,首先对本申请实施例所公开的一种虚拟私有云通信系统进行详细介绍。
图1示出了本申请实施例提供的一种虚拟私有云通信系统的结构示意图。如图1所示,该虚拟私有云通信系统包括至少一个虚拟机vm11以及与每个vm通信连接的系统网关12;至少一个物理机pm13以及与每个pm通信连接的交换机14;系统网关与交换机通信连接,系统网关和交换机用于基于预设的配置信息使属于同一个虚拟私有云vpc内的vm11与pm13之间能够进行通信。
该交换机12为三层交换机,支持隧道协议,以在后续通过隧道进行数据传输。vm创建在物理机上,实现资源虚拟化,可以但不限于用于存储控制处理程序。pm(非vm所在的宿主机)可以但不限于用于存储图像、声音、视频处理等gpu消耗型的任务信息。同一用户对应的vm形成的虚拟机区域和pm形成的物理机区域之间可进行数据交换。
在可能的实施例中,上述系统网关是通过在服务器(例如x86服务器)中运行相应软件实现的。由于该虚拟私有云通信系统可能对应成千上万的用户,该系统网关通过x86服务器集群实现,以形成系统网关集群。
需要说明的是,vm、pm、系统网关及交换机的具体数量,根据实际情况而定,图1中仅是示例性的。
该方式中,由pm形成的物理机区域通过交换机接入网络,由vm形成的虚拟机区域通过系统网关连接物理机区域对应的交换机,从而建立了物理机区域的pm与虚拟机区域的vm之间的连接,实现了vm与pm之间的通信;由此本申请中基于网关建立的通信连接,无需受限于vlanid数量的上限值,为用户分配的vm和pm的数量可以随着用户的增加而增加,从而一起形成大规模的云环境,满足了当前的业务发展需求。
考虑到不同用户对其vpc中的资源(包括vm和/或pm)配置的ip可能出现重叠问题,因此在接收到用户的资源创建请求后,进行逻辑运算,按照不同用户的不同vpc来分配隔离标签,以区分不同vpc中的vm及pm,以使不用vpc之间彼此隔离,互不干扰。基于此,上述配置信息包括与上述vpc对应的隔离标签;另外,配置信息还包括与对应的vpc包括的资源的转发表项,由此,系统网关和交换机可以基于该转发表项及隔离标签,实现同一vpc的vm与pm之间的通信。
例如:用户a的vm-a、pm-a的ip分别为10.0.1.2/24、10.0.1.3/24,标签为100,用户b的vm-b、pm-b的ip也为10.0.1.2/24、10.0.1.3/24,标签为200。假设两个用户的vm在虚拟机区域内的同一台宿主机以及两个用户的pm对应连接同一台交换机时,当vm-a与pm-a、vm-b与pm-b互相通信时需要经过同一台宿主机,再通过系统网关到达同一台交换机。在该两条通信路径中,系统网关和交换机在通信过程中都是共享的,若不采用隔离技术,则用户a、用户b的vm和pm通信时可能会出现路径冲突从而导致通信异常。
针对上述问题,为每个用户的vpc分配隔离标签,然后将隔离标签同pm、vm对应的转发表项同时下发至各个系统网关和交换机。当后续用户a、用户b的vm都同时与各自的pm进行通信时,可以通过该隔离标签封装在转发表项中的方式进行通信路径的隔离。
在上述实施例的图1所示的虚拟私有云通信系统的基础上进行改进,参见图2,本申请还提供了另一种虚拟私有云通信系统,该虚拟私有云通信系统还包括控制器20,该控制器分别与系统网关和交换机通信连接,对该系统网关和交换机进行信息配置,生成配置信息,,并将该配置信息分别发送至系统网关和交换机,从而便于后续数据传输。
在可能的实施例中,上述控制器与vm所在的宿主机、pm对应的带外管理系统连接,根据用户需求通过该宿主机及带外管理系统,进行资源配置和信息配置,并得到配置信息,具体过程如下:
(a1)接收用户的资源创建请求。
例如,用户可以通过用户终端(可以为移动终端或者是电脑)直接调用相应的api(applicationprogramminginterface,应用程序编程接口),或者是登录web(worldwideweb,全球广域网)控制台调用相应的api。根据实际需求填写相应的需求信息,如所需cpu的类型,内存大小,网卡需求等,从而生成资源创建请求,并发送至控制器。
(a2)根据上述资源创建请求为用户分配资源,该资源构成用户的vpc。
其中vpc的资源包括vm和/或pm,即vm和/或pm构成用户的vpc。
在接收到上述资源创建请求后,进行逻辑计算,确定需要的资源,并通过宿主机的管理单元及带外管理系统在资源池(宿主机及pm)里面分配可用资源。如果确定有满足要求的资源,则进行配置操作,分配相应数量的vm和/或pm,该vm和/或pm构成该用户对应的vpc;如果没有满足要求的资源则返回给客户资源不足信息等信息。
(a3)基于每个虚拟私有云vpc生成与该vpc对应的隔离标签。
其中,该隔离标签可以通过相应的数字、字母和/或特殊符号等组成。
(a4)获取属于同一个虚拟私有云vpc的资源的ip地址。
其中,该资源包括vm和/或pm,上述ip地址包括vm的ip地址和pm的ip地址。
具体地,在用户终端在配置过程中,可以对pm和vm所在的网段进行自定义。例如通过调用相应的api,对vpc内的vm和pm进行ip配置,并发送相应的ip信息至控制器。
当vm与系统网关通信连接时,该vm可以自动获取其对应的ip。当pm通过交换机与该系统网关通信时,该pm也可以自动获取其对应的ip。具体地,上述ip配置具体可以通过系统网关内的dhcp(dynamichostconfigurationprotocol,动态主机配置协议)服务器实现,在vm和pm开机时,vm和pm作为dhcp客户机与dhcp服务器交互,从而获得相应的ip。
(a5)基于资源的ip地址建立转发表项。
其中,该转发表项的建立过程具体包括:基于vm的ip地址建立vm的转发表项,和/或基于pm的ip地址建立pm的转发表项。
由此可以通过上述建立相应的转发表项,后续可以直接根据该转发表项进行数据传输。
(a6)根据上述转发表项和上述隔离标签生成与vpc对应的配置信息。
在获取到用户的vpc的隔离标签,及该vpc内vm的转发表项和/或pm的转发表项后,生成配置信息(该配置信息包含vm的转发表项和/或pm的转发表项,及隔离标签的信息)。控制器在生成配置信息后,将该配置信息配置到系统网关及交换机,以便于数据传输(即数据报文转发)时使用。
为了满足用户的多样化需求,便于用户对vpc进行控制与管理,提高用户体验,在可能的实施例中,上述控制器还用于基于上述配置信息管理虚拟私有云vpc内的资源。该管理包括:增加资源和/或删除资源。即通过控制器用户可以添加vpc中的vm或者pm,或者删除vpc中的vm与pm。
在具体实现过程中,上述控制器还用于:(1)接收对vpc内的资源的管理操作请求;其中,该管理操作请求包括待管理的vpc对应的隔离标签;(2)根据上述隔离标签修改系统网关及交换机中与待管理的vpc对应的配置信息。
通过修改配置信息,可以对该vpc中的资源进行管理,如需要扩大vpc资源时,可以在系统网关及交换机中添加扩展后的资源对应的配置信息,从而后期实现扩展后的vm和bm的相互通信。
在可能的实施例中,上述管理操作请求可以但不限于包括资源增加请求、资源部分删除请求及资源全部删除请求。基于此,上述控制器还用于基于资源增加请求增加与资源ip地址对应的转发表项;和/或基于资源部分删除请求删除与资源ip地址对应的转发表项;和/或基于资源全部删除请求删除与待管理的vpc对应的配置信息。
例如,上述控制器对资源增加请求的具体处理过程包括:
(b1)接收用户发送的对vpc中资源的资源增加请求。
其中该资源增加请求包括待添加vpc对应的隔离标签。
例如,用户可以通过用户终端(可以为移动终端或者是电脑)直接调用相应的api,或者是登录web控制台调用相应的api。通过该api,选择添加vpc的vm或者pm。
(b2)基于资源增加请求增加与资源ip地址对应的转发表项。
即,在待添加vpc中添加资源(vm和/或pm)后,为相应的vm和/或建立转发表项,并将该转发表项添加至待添加vpc的配置信息中。
(b3)将更新后的配置信息发送至系统网关及交换机。
具体地,可以按照上述配置信息是根据上述步骤(a1)至(a6)的步骤生成的。
上述控制器对资源部分删除请求包括:
参见上述步骤(b1)和步骤(b3),在现有的配置信息中删除vpc中待删除的资源对应的转发表项,然后将更新后的配置信息发送至系统网关及交换机。
而对于资源全部删除请求,控制器可以直接根据该资源全部删除请求中的隔离标签,控制系统网关和交换机中删除待管理的vpc的配置信息。
在可能的实施例中,控制器在接收到上述资源全部删除请求或者资源部分删除请求后,通过vm对应的宿主机和pm对应的带外管理系统,使得相应的vm和pm由已配置状态变更为未配置状态,以便于后续的循环使用。
由此,通过隔离标签的设置,可以将不同用户的不同vpc隔离开来,互补干扰,为各个vpc提供了安全策略防护能力;同时在进行删除操作和添加操作时,可以实现仅对操作的用户对应的vpc的配置信息进行更新,而不影响其他用户的配置信息,增加了用户添加和删除vpc中vm和pm的灵活性。
综上所述,在具体应用时,数据在vm与pm之间的传输过程中,系统网关的作用如下:
在vm至pm方向的传输过程中,系统网关用于:接收vm的第一报文;该第一报文包括隔离标签;基于第一报文中的隔离标签找到与隔离标签对应的配置信息,并基于找到的配置信息将第一报文转发至对应的交换机。
在pm至vm方向的传输过程中,系统网关还用于接收所述交换机的第二报文;其中,该第二报文包括隔离标签;基于该第二报文中的隔离标签找到与隔离标签对应的配置信息,并基于找到的配置信息将第二报文转发至目标vm。
交换机的作用如下:
在pm至vm方向的传输过程中,交换机用于接收pm的第三报文;该其中第三报文包括隔离标签;基于第三报文中的隔离标签找到与隔离标签对应的配置信息,并基于找到的配置信息将第三报文转发至对应的系统网关。
在vm至pm方向的传输过程中,交换机还用于接收上述系统网关的第四报文;其中,该第四报文包括隔离标签;基于该第四报文中的隔离标签找到与隔离标签对应的配置信息,并基于找到的配置信息将第四报文转发至目标pm。
为了便于从公共网络中获取相应的数据,在另外的实施例中,上述虚拟私有云通信系统还可以与公共网络如internet连接,在可能的实施例中,参见图3,该虚拟私有云系统中的vm通过网络网关30与公共网络连接。而虚拟私有云系统中的pm依次通过对应的交换机、系统网关、网络网关30与公共网络连接。
在前面描述的系统中,主要涉及到的两个部分:系统网关实现以及配置管理和pm的交换机的配置与管理。但是在本申请中的虚拟私有云通信系统中,如pm与pm、pm与其他网元(包括vm、internet(互联网))通信,也在网络转发过程中扮演举足轻重的角色。随着云环境规模增大,通信设备之间的压力也会线性增加。交换机为线速转发设备,它的压力主要体现在大规模下配置和管理上,而系统网关为x86上运行软件实现的网关,性能不及交换机,它的压力则主要体现在网络转发上。
交换机的管理和配置方面:pm形成的物理机区域在超大规模环境下,交换机上的转发表项也成倍增加,若依赖设备间防洪学习,会在该物理机区域中带来广播风暴,消耗相应带宽。此时若交换机仅支持二层转发设备,即为二层转发设备,为了支持pm间跨三层通信则所有的pm所需的网关会由系统网关实现,即必须经过系统网关,因此为系统网关带来较大的压力。基于此,在本虚拟私有云通信系统中,交换机为支持隧道协议的三层交换机,支持三层转发,配合evpn技术来同步交换机间的转发表项,以将pm所需的网关从系统网关转移到交换机,此后pm之间的通信则可通过交换机直接转发。
系统网关转发性能方面:系统网关的转发性能好坏完全依赖软件架构的实现,若采用linux内核转发,由于linux的网络协议栈庞大和繁冗,在处理网络转发方面势必不理想。而dpdk(dataplanedevelopmentkit,数据平面开发套件)技术是可让网络转发逻辑可在linux系统的用户空间上实现,绕过linux网络协议栈让系统网关的转发程序直接操作网卡来获取和发送数据报文,可以极大提高数据处理性能和吞吐量。因此,在后续报文转发过程中,可以采用dpdk技术实现。
本申请中的虚拟私有云系统,为物理机区域与虚拟机区域以及公共网络(如internet)建立了沟通桥梁,可使虚拟机区域和物理机区域中资源形成大规模的vpc,无需后限于vlanid数量的上限值;同时可为vpc提供安全策略防护能力,使用户可以按照业务需求,灵活的配比虚拟机和物理机资源。
在上述系统实施例的基础上,本申请实施例还提供了一种虚拟私有云通信系统的系统配置方法,该方法应用于如上述系统实施例中的控制器,如图4所示,该虚拟私有云通信系统的系统配置方法,具体包括:
步骤s401,分别对系统网关和交换机进行信息配置,生成配置信息;
步骤s402,将配置信息分别发送至系统网关和交换机;
其中该配置信息包括与所述vpc对应的隔离标签;该配置信息还包括与对应的vpc包括的资源的转发表项;该资源包括:vm和/或pm。
上述步骤s402中生成配置信息的步骤,包括:基于每个虚拟私有云vpc生成与vpc对应的隔离标签;获取属于同一个虚拟私有云vpc的资源的ip地址;基于资源的ip地址建立转发表项;根据转发表项和隔离标签生成与vpc对应的配置信息。
上述基于资源的ip地址建立转发表项的步骤,包括:基于vm的ip地址建立该vm的转发表项,和/或基于pm的ip地址建立该pm的转发表项。
进一步地,上述方法还包括:基于上述配置信息管理虚拟私有云vpc内的资源;该管理包括:增加资源和/或删除资源。
进一步地,上述方法还包括:接收对vpc内的资源的管理操作请求;其中,上述管理操作请求包括待管理的vpc对应的隔离标签;根据隔离标签修改系统网关及交换机中与待管理的vpc对应的配置信息。
进一步地,上述管理操作请求包括资源增加请求、资源部分删除请求、资源全部删除请求中的一种或者多种,上述方法还包括:基于资源增加请求增加与资源ip地址对应的转发表项;和/或基于资源部分删除请求删除与资源ip地址对应的转发表项;和/或基于资源全部删除请求删除与所述待管理的vpc对应的配置信息。
进一步地,基于上述实施例二中交换机的管理和配置方面的描述,虚拟私有云通信系统的交换机为三层交换机,支持隧道协议;上述虚拟私有云通信方法还包括:利用evpn技术同步pm对应的交换机之间的转发表项,以将pm所需的网关从系统网关转移到交换机,此后pm之间的通信则可通过交换机直接转发,有效减少了系统网关的转发压力。
参见图5,本申请实施例还提供一种控制器100,包括:处理器40,存储器41,总线42和通信接口43,所述处理器40、通信接口43和存储器41通过总线42连接;处理器40用于执行存储器41中存储的可执行模块,例如计算机程序。
其中,存储器41可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口43(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线42可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器41用于存储程序,所述处理器40在接收到执行指令后,执行所述程序,前述本申请实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器40中,或者由处理器40实现。
处理器40可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器40中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器40可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现成可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器41,处理器40读取存储器41中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的虚拟私有云通信系统的系统配置方法及控制器,与上述实施例提供的虚拟私有云通信系统具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本申请实施例所提供的进行系统配置方法的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的方法及控制器的具体工作过程,可以参考前述系统实施例中的对应过程,在此不再赘述。
附图中的流程图和框图显示了根据本申请的多个实施例方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
在本申请的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
1.一种虚拟私有云通信系统,其特征在于,包括:至少一个虚拟机vm以及与每个所述vm通信连接的系统网关;
至少一个物理机pm以及与每个所述pm通信连接的交换机;
所述系统网关与所述交换机通信连接;
所述系统网关和所述交换机用于基于预设的配置信息使属于同一个虚拟私有云vpc内的所述vm与所述pm之间能够进行通信。
2.根据权利要求1所述的系统,其特征在于,
所述配置信息包括与所述vpc对应的隔离标签;
所述配置信息还包括与对应的所述vpc包括的资源的转发表项;
所述资源包括:vm和/或pm。
3.根据权利要求1所述的系统,其特征在于,还包括控制器;
所述控制器分别与所述系统网关和所述交换机通信连接;
所述控制器用于分别对所述系统网关和所述交换机进行信息配置,生成配置信息,并将所述配置信息分别发送至所述系统网关和所述交换机。
4.根据权利要求3所述的系统,其特征在于,所述控制器还用于:
基于每个虚拟私有云vpc生成与所述vpc对应的隔离标签;
获取属于同一个虚拟私有云vpc的资源的ip地址;所述资源包括vm和/或pm;
基于资源的ip地址建立转发表项;
根据所述转发表项和所述隔离标签生成与所述vpc对应的配置信息。
5.根据权利要求4所述的系统,其特征在于,所述控制器还用于,
基于所述vm的ip地址建立所述vm的转发表项,和/或
基于所述pm的ip地址建立所述pm的转发表项。
6.根据权利要求3所述的系统,其特征在于,所述控制器还用于基于所述配置信息管理所述虚拟私有云vpc内的资源;所述资源包括vm和/或pm;所述管理包括:增加资源和/或删除资源。
7.根据权利要求6所述的系统,其特征在于,所述控制器还用于:
接收对所述vpc内的资源的管理操作请求;其中,所述管理操作请求包括待管理的vpc对应的隔离标签;
根据所述隔离标签修改所述系统网关及所述交换机中与所述待管理的vpc对应的配置信息。
8.根据权利要求7所述的系统,其特征在于,所述控制器还用于:
基于资源增加请求增加与资源ip地址对应的转发表项;和/或
基于资源部分删除请求删除与资源ip地址对应的转发表项;和/或
基于资源全部删除请求删除与所述待管理的vpc对应的配置信息。
9.根据权利要求2所述的系统,其特征在于,所述系统网关用于:
接收所述vm的第一报文;所述第一报文包括隔离标签;
基于所述第一报文中的隔离标签找到与所述隔离标签对应的配置信息,并基于找到的配置信息将所述第一报文转发至对应的交换机;
所述系统网关还用于:
接收所述交换机的第二报文;其中,所述第二报文包括隔离标签;
基于所述第二报文中的隔离标签找到与所述隔离标签对应的配置信息,并基于找到的配置信息将所述第二报文转发至目标vm。
10.根据权利要求2所述的系统,其特征在于,所述交换机用于:
接收所述pm的第三报文;所述第三报文包括隔离标签;
基于所述第三报文中的隔离标签找到与所述隔离标签对应的配置信息,并基于找到的配置信息将所述第三报文转发至对应的系统网关;
所述交换机还用于:
接收所述系统网关的第四报文;其中,所述第四报文包括隔离标签;
基于所述第四报文中的隔离标签找到与所述隔离标签对应的配置信息,并基于找到的配置信息将所述第四报文转发至目标pm。
11.根据权利要求1-10任一项所述的系统,其特征在于,所述系统网关是通过在服务器中运行相应软件实现的。
12.一种虚拟私有云通信系统的系统配置方法,其特征在于,应用于权利要求1至11任一项所述的系统中的控制器,所述控制器分别与所述系统网关和所述交换机通信连接;所述方法包括:
分别对所述系统网关和所述交换机进行信息配置,生成配置信息;
并将所述配置信息分别发送至所述系统网关和所述交换机;
其中所述配置信息包括与所述vpc对应的隔离标签;所述配置信息还包括与对应的所述vpc包括的资源的转发表项;所述资源包括:vm和/或pm。
13.根据权利要求12所述的方法,其特征在于,所述生成配置信息的步骤,包括:
基于每个虚拟私有云vpc生成与所述vpc对应的隔离标签;
获取属于同一个虚拟私有云vpc的资源的ip地址;所述资源包括vm和/或pm;
基于资源的ip地址建立转发表项;
根据所述转发表项和所述隔离标签生成与所述vpc对应的配置信息。
14.根据权利要求13所述的方法,其特征在于,所述基于资源的ip地址建立转发表项的步骤,包括:
基于所述vm的ip地址建立所述vm的转发表项,和/或
基于所述pm的ip地址建立所述pm的转发表项。
15.根据权利要求12所述的方法,其特征在于,还包括:
基于所述配置信息管理所述虚拟私有云vpc内的资源;所述资源包括vm和/或pm;所述管理包括:增加资源和/或删除资源。
16.根据权利要求15所述的方法,其特征在于,还包括:
接收对所述vpc内的资源的管理操作请求;其中,所述管理操作请求包括待管理的vpc对应的隔离标签;
根据所述隔离标签修改所述系统网关及所述交换机中与所述待管理的vpc对应的配置信息。
17.根据权利要求16所述的方法,其特征在于,所述管理操作请求包括资源增加请求、资源部分删除请求、资源全部删除请求中的一种或者多种,所述方法还包括:
基于资源增加请求增加与资源ip地址对应的转发表项;和/或
基于资源部分删除请求删除与资源ip地址对应的转发表项;和/或
基于资源全部删除请求删除与所述待管理的vpc对应的配置信息。
18.一种控制器,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求12至17任一项所述的方法。
19.一种计算机可读存储介质,所述存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求12至17任一项所述的方法。
技术总结