一种网络配置下发方法及装置与流程

文档序号:26878761发布日期:2021-10-09 11:05阅读:81来源:国知局
一种网络配置下发方法及装置与流程

1.本技术涉及网络通信技术领域,特别涉及一种网络配置下发方法及装置。


背景技术:

2.neutron作为openstack中提供网络服务的组件,被广泛应用到各种公有云、私有云和混合云当中。在openstack对接虚拟化的环境中neutron port对应hypervisor虚拟机的虚拟网卡,如何快速准确的将neutron port的配置下发到虚拟机中关系到虚拟机业务能否正常使用,因此显得尤为重要。
3.目前,hypervisor虚拟机的网络配置是从neutron获取。通过hypervisor虚拟机和neutron的交互实现从neutron port获取安全组、vlan和qos等,并进行正确配置,将虚拟机的网卡状态上报给neutron进行管理,以及安全组在hypervisor虚拟网卡上的应用。
4.正常情况下通过openstack的neutron组件和hypervisor之间的交互,可以将neutron port的参数下发到hypervisor虚拟机。但是在异常情况下可能会出现未能成功配置的情况,例如,在修改安全组规则时neutron agent状态异常则不会将修改后的规则下发到虚拟化层,也可能在往hypervisor虚拟机下发修改后的规则的过程中,虚拟化层面由于某种问题导致修改后的规则配置失败,这样即使虚拟化层面的问题解决之后修改后的规则也不会再进行配置,从而导致修改后的规则下发失败的问题。


技术实现要素:

