用于虚拟路由器加载的方法及相关设备技术

技术编号:33628983 阅读:13 留言:0更新日期:2022-06-02 01:29
本公开提供了一种用于虚拟路由器加载的方法及相关设备,涉及云计算和通信技术领域。该方法应用于三层虚拟路由器代理组件L3 agent,包括:接收网络服务组件Neutron server发送的虚拟路由更新通知,根据虚拟路由器更新通知生成目标虚拟路由器的虚拟路由器数据获取请求;将虚拟路由器数据获取请求发送至Neutron server,以使Neutron server获取目标虚拟路由器的虚拟路由器数据;接收Neutron server返回的虚拟路由器数据;根据虚拟路由器数据确定目标虚拟路由器的加载方式,进而根据加载方式对目标虚拟路由器进行处理。该方法可以识别出目标虚拟路由器是否为无实际作用的虚拟路由器,并在确定其为无实际作用的虚拟路由器时对其延迟加载,从而达到减少资源浪费的效果。效果。效果。

【技术实现步骤摘要】
用于虚拟路由器加载的方法及相关设备


[0001]本公开涉及云计算和通信
,尤其涉及一种用于虚拟路由器加载的方法及相关设备。

技术介绍

[0002]OpenStack Neutron是一套用于实现云计算虚拟网络的软件平台,在应用中Neutron将物理节点分为控制节点、计算节点和网络节点,其中,网络节点用于实现高可用虚拟路由的跨子网通信、网络地址转换(Network Address Translation,NAT)、端口转发等功能。而当用户仅使用到公网IP访问外网,未使用SNAT、端口转发等功能时,网络节点的虚拟路由器将产生资源浪费。
[0003]需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。

技术实现思路