5.本技术提供了一种网络配置下发方法及装置,用以解决现有技术中存在的异常情况下网络配置下发失败的问题。
6.第一方面,本技术提供了一种网络配置下发方法,应用于运行有neutron agent组件的网络节点,所述方法包括:
7.基于预设规则获取目标虚拟机的第一网络配置参数,并从neutron服务器获取与所述目标虚拟机绑定的目标端口的第二网络配置参数;
8.判断所述第一网络配置参数与所述第二网络配置参数是否一致;
9.若判定所述第一网络配置参数与所述第二网络配置参数不一致,则将所述第二网络配置参数下发给虚拟机监控管理器,以使得所述虚拟机监控管理器基于所述第二网络配置参数对所述目标虚拟机的虚拟网卡进行网络配置。
10.可选地,基于预设规则获取目标虚拟机的第一网络配置参数之前,所述方法还包括:
11.接收neutron服务器下发的第一网络配置参数;
12.将所述第一网络配置参数下发给虚拟机监控管理器,以使得所述虚拟机监控管理器基于所述第一网络配置参数,确定与所述第一网络配置参数对应的目标虚拟机,并基于所述第一网络配置参数配置所述目标虚拟机的虚拟网卡,并记录配置结果。
13.可选地,将所述第一网络配置参数下发给虚拟机监控管理器之后,所述方法还包
括:
14.接收所述虚拟机监控管理器发送的所述配置结果,并将所述配置结果存储至所述neutron服务器。
15.可选地,所述目标虚拟机为云平台中任一虚拟机;一个虚拟机的网络配置参数包括与所述一个虚拟机绑定的端口的虚拟局域网vlan信息,服务质量qos信息,最大传输单元mtu信息和安全策略组信息。
16.可选地,基于预设规则获取目标虚拟机的第一网络配置参数的步骤包括:
17.基于预设的周期获取目标虚拟机的第一网络配置参数;或者,
18.在接收到用户出发的获取指令时,获取所述目标虚拟机的第一网络配置参数。
19.第二方面,本技术提供了一种网络配置下发装置,应用于运行有neutron agent组件的网络节点,所述装置包括:
20.获取单元,用于基于预设规则获取目标虚拟机的第一网络配置参数,并从neutron服务器获取与所述目标虚拟机绑定的目标端口的第二网络配置参数;
21.判断单元,用于判断所述第一网络配置参数与所述第二网络配置参数是否一致;
22.下发单元,若所述判断单元判定所述第一网络配置参数与所述第二网络配置参数不一致,则所述下发单元用于将所述第二网络配置参数下发给虚拟机监控管理器,以使得所述虚拟机监控管理器基于所述第二网络配置参数对所述目标虚拟机的虚拟网卡进行网络配置。
23.可选地,基于预设规则获取目标虚拟机的第一网络配置参数之前,所述装置还包括接收单元:
24.所述接收单元用于,接收neutron服务器下发的第一网络配置参数;
25.所述下发单元还用于,将所述第一网络配置参数下发给虚拟机监控管理器,以使得所述虚拟机监控管理器基于所述第一网络配置参数,确定与所述第一网络配置参数对应的目标虚拟机,并基于所述第一网络配置参数配置所述目标虚拟机的虚拟网卡,并记录配置结果。
26.可选地,将所述第一网络配置参数下发给虚拟机监控管理器之后,所述接收单元还用于:
27.接收所述虚拟机监控管理器发送的所述配置结果,并将所述配置结果存储至所述neutron服务器。
28.可选地,所述目标虚拟机为云平台中任一虚拟机;一个虚拟机的网络配置参数包括与所述一个虚拟机绑定的端口的虚拟局域网vlan信息,服务质量qos信息,最大传输单元mtu信息和安全策略组信息。
29.可选地,基于预设规则获取目标虚拟机的第一网络配置参数时,所述获取单元具体用于:
30.基于预设的周期获取目标虚拟机的第一网络配置参数;或者,
31.在接收到用户出发的获取指令时,获取所述目标虚拟机的第一网络配置参数。
32.第三方面,本技术实施例提供一种网络配置下发装置,该网络配置下发装置包括:
33.存储器,用于存储程序指令;
34.处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如上
述第一方面中任一项所述的方法的步骤。
35.第四方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如上述第一方面中任一项所述方法的步骤。
36.综上可知,本技术实施例提供的网络配置下发方法,应用于运行有neutron agent组件的网络节点,所述方法包括:基于预设规则获取目标虚拟机的第一网络配置参数,并从neutron服务器获取与所述目标虚拟机绑定的目标端口的第二网络配置参数;判断所述第一网络配置参数与所述第二网络配置参数是否一致;若判定所述第一网络配置参数与所述第二网络配置参数不一致,则将所述第二网络配置参数下发给虚拟机监控管理器,以使得所述虚拟机监控管理器基于所述第二网络配置参数对所述目标虚拟机的虚拟网卡进行网络配置。
37.采用本技术实施例提供的网络配置下发方法,neutron agent基于预设规则获取任一虚拟机的网络配置参数,以及从neutron服务器中获取该任一虚拟机对应的端口的网络配置参数,通过比对判断获取到的两个参数是否一致,若不一致,则将从neutron服务器中获取到的网络配置参数再次下发给该任一虚拟机进行网络配置参数的配置,避免由于故障而导致网络配置参数下发失败,无法及时更新网络配置参数的问题,实现了故障解除后,网络配置参数能够自动重下发,从而及时修改网络配置参数。
附图说明
38.为了更加清楚地说明本技术实施例或者现有技术中的技术方案,下面将对本技术实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本技术实施例的这些附图获得其他的附图。
39.图1为本技术实施例提供的一种网络配置下发方法的详细流程图;
40.图2为本技术实施例提供的一种网络配置下发方法的过程流程图;
41.图3为本技术实施例提供的一种网络配置下发装置的结构示意图;
42.图4为本技术实施例提供的一种网络设备的结构示意图。
具体实施方式
43.在本技术实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本技术。本技术和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
44.应当理解,尽管在本技术实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
45.示例性的,参阅图1所示,为本技术实施例提供的一种网络配置下发方法的详细流
程图,该方法应用于运行有neutron agent组件的网络节点,该方法包括以下步骤:
46.步骤100:基于预设规则获取目标虚拟机的第一网络配置参数,并从neutron服务器获取与所述目标虚拟机绑定的目标端口的第二网络配置参数。
47.本技术实施例中,在执行步骤100之前,上述网络配置下发方法还包括以下步骤:接收neutron服务器下发的第一网络配置参数;将所述第一网络配置参数下发给虚拟机监控管理器,以使得所述虚拟机监控管理器基于所述第一网络配置参数,确定与所述第一网络配置参数对应的目标虚拟机,并基于所述第一网络配置参数配置所述目标虚拟机的虚拟网卡,并记录配置结果。
48.也就是说,neutron agent接收到neutron server(neutron服务器)发送的网络配置参数配置命令(携带有网络配置参数)后,将网络配置参数进行解析处理;然后,将解析处理后的网络配置参数下发给hypervisor(虚拟机监控管理器),hypervisor根据接收到的网络配置参数,确定与该网络配置参数对应的目标虚拟机,并将该网络配置参数对目标虚拟机的虚拟网卡进行配置操作。
49.进一步地,接收所述虚拟机监控管理器发送的所述配置结果,并将所述配置结果存储至所述neutron服务器。
50.也就是说,将每一配置结果记录在对应的port binding属性中,在有配置失败的情况下,可以根据配置结果快速定位失败原因。
51.实际应用中,neutron agent接收到的一个网络配置参数,指的是一个neutron port(端口)的网络配置参数,一个neutron port与一个虚拟机的虚拟网卡相对应,那么,在进行一个虚拟机的网络配置参数配置时,即是指将该一个虚拟机对应的neutron port的网络配置参数对该一个虚拟机的虚拟网卡进行配置。
52.本技术实施例中,需要说明的是,所述目标虚拟机为云平台中任一虚拟机,并不用于限定所述目标虚拟机为指定的某一虚拟机。一个虚拟机的网络配置参数包括与所述一个虚拟机绑定的端口的虚拟局域网(virtual local area network,vlan)信息,服务质量(quality of service,qos)信息,最大传输单元(maximum transmission unit,mtu)信息和安全策略组信息。
53.实际应用中,在上述目标虚拟机的虚拟网卡已配置好的前提下,若需要更改上述目标虚拟机的网络配置参数,则neutron server则会将修改后的网络配置参数发送给neutron agent,neutron agent将修改后的网络配置参数发送给虚拟机监控管理器,以使得虚拟机监控管理器执行目标虚拟机的网络配置参数的更新处理。
54.综上可知,若在下发网络配置参数的过程中,若某一执行过程发生故障(如,neutron agent故障,或者,虚拟机监控管理器故障),则会导致网络配置参数配置失败的情况发生,那么,本技术实施例中,neutron agent可以基于预设规则,获取目标虚拟机的第一网络配置参数,并从neutron server获取与所述目标虚拟机绑定的目标neutron port的第二网络配置参数,比对获取到的两个网络配置参数,基于对比结果,确定是否触发网络配置参数再次下发的过程,具体对比以及判断过程详见下文描述,在此不再赘述。
55.本技术实施例中,在基于预设规则获取目标虚拟机的第一网络配置参数的时,一种较佳地实现方式为,基于预设的周期获取目标虚拟机的第一网络配置参数。也就是说,neutron agent可以周期性的执行获取网络配置参数,并进行比对的操作。
56.在基于预设规则获取目标虚拟机的第一网络配置参数的时,另一种较佳地实现方式为,在接收到用户出发的获取指令时,获取所述目标虚拟机的第一网络配置参数。
57.步骤110:判断所述第一网络配置参数与所述第二网络配置参数是否一致。
58.具体地,在获取到目标虚拟机的第一网络配置参数和目标虚拟机对应的目标端口的第二网络配置参数之后,逐一比对网络配置参数包括的各项参数是否一致,若任一项不一致,则确定第一网络配置参数和第二网络配置参数不一致。如,网络配置参数包括参数1,参数2,则将第一网络配置参数的参数1与第二网络配置参数的参数1进行比对,得到第一比对结果,同时,将第一网络配置参数的参数2与第二网络配置参数的参数2进行比对,得到第二比对结果,若根据第一比对结果确定参数1相同,且根据第二比对结果确定参数2相同,则确定第一网络配置参数和第二网络配置参数一致;否则,确定第一网络配置参数与第二网络配置参数不一致。
59.步骤120:若判定所述第一网络配置参数与所述第二网络配置参数不一致,则将所述第二网络配置参数下发给虚拟机监控管理器,以使得所述虚拟机监控管理器基于所述第二网络配置参数对所述目标虚拟机的虚拟网卡进行网络配置。
60.实际应用中,若neutron server中一个neutron port的网络配置参数发生更新,则会触发将更新后的网络配置参数下发并配置给该一个neutron port对应虚拟机的操作,那么,由此可知,neutron server中各neutron port的网络配置参数为最新的网络配置参数。
61.进一步地,若通过比对,判定目标虚拟机的所述第一网络配置参数与目标虚拟机对应的目标端口的所述第二网络配置参数不一致,则说明在历史进行网络配置参数更新的过程中,出现了网络配置参数下发不成功的情况,此时,会触发neutron agent从,neutron server中再次获取目标虚拟机对应的neutron port的网络配置参数,并将获取到的neutron port的网络配置参数下发给hypervisor,由hypervisor再次执行对目标虚拟机的网络配置参数配置的操作。
62.本技术实施例中,一种较佳地对目标虚拟机的网络配置参数配置的方式如下:hypervisor收到neutron agent发送的网络配置参数配置请求之后,调用libvirt或者qemu