[0004]本公开的目的在于提供一种用于虚拟路由器加载的方法、装置、电子设备及存储介质,以解决资源浪费的问题。
[0005]本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
[0006]根据本公开的一个方面,提供一种用于虚拟路由器加载的方法,由三层虚拟路由器代理组件L3 agent执行,该方法包括:接收网络服务组件Neutron server发送的虚拟路由更新通知,根据虚拟路由器更新通知生成目标虚拟路由器的虚拟路由器数据获取请求;将虚拟路由器数据获取请求发送至Neutron server,以使Neutron server获取目标虚拟路由器的虚拟路由器数据;接收Neutron server返回的虚拟路由器数据;根据虚拟路由器数据确定目标虚拟路由器的加载方式,进而根据加载方式对目标虚拟路由器进行处理。
[0007]在本公开一个实施例中,根据虚拟路由器更新通知生成目标虚拟路由器的虚拟路由器数据获取请求的步骤,包括:根据虚拟路由器更新通知确定待获取数据的目标虚拟路由器的虚拟路由器标识;基于虚拟路由器标识生成虚拟路由器数据获取请求。
[0008]在本公开一个实施例中,根据虚拟路由器数据确定目标虚拟路由器的加载方式的步骤,包括:解析虚拟路由器数据,获得目标虚拟路由器的虚拟路由器配置信息,以及获得目标虚拟路由器对应的集中式资源数量;其中,集中式资源数量包括裸金属服务器端口数量、集中式公网IPv6数量和集中式公网IPv4数量;根据虚拟路由器配置信息和集中式资源数量确定目标虚拟路由器的加载方式。
[0009]在本公开一个实施例中,根据虚拟路由器配置信息和集中式资源数量确定目标虚拟路由器的加载方式的步骤,包括:判断虚拟路由器配置信息和集中式资源数量是否满足延迟加载条件;若满足,对目标虚拟路由器进行延迟加载处理;若不满足,对目标虚拟路由器按照预设方式进行加载;其中,延迟加载条件包括:L3 agent的模式为网络节点模式、目
标虚拟路由器未启用SNAT功能、目标虚拟路由器为DVR分布式模式、目标虚拟路由器未配置端口转发功能、目标虚拟路由器未连接裸金属服务器端口,并且目标虚拟路由器无集中式公网IPv4和IPv6地址。
[0010]在本公开一个实施例中,对目标虚拟路由器进行延迟加载处理的步骤,包括:删除目标虚拟路由器的命名空间;停止目标虚拟路由器高可用keepalived进程;删除目标虚拟路由器缓存。
[0011]在本公开一个实施例中,在对目标虚拟路由器进行延迟加载处理的步骤之后,还包括:将目标虚拟路由器的当前状态设置为备用状态;根据目标虚拟路由器的当前状态生成状态通知信息;将状态通知信息发送至Neutron Server,以使Neutron Server记录目标虚拟路由器的当前状态。
[0012]根据本公开的另一个方面,提供一种用于虚拟路由器加载的方法,由网络服务组件Neutron server执行,该方法包括:接收虚拟路由的端口操作请求;根据端口操作请求确定对虚拟路由所连接端口的更新操作;当更新操作为预设操作时,根据更新操作生成虚拟路由更新通知,并将虚拟路由更新通知发送至三层虚拟路由器代理组件L3 agent;其中,预设操作包括以下至少之一:创建虚拟路由器连接子网下的端口、删除虚拟路由器连接子网下的端口,和更新虚拟路由器接口;接收L3 agent基于虚拟路由更新通知生成的虚拟路由器数据获取请求,根据虚拟路由器数据获取请求获取目标虚拟路由器的虚拟路由器数据;将虚拟路由器数据返回至L3 agent,以使L3 agent根据虚拟路由器数据对目标虚拟路由器进行处理。
[0013]在本公开一个实施例中,根据虚拟路由器数据获取请求获取目标虚拟路由器的虚拟路由器数据的步骤,包括:根据虚拟路由器数据获取请求确定目标虚拟路由器的虚拟路由器标识,根据虚拟路由器标识从数据库中获得目标虚拟路由器的虚拟路由器配置信息;根据虚拟路由器配置信息,从数据库中获得目标虚拟路由器对应的端口所在的计算节点的类型信息,从中确定类型为DVR_no_external类型的目标计算节点标识;基于计算节点标识从数据库中获得目标虚拟路由器对应的集中式资源数量;其中,集中式资源数量包括裸金属服务器端口数量、集中式公网IPv6数量和集中式公网IPv4数量;根据虚拟路由器配置信息、集中式资源数量确定虚拟路由器数据。
[0014]根据本公开的再一个方面,提供一种三层虚拟路由器代理组件L3agent,包括:第一接收模块,用于接收网络服务组件Neutron server发送的虚拟路由更新通知,根据虚拟路由器更新通知生成目标虚拟路由器的虚拟路由器数据获取请求;第一接收模块还用于将虚拟路由器数据获取请求发送至Neutron server,以使Neutron server获取目标虚拟路由器的虚拟路由器数据;虚拟路由器管理模块,用于接收Neutron server返回的虚拟路由器数据;虚拟路由器管理模块还用于根据虚拟路由器数据确定目标虚拟路由器的加载方式,进而根据加载方式对目标虚拟路由器进行处理。
[0015]根据本公开的再一个方面,提供一种网络服务组件Neutron server,包括:第二接收模块,用于接收虚拟路由的端口操作请求;监听模块,用于根据端口操作请求确定对虚拟路由所连接端口的更新操作;当更新操作为预设操作时,监听模块还用于根据更新操作生成虚拟路由更新通知,并将虚拟路由更新通知发送至三层虚拟路由器代理组件L3 agent;其中,预设操作包括以下至少之一:创建虚拟路由器连接子网下的端口、删除虚拟路由器连
接子网下的端口,和更新虚拟路由器接口;第二接收模块还用于接收L3 agent基于虚拟路由更新通知生成的虚拟路由器数据获取请求;数据获取模块,用于根据虚拟路由器数据获取请求获取目标虚拟路由器的虚拟路由器数据;返回模块,用于将虚拟路由器数据返回至L3 agent,以使L3agent根据虚拟路由器数据对目标虚拟路由器进行处理。
[0016]根据本公开的再一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的用于虚拟路由器加载的方法。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于虚拟路由器加载的方法,其特征在于,所述方法由三层虚拟路由器代理组件L3 agent执行,包括:接收网络服务组件Neutron server发送的虚拟路由更新通知,根据所述虚拟路由器更新通知生成目标虚拟路由器的虚拟路由器数据获取请求;将所述虚拟路由器数据获取请求发送至所述Neutron server,以使所述Neutron server获取所述目标虚拟路由器的虚拟路由器数据;接收所述Neutron server返回的所述虚拟路由器数据;根据所述虚拟路由器数据确定所述目标虚拟路由器的加载方式,进而根据所述加载方式对所述目标虚拟路由器进行处理。2.根据权利要求1所述的方法,其特征在于,所述根据所述虚拟路由器更新通知生成目标虚拟路由器的虚拟路由器数据获取请求的步骤,包括:根据所述虚拟路由器更新通知确定待获取数据的所述目标虚拟路由器的虚拟路由器标识;基于所述虚拟路由器标识生成虚拟路由器数据获取请求。3.根据权利要求1所述的方法,其特征在于,所述根据所述虚拟路由器数据确定所述目标虚拟路由器的加载方式的步骤,包括:解析所述虚拟路由器数据,获得所述目标虚拟路由器的虚拟路由器配置信息,以及获得所述目标虚拟路由器对应的集中式资源数量;其中,所述集中式资源数量包括裸金属服务器端口数量、集中式公网IPv6数量和集中式公网IPv4数量;根据所述虚拟路由器配置信息和所述集中式资源数量确定所述目标虚拟路由器的加载方式。4.根据权利要求3所述的方法,其特征在于,所述根据所述虚拟路由器配置信息和所述集中式资源数量确定所述目标虚拟路由器的加载方式的步骤,包括:判断所述虚拟路由器配置信息和所述集中式资源数量是否满足延迟加载条件;若满足,对所述目标虚拟路由器进行延迟加载处理;若不满足,对所述目标虚拟路由器按照预设方式进行加载;其中,所述延迟加载条件包括:所述L3 agent的模式为网络节点模式、所述目标虚拟路由器未启用SNAT功能、所述目标虚拟路由器为DVR分布式模式、所述目标虚拟路由器未配置端口转发功能、所述目标虚拟路由器未连接裸金属服务器端口,并且所述目标虚拟路由器无集中式公网IPv4和IPv6地址。5.根据权利要求4所述的方法,其特征在于,所述对所述目标虚拟路由器进行延迟加载处理的步骤,包括:删除所述目标虚拟路由器的命名空间;停止所述目标虚拟路由器高可用keepalived进程;删除所述目标虚拟路由器缓存。6.根据权利要求4所述的方法,其特征在于,在所述对所述目标虚拟路由器进行延迟加载处理的步骤之后,还包括:将所述目标虚拟路由器的当前状态设置为备用状态;根据所述目标虚拟路由器的当前状态生成状态通知信息;将所述状态通知信息发送至所述Neutron Server,以使所述Neutron Server记录所述
目标虚拟路由器的当前状态。7.一种用于虚拟路由器加载的方法,其特征在于,所述方法由网络服务组件Neutron server执行,包括:接收虚拟路由的端口操作请求;根据所述端口操作请求确定对所述虚拟路由所连接端口的更新操作;当所述更新操作为预设操作时,根据所...

【专利技术属性】
技术研发人员:张帆胡西宁葛淼龙施凯东郭云铃董侠飞
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1