guest

agent接口进行配置。将neutron port的vlan、qos、mtu和安全策略组配置到目标虚拟机的虚拟网卡并生效。修改neutron agent安全策略组对应的acl文件的内容,并用新的acl策略限制目标虚拟机的虚拟网卡的网络流量。
63.示例性的,参阅图2所示,为本技术例提供的一种网络配置下发方法的过程示意图,网络配置下发系统可以包括neutron server(服务器),neutron agent和hypervisor(虚拟机监控管理器),其中,neutron server提供数据库给agent查询neutron port参数,保存port binding;定时巡检判断是否需要重新下发port参数,在参数配置完成之后保存配置结果;完成neutron port参数配置和acl修改,提供接口给neutron agent查询acl内容。
64.基于与上述方法实施例同样的发明构思,示例性的,参阅图3所示,为本技术实施例提供的一种网络配置下发装置的结构示意图,该装置应用于运行有neutron agent组件的网络节点,所述装置包括:
65.获取单元30,用于基于预设规则获取目标虚拟机的第一网络配置参数,并从
neutron服务器获取与所述目标虚拟机绑定的目标端口的第二网络配置参数;
66.判断单元31,用于判断所述第一网络配置参数与所述第二网络配置参数是否一致;
67.下发单元32,若所述判断单元31判定所述第一网络配置参数与所述第二网络配置参数不一致,则所述下发单元32用于将所述第二网络配置参数下发给虚拟机监控管理器,以使得所述虚拟机监控管理器基于所述第二网络配置参数对所述目标虚拟机的虚拟网卡进行网络配置。
68.可选地,基于预设规则获取目标虚拟机的第一网络配置参数之前,所述装置还包括接收单元:
69.所述接收单元用于,接收neutron服务器下发的第一网络配置参数;
70.所述下发单元32还用于,将所述第一网络配置参数下发给虚拟机监控管理器,以使得所述虚拟机监控管理器基于所述第一网络配置参数,确定与所述第一网络配置参数对应的目标虚拟机,并基于所述第一网络配置参数配置所述目标虚拟机的虚拟网卡,并记录配置结果。
71.可选地,将所述第一网络配置参数下发给虚拟机监控管理器之后,所述接收单元还用于:
72.接收所述虚拟机监控管理器发送的所述配置结果,并将所述配置结果存储至所述neutron服务器。
73.可选地,所述目标虚拟机为云平台中任一虚拟机;一个虚拟机的网络配置参数包括与所述一个虚拟机绑定的端口的虚拟局域网vlan信息,服务质量qos信息,最大传输单元mtu信息和安全策略组信息。
74.可选地,基于预设规则获取目标虚拟机的第一网络配置参数时,所述获取单元30具体用于:
75.基于预设的周期获取目标虚拟机的第一网络配置参数;或者,
76.在接收到用户出发的获取指令时,获取所述目标虚拟机的第一网络配置参数。
77.以上这些单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,简称asic),或,一个或多个微处理器(digital singnal processor,简称dsp),或,一个或者多个现场可编程门阵列(field programmable gate array,简称fpga)等。再如,当以上某个单元通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,简称cpu)或其它可以调用程序代码的处理器。再如,这些单元可以集成在一起,以片上系统(system

on

a

chip,简称soc)的形式实现。
78.进一步地,本技术实施例提供的网络设备,从硬件层面而言,所述网络设备的硬件架构示意图可以参见图4所示,所述网络设备可以包括:存储器40和处理器41,
79.存储器40用于存储程序指令;处理器41调用存储器40中存储的程序指令,按照获得的程序指令执行上述的方法实施例。具体实现方式和技术效果类似,这里不再赘述。
80.可选地,本技术还提供一种备份服务器,包括用于执行上述应用于备份服务器的方法实施例的至少一个处理元件(或芯片)。
81.可选地,本技术还提供一种程序产品,例如计算机可读存储介质,该计算机可读存
储介质存储有计算机可执行指令,该计算机可执行指令用于使该计算机执行上述应用于备份服务器的方法实施例。
82.这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:ram(radom access memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
83.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
84.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本技术时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
85.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
86.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
87.而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
88.这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
89.以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1