一种DPU中虚拟交换机的带流量升级方法与流程

未命名 07-23 阅读:115 评论:0

一种dpu中虚拟交换机的带流量升级方法
技术领域
1.本公开涉及dpu(data processing unit,数据处理单元或专用数据处理器)技术领域,尤其涉及一种dpu中虚拟交换机的带流量升级方法。


背景技术:

2.随着信息化的飞速发展,dpu是一种全新的网卡设备,其特点是以数据为中心、i/o密集型、采用软件定义技术路线支撑基础设施资源层虚拟化,具备提升计算系统效率、降低整体系统的总拥有成本,并提高数据处理效能、降低其他计算芯片性能损耗的新一代计算芯片,dpu逐渐替换传统网卡,成为云计算环境中,宿主机上搭载的网络设备,相对于传统交换机来说,dpu中的虚拟交换机在数据链路层上拥有更简洁的网络功能,未来dpu中的虚拟交换机将成为构建虚拟网络平台的核心。
3.通常情况下,使用普通网卡的宿主机上的虚拟交换机的升级方法是:停止旧版虚拟交换机,再启动新版虚拟交换机。旧版虚拟交换机停止时,软件转发路径消失,不处理虚拟网卡、普通网卡收到的数据包,此时宿主机中虚拟机的网络是中断的。新版虚拟交换机启动后,重建软件转发路径,但此时软件转发路径中的网络规则为空,虚拟机网络依然中断,还是不能处理数据包;然后网络控制器恢复下发网络规则,虚拟交换机中的软件转发路径规则恢复;最后虚拟机中发出网络流量,软件转发路径正常处理数据包。
4.但是,对于使用普通网卡的宿主机,在虚拟交换机升级过程中,其上的虚拟机有较长时间断网,即原有网络连接中断,例如会中断传输控制协议(transmission control protocol,tcp)会话、影响虚拟机网络业务的可用性。


技术实现要素:

5.为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种dpu中虚拟交换机带流量的升级方法。
6.第一方面,本公开实施例提供一种dpu中虚拟交换机的带流量升级方法,其特征在于,所述方法适用于一种数据网络,所述数据网络中包括dpu和虚拟机,所述dpu中包括硬件转发路径和虚拟交换机,所述硬件转发路径中包括所述虚拟交换机中的至少部分路径转发规则,所述硬件转发路径用于在所述虚拟机和网络之间转发业务数据,所述方法包括:
7.响应于接收到升级指令,释放第一虚拟交换机占用的资源,并保持所述虚拟机网络业务数据的转发;
8.启动第二虚拟交换机,将所述第一虚拟交换机中的路径转发规则同步到第二虚拟交换机中;
9.销毁所述第一虚拟交换机,建立所述硬件转发路径与所述第二虚拟交换机的连接,以通过所述第二虚拟交换机继续处理软件转发流程,并向所述硬件转发路径下发路径转发规则。
10.第二方面,本公开实施例提供一种dpu中虚拟交换机的带流量升级装置,其特征在
于,所述装置适用于一种数据网络,所述数据网络中包括dpu和虚拟机,所述dpu中包括硬件转发路径和虚拟交换机,所述硬件转发路径中包括所述虚拟交换机中的至少部分路径转发规则,所述硬件转发路径用于在所述虚拟机和网络之间转发业务数据,所述装置包括:
11.释放模块,用于响应接收到的升级指令,释放第一虚拟交换机占用的资源,并保持所述虚拟机网络业务数据的转发;
12.启动模块,用于启动第二虚拟交换机,将所述第一虚拟交换机中的路径转发规则同步到第二虚拟交换机中;
13.连接模块,用于销毁所述第一虚拟交换机,建立所述硬件转发路径与所述第二虚拟交换机的连接,以通过所述第二虚拟交换机继续处理软件转发流程,并向所述硬件转发路径下发路径转发规则。
14.第三方面,本公开实施例提供一种数据网络,其特征在于,包括dpu和虚拟机;
15.所述dpu和所述虚拟机连接;
16.所述dpu中包括硬件转发路径和虚拟交换机;
17.所述硬件转发路径和所述虚拟交换机连接;
18.所述硬件转发路径中包括所述虚拟交换机中的至少部分路径转发规则,所述硬件转发路径用于在所述虚拟机和网络之间转发业务数据,所述dpu用于:
19.响应于接收到升级指令,释放第一虚拟交换机占用的资源,并保持所述虚拟机网络业务数据的转发;
20.启动第二虚拟交换机,将所述第一虚拟交换机中的路径转发规则同步到第二虚拟交换机中;
21.销毁所述第一虚拟交换机,建立所述硬件转发路径与所述第二虚拟交换机的连接,以通过所述第二虚拟交换机继续处理软件转发流程,并向所述硬件转发路径下发路径转发规则。
22.第四方面,本公开实施例提供一种电子设备,包括:
23.存储器;
24.处理器;以及
25.计算机程序;
26.其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面所述的方法。
27.第五方面,本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现第一方面所述的方法。
28.本公开实施例涉及一种dpu中虚拟交换机的带流量升级方法,本公开实施例dpu中的虚拟交换机通过响应接收到的升级指令,释放第一虚拟交换机所占用的资源,并保持虚拟机网络业务数据的转发,启动第二虚拟交换机,将第一虚拟交换机中的路径转发规则同步到第二虚拟交换机中,进一步,销毁第一虚拟交换机,建立硬件转发路径与第二虚拟交换机的连接,以通过第二虚拟交换机继续处理软件转发流程,并向硬件转发路径下发路径转发规则。本公开实施例在dpu中的虚拟交换机进行升级的过程中利用硬件转发路径不变和软件转发路径逐模块升级的技术,解决了dpu中的虚拟交换机升级过程中搭载dpu的宿主机中的虚拟机的断网、丢包、重传的问题,实现了虚拟机网络不中断,原有网络流量不丢包不
重传。
附图说明
29.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
30.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
31.图1为现有技术中虚拟交换机升级的示意图;
32.图2为本公开实施例提供的一种dpu中虚拟交换机的带流量升级场景的示意图;
33.图3为本公开实施例提供的一种dpu中虚拟交换机的带流量升级方法的流程图;
34.图4为本公开实施例提供的一种dpu中虚拟交换机的带流量升级方法的升级技术示意图;
35.图5为本公开实施例提供的一种dpu中虚拟交换机的带流量升级装置的结构示意图;
36.图6为本公开实施例提供的一种数据网络的结构示意图;
37.图7为本公开实施例提供的电子设备的结构示意图。
具体实施方式
38.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
39.在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
40.图1为现有技术中虚拟交换机升级的示意图。在云计算集群中,宿主机通常使用虚拟交换机作为网络组件,承载虚拟机的网络流量。图1展示了在云计算中,作为计算节点使用的,搭载普通网卡的宿主机及其虚拟机的网络转发路径。参见图1,图1中包括:网络控制器、宿主机、虚拟机1和虚拟机2(以下将虚拟机1和虚拟机2简称为虚拟机)、虚拟网卡、普通网卡、虚拟交换机,虚拟交换机中包括软件转发路径。其中,网络控制器负责云计算中路径转发规则的管理,向虚拟交换机下发路径转发规则;宿主机是运行虚拟机的物理服务器;虚拟机是云计算时用户启动的虚拟服务器;虚拟网卡是软件模拟的网卡,虚拟机中的网络流量通过虚拟网卡进入虚拟交换机,虚拟交换机中的网络流量通过虚拟网卡输出到虚拟机;普通网卡是插在宿主机上的硬件网卡,外部网络流量通过普通网卡进入虚拟交换机,虚拟交换机中的外部网络流量通过普通网卡输出到外部网络中;虚拟交换机中的软件转发路径,是一个软件网络转发引擎,保存网络控制器下发的路径转发规则,并根据此规则对流经的网络流量进行转发。如图1所述,虚拟机的发包路径是:(1)虚拟机通过虚拟网卡发出网络流量;(2)网络流量经过虚拟交换机中的软件转发路径,到达普通网卡的硬件;(3)网络流量经过普通网卡的硬件转发到网络中。
41.当云计算平台中某台宿主机中的虚拟交换机进行升级的时候,其具体的过程是:(1)升级工具通知网络控制器暂停下发路径转发规则;(2)升级工具停止旧版虚拟交换机,软件转发路径消失,不再处理虚拟网卡、普通网卡中收发的数据包,此时网络中断,业务数据无法继续进行;(3)升级工具启动新版虚拟交换机,重建软件转发路径;(4)升级工具通知网络控制器恢复下发路径转发规则,规则下发完成后,软件转发路径才可以恢复正常处理网络流量的功能。在现有的虚拟交换机升级过程中,由于旧版虚拟交换机被停止,而重启新版虚拟交换机所需的时间长,重建软件转发路径中的路径转发规则所需的时间也比较长,就导致了虚拟交换机在升级过程中,虚拟交换机和虚拟机有较长时间的断网,即原有网络连接中断,影响业务数据的处理。
42.在搭载dpu的宿主机中,为了解决类似虚拟交换机带流量进行升级过程中的问题,本技术提供了一种dpu中的虚拟交换机的升级方法。
43.图2为本公开实施例提供的一种dpu中虚拟交换机的带流量升级场景的示意图。该场景可以包括中央处理器分散单元(data processing unit,dpu)、宿主机和网络控制器。宿主机中可以包括多个虚拟机,每个虚拟机连接一个虚拟网卡,比如图2中以包括虚拟机1和虚拟机2为例,虚拟机1连接虚拟网卡1,虚拟机2连接虚拟网卡2。dpu上包括:硬件转发路径和虚拟交换机,虚拟交换机中包括软件转发路径和卸载路径。硬件转发路径是dpu中硬件实现的网络转发引擎,该转发引擎连接外部网络、虚拟网卡、以及dpu中运行的虚拟交换机的卸载路径,硬件转发路径提供了虚拟网卡用做虚拟机的网卡,虚拟机发出的网络流量经过虚拟网卡、dpu上的虚拟交换机,进入宿主机的外部网络;dpu搭载在宿主机上,代替了普通网卡,外部网络流量通过dpu进出虚拟机;虚拟交换机运行在部署在dpu上的操作系统(system on chip,soc)中;虚拟交换机中的软件转发路径用于接收网络控制器下发的路径转发规则;卸载路径用于将软件转发路径中的规则卸载到硬件转发路径上,即软件转发路径中包含着硬件转发路径中的路径转发规则,在dpu初启动时,硬件转发路径与卸载路径里的路径转发规则为空;软件转发路径包含着网络控制器下发的完整路径转发规则,硬件转发路径中的路径转发规则是软件转发路径中的路径转发规则的一个子集,卸载路径将硬件转发路径所需要的路径转发规则从软件转发路径下发到硬件转发路径中。
44.本公开实施例通过虚拟交换机中的软件转发路径和卸载路径将路径转发规则下发到硬件转发路径,确保硬件转发路径可以根据相应规则处理每一条业务数据。
45.下面结合示例性的实施例对本公开实施例提供的一种dpu中虚拟交换机的带流量升级方法进行说明。
46.示例的,图3是本公开实施例提供的一种dpu中虚拟交换机的带流量升级方法流程图,该方法适用于一种数据网络,所述数据网络中包括dpu和虚拟机,所述dpu中包括硬件转发路径和虚拟交换机,所述硬件转发路径中包括所述虚拟交换机中的至少部分路径转发规则,所述硬件转发路径用于在所述虚拟机和网络之间转发业务数据,该方法的具体步骤如下:
47.s301、dpu中的虚拟交换机响应于接收到升级指令,释放第一虚拟交换机占用的资源,并保持虚拟机网络业务数据的转发。
48.其中,本公开实施例所提到的升级指令,由网络运维人员通过升级工具发起,第一虚拟交换机接收,升级工具可以理解为集成在dpu中的软件或硬件模块。第一虚拟交换机占
用的资源比如可以是数据库资源和openflow(一种网络通信协议)规则资源,例如数据库锁、网桥、进程描述符文件(process identification,pid)文件、socket(一种网络通信之间的传输方式)文件等。
49.保持虚拟机对网络业务数据的转发,也就是在第一虚拟交换机释放其所占用的资源的阶段,硬件转发路径、第一虚拟交换机的第一软件转发路径和第一卸载路径均保持正常的工作状态。
50.可选的,在一些实施方式中,释放所述第一虚拟交换机占用的资源之前还可以包括步骤:s3011和s3012:
51.s3011、在接收到升级指令之后,向网络控制器发送第一控制指令,以使网络控制器停止向第一虚拟交换机下发路径转发规则。
52.在本公开实施例中,第一虚拟交换机接收到升级指令之后,升级工具通知网络控制器停止向第一虚拟交换机下发路径转发规则,也就是说,第一虚拟交换机在开始升级,直到升级完成,网络控制器都不再向第一虚拟交换机中的第一软件转发路径下发新的路径转发规则。
53.比如,在一种实施例中,网络控制器已经向第一软件转发路径下发了10000条路径转发规则,在第一虚拟交换机从开始升级到升级结束,第一软件转发路径中一直保持着10000条路径转发规则,网络控制器不再向第一软件转发路径下发新的路径转发规则。
54.s3012、向网络控制器发送第一控制指令之后,将软件转发路径中的路径转发规则保存到预设文件中,并停止软件转发路径对路径转发规则的接收。
55.在本公开实施例中,网络控制器停止向第一虚拟交换机的软件转发路径下发新的路径转发规则后,第一虚拟交换机中的第一软件转发路径里的路径转发规则保存到预设的文件中,这里的文件可以是dpu中,出厂设置的文件,也可以是由用户设置的文件,本公开实施例不做具体限定,停止软件转发路径对路径转发规则的接收,可以理解为,第一软件转发路径中的路径转发规则不会新增,也不会减少,维持现状。
56.s302、启动第二虚拟交换机,将第一虚拟交换机中的路径转发规则同步到第二虚拟交换机中。
57.在本公开实施例中,升级工具启动第二虚拟交换机,第一虚拟交换机中的路径规则开始同步到第二虚拟交换机中,保证第二虚拟交换机中有完整的升级前的路径转发规则,以使第二虚拟交换机后续处理业务数据的效率更高。
58.可选的,在本公开实施例中,启动第二虚拟交换机,将第一虚拟交换机中的路径转发规则同步到第二虚拟交换机中,包括:
59.s11、将预设文件中的路径转发规则同步到第二虚拟交换机中的第二软件转发路径中;
60.s12、将第一卸载路径中包含的路径转发规则,同步到第二虚拟交换机中的第二卸载路径中,其中,第一卸载路径中包含的路径转发规则与硬件转发路径中包含的路径转发规则相同。
61.在本公开实施例中,第二虚拟交换机启动之后,首先启动第二虚拟交换机中的第二软件转发路径,具体启动可以包括:将捕获数据包的方式(data plane development kit,dpdk)初始化,从上述数据库资源中加载配置并添加网桥和端口,从上述预设文件中将
第一虚拟机的第一软件转发路径的路径转发规则加载到第二软件转发路径中;
62.与软件转发路径相同的,将第一卸载路径中的路径转发规则同步到第二卸载路径中。
63.可选的,在本公开实施例中,将第一卸载路径中包含的路径转发规则,同步到第二虚拟交换机中的第二卸载路径中之前,包括:
64.s21、向硬件转发路径发送第二控制指令,以使硬件转发路径根据第二控制指令停止转发新业务的数据。
65.在接收到第二控制指令之后,硬件转发路径中只处理之前没有处理完成的业务数据,对于新进来的业务数据不予处理。卸载路径中的路径转发规则同步完成后,由第二虚拟交换机开始处理新的业务数据。
66.s303、销毁第一虚拟交换机,建立硬件转发路径与第二虚拟交换机的连接,以通过第二虚拟交换机继续处理软件转发流程,并向硬件转发路径下发路径转发规则。
67.在本公开实施例中,第一虚拟交换机中的第一软件转发路径与第一卸载路径中的路径转发规则均同步到第二虚拟交换机中的第二软件转发路径与第二卸载路径中后,升级工具通知第一虚拟交换机,完成所有进程,即销毁第一虚拟交换机,并建立硬件转发路径与第二虚拟交换机之间的连接,在这之后,由第二虚拟交换机处理软件转发流程,并向硬件转发路径下发路径转发规则。升级工具通知网络控制器,开始向第二虚拟交换机下发路径转发规则,虚拟交换机升级完成。
68.本公开实施例,dpu中的虚拟交换机通过响应接收到的升级指令,释放第一虚拟交换机所占用的资源,并保持虚拟机对网络业务数据的转发,启动第二虚拟交换机,将第一虚拟交换机中的路径转发规则同步到第二虚拟交换机中,进一步,销毁第一虚拟交换机,建立硬件转发路径与第二虚拟交换机的连接,以通过第二虚拟交换机继续处理软件转发流程,向硬件转发路径下发路径转发规则。本公开实施例在dpu中的虚拟交换机进行升级的过程中利用硬件转发路径不变和软件转发路径逐模块升级的技术,解决了dpu中的虚拟交换机升级过程中搭载dpu的宿主机中的虚拟机的断网、丢包、重传的问题,实现了虚拟机网络不中断,原有网络流量不丢包不重传。
69.图4为本公开实施例提供的一种dpu中虚拟交换机的带流量升级方法的升级技术示意图,如图4所示,在一种实施例中,虚拟交换机进行升级的过程如下:
70.步骤1、升级工具通知网络控制器暂停下发网络规则,即路径转发规则;
71.在一种实施方式中,网络运维人员启动升级工具,升级工具通知网络控制器暂停下发路径转发规则,即虚拟交换机中不会再产生新的路径转发规则。
72.步骤2、升级工具通知旧版虚拟交换机即第一虚拟交换机开启第一阶段的升级工作:
73.(1)旧版虚拟交换机将独占资源释放;
74.在一种实施方式中,旧版虚拟交换机释放的独占资源包括数据库资源和openflow规则资源,其中,具体可以包括数据库锁、网桥、端口、软件转发路径规则;
75.(2)将软件转发路径规则保存到预设文件中;
76.在一种实施方式中,预设文件可以是出厂设置好的,也可以是用户自行设置的文件,旧版虚拟交换机中的软件转发路径规则保存到预设文件中;
77.(3)停止软件转发路径;
78.在一种实施方式中,停止旧版虚拟交换机中的软件转发路径,即停止软件转发路径规则的新增与删除,比如,软件转发路径有10000条路径转发规则,停止软件转发路径后,软件转发路径对这10000条路径转发规则不做任何修改。
79.(4)成功则进入下一过程,失败则回退;
80.在一种实施方式中,若上述过程执行成功,则进入下一过程继续执行,若执行失败,则生成错误信息上报人工,并结束整个进程。
81.步骤3、升级工具通知新版虚拟交换机即第二虚拟交换机开启第一阶段的升级工作:
82.(1)启动软件转发路径,从数据库中加载配置,从预设文件中加载软件转发路径规则;
83.在一种实施方式中,新版虚拟交换机启动软件转发路径,该新版的软件转发路径从旧版虚拟交换机释放的数据库资源中加载配置,从预设的文件中加载软件转发路径规则,该软件转发路径规则与旧版虚拟交换机中的软件转发路径规则相同;
84.(2)启动卸载路径,同步卸载路径规则;
85.在一种实施方式中,新版虚拟交换机启动软件转发路径并将软件转发路径规则加载完成后,启动新版虚拟交换机的卸载路径并从旧版虚拟交换机中同步卸载路径规则,以保证升级前后的软件转发路径和卸载路径中的路径转发规则保持一致。
86.(3)成功则进入下一过程,失败则回退;
87.在一种实施方式中,若上述过程执行成功,则进入下一过程继续执行,若执行失败,则生成错误信息上报人工,并结束整个进程。
88.在上述步骤1-3中,网络中原有的流量,即已存在的需要被处理的业务数据,是经过硬件转发路径直接转发的,对新建会话的流量,即新进来需要被处理的业务数据,由dpu上的旧版虚拟交换机中的软件转发路径下发路径转发规则,在这个过程中,不会丢失业务数据的数据包,也不需要重传数据包。在步骤1-3中,网络中原有的网络连接、新建网络连接,网络不会中断,不影响业务数据的处理。
89.步骤4、升级工具通知新版虚拟交换机开启第二阶段的升级工作:
90.(1)新版虚拟交换机通知旧版虚拟交换机停止收发包;
91.在一种实施方式中,旧版虚拟交换机停止收发包,即此时有新的业务数据需要处理时,软件转发路径不再继续下发给卸载路径路径转发规则,此时,硬件转发路径只处理原有的、未处理完的业务数据,对新进来的需要被处理的业务数据不进行处理;
92.(2)新版虚拟交换机通知旧版虚拟交换机同步新增的卸载路径转发规则;
93.在一种实施方式中,在停止旧版软件转发路径后,对于新的业务数据,在处理过程中用到的硬件转发路径中没有、需要从软件转发路径中通过卸载路径下发的路径转发规则就是需要从旧版虚拟交换机中同步到新版虚拟交换机的卸载路径的路径转发规则;
94.(3)新版虚拟交换机开启收发包;
95.在一种实施方式中,旧版虚拟交换机的全部路径转发规则同步到新版虚拟交换机中后,新版虚拟交换机开启收发包,此时,系统恢复到原有的处理状态。
96.在步骤4中,不影响网络中原有网络的连接,即对已经存在的业务数据继续进行处
理,不会丢失其数据包,也不需要重传,新建网络连接中断,不过该过程很快,因此受影响时间极短,即虚拟机中新建网络通信受升级过程的影响时间极短。
97.步骤5、升级工具通知旧版虚拟交换机开启第二阶段的升级工作:进程全部退出;
98.在一种实施方式中,当旧版虚拟机中的资源释放完成、路径转发规则同步完成并且新版虚拟交换机开始正常处理业务数据后,将旧版虚拟交换机的进程全部退出,即旧版虚拟交换机被销毁。
99.步骤6、升级工具通知网络控制器继续下发路径转发规则。
100.在一种实施方式中,旧版虚拟交换机被销毁后,升级工具通知网络控制器继续下发路径转发规则,新版软件转发路径开始接收新的路径转发规则,此时,虚拟交换机的升级工作全部完成。
101.在步骤5和步骤6中,网络中原有的流量,即已存在的需要被处理的业务数据,是经过硬件转发路径直接转发的,对新建会话的流量,即新进来需要被处理的业务数据,由dpu上的新版虚拟交换机完成。
102.本公开实施例,利用dpu上的硬件转发路径处理业务数据,在虚拟交换机升级过程中,网络连接不中断,全程不影响硬件转发路径中已存在规则的转发,原有业务数据的数据包不会丢失,也不需要重传,原有网络通信不受升级过程影响;并且虚拟交换机的整个升级过程是在dup中完成的,宿主机完全无感知,避免了浪费宿主机cpu资源,防止网络运维人员对cpu的误操作的问题。
103.图5为本公开实施例提供的一种dpu中虚拟交换机的带流量升级装置的结构示意图。该虚拟交换机的升级装置适用于一种数据网络,如图5所示,本公开实施例提供的升级装置50可以理解为上述实施例中的dpu或者dpu的部分功能模块,升级装置50包括:释放模块501、启动模块502、连接模块503;其中,释放模块501,用于响应接收到的升级指令,释放第一虚拟交换机占用的资源,并保持虚拟机网络业务数据的转发;启动模块502,用于启动第二虚拟交换机,将第一虚拟交换机中的路径转发规则同步到第二虚拟交换机中;连接模块503,用于销毁第一虚拟交换机,建立硬件转发路径与第二虚拟交换机的连接,以通过第二虚拟交换机继续处理软件转发流程,并向硬件转发路径下发路径转发规则。
104.可选的,升级装置50还包括:第一发送模块504。第一发送模块504,用于在接收到升级指令之后,向网络控制器发送第一控制指令,以使网络控制器停止向第一虚拟交换机下发路径转发规则。
105.可选的,升级装置50还包括:保存模块505。保存模块505,用于将软件转发路径中的路径转发规则保存到预设文件中,并停止软件转发规则对路径转发规则的接收。
106.可选的,升级装置50还包括:第一同步模块506、第二同步模块507。其中,第一同步模块506,用于将预设文件中的路径转发规则同步到第二虚拟交换机中的第二软件转发路径中;第二同步模块507,用于将第一卸载路径中包含的路径转发规则,同步到第二虚拟交换机中的第二卸载路径中,其中,第一卸载路径中包含的路径转发规则与硬件转发路径中包含的路径转发规则相同。
107.可选的,升级装置50还包括:第二发送模块508。第二发送模块508,用于向硬件转发路径发送第二控制指令,以使硬件转发路径根据第二控制指令停止转发新业务的数据。
108.图5所示实施例的一种虚拟交换机的升级装置可用于执行上述方法实施例的技术
方案,其实现原理和技术效果类似,此处不再赘述。
109.图6为本公开实施例提供的一种数据网络的结构示意图。如图6所示,本公开实施例提供的数据网络60包括:dpu601、虚拟机602;其中,dpu601,用于响应于接收到的升级指令,释放第一虚拟交换机占用的资源,并保持虚拟机网络业务数据的转发;启动第二虚拟交换机,将第一虚拟交换机中的路径转发规则同步到第二虚拟交换机中;销毁第一虚拟交换机,建立硬件转发路径与第二虚拟交换机的连接,以通过第二虚拟交换机继续处理软件转发流程,并向硬件转发路径下发路径转发规则。
110.可选的,dpu601还用于:在接收到升级指令之后,向网络控制器发送第一控制指令,以使网络控制器停止向第一虚拟交换机下发路径转发规则。
111.可选的,dpu601还用于:将软件转发路径中的路径转发规则保存到预设文件中,并停止软件转发规则对路径转发规则的接收。
112.可选的,dpu601还用于:将预设文件中的路径转发规则同步到第二虚拟交换机中的第二软件转发路径中;将第一卸载路径中包含的路径转发规则,同步到第二虚拟交换机中的第二卸载路径中,其中,第一卸载路径中包含的路径转发规则与硬件转发路径中包含的路径转发规则相同。
113.可选的,dpu601还用于:向硬件转发路径发送第二控制指令,以使硬件转发路径根据第二控制指令停止转发新业务的数据。
114.图6所示实施例的一种数据网络的结构可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
115.图7为本公开实施例提供的电子设备的结构示意图。该电子设备可以是如上实施例所述的虚拟交换机。如图7所示,电子设备70包括存储器71、处理器72、计算机程序和通讯接口73;其中,计算机程序存储在存储器71中,并被配置为由处理器72执行如上述任一方法实施例中的方法。
116.另外,本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例提供的方法。
117.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
118.以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术特征:
1.一种dpu中虚拟交换机的带流量升级方法,其特征在于,所述方法适用于一种数据网络,所述数据网络中包括dpu和虚拟机,所述dpu中包括硬件转发路径和虚拟交换机,所述硬件转发路径中包括所述虚拟交换机中的至少部分路径转发规则,所述硬件转发路径用于在所述虚拟机和网络之间转发业务数据,所述方法包括:响应于接收到升级指令,释放第一虚拟交换机占用的资源,并保持所述虚拟机网络业务数据的转发;启动第二虚拟交换机,将所述第一虚拟交换机中的路径转发规则同步到第二虚拟交换机中;销毁所述第一虚拟交换机,建立所述硬件转发路径与所述第二虚拟交换机的连接,以通过所述第二虚拟交换机继续处理软件转发流程,并向所述硬件转发路径下发路径转发规则。2.根据权利要求1所述的方法,其特征在于,所述数据网络还包括网络控制器;所述释放所述第一虚拟交换机占用的资源之前,所述方法还包括:在接收到升级指令之后,向所述网络控制器发送第一控制指令,以使所述网络控制器停止向所述第一虚拟交换机下发路径转发规则。3.根据权利要求2所述的方法,其特征在于,所述第一虚拟交换机中包括第一软件转发路径和第一卸载路径,所述第一虚拟交换机中的路径转发规则存储在所述软件转发路径中,所述第一卸载路径用于将所述软件转发路径中一个或多个路径转发规则下发给所述硬件转发路径;所述向所述网络控制器发送第一控制指令之后,所述方法还包括:将所述软件转发路径中的路径转发规则保存到预设文件中,并停止所述软件转发路径对路径转发规则的接收。4.根据权利要求3所述的方法,其中,所述启动第二虚拟交换机,将所述第一虚拟交换机中的路径转发规则同步到第二虚拟交换机中,包括:将所述预设文件中的路径转发规则同步到所述第二虚拟交换机中的第二软件转发路径中;将所述第一卸载路径中包含的路径转发规则,同步到所述第二虚拟交换机中的第二卸载路径中,其中,所述第一卸载路径中包含的路径转发规则与所述硬件转发路径中包含的路径转发规则相同。5.根据权利要求4所述的方法,其中,所述将所述第一卸载路径中包含的路径转发规则,同步到所述第二虚拟交换机中的第二卸载路径中之前,所述方法还包括:向所述硬件转发路径发送第二控制指令,以使所述硬件转发路径根据所述第二控制指令停止转发新业务的数据。6.一种dpu中虚拟交换机的带流量升级装置,其特征在于,所述装置适用于一种数据网络,所述数据网络中包括dpu和虚拟机,所述dpu中包括硬件转发路径和虚拟交换机,所述硬件转发路径中包括所述虚拟交换机中的至少部分路径转发规则,所述硬件转发路径用于在所述虚拟机和网络之间转发业务数据,所述装置包括:释放模块,用于响应接收到的升级指令,释放第一虚拟交换机占用的资源,并保持所述虚拟机网络业务数据的转发;
启动模块,用于启动第二虚拟交换机,将所述第一虚拟交换机中的路径转发规则同步到第二虚拟交换机中;连接模块,用于销毁所述第一虚拟交换机,建立所述硬件转发路径与所述第二虚拟交换机的连接,以通过所述第二虚拟交换机继续处理软件转发流程,并向所述硬件转发路径下发路径转发规则。7.根据权利要求6所述的装置,其特征在于,所述数据网络还包括网络控制器;所述释放所述第一虚拟交换机占用的资源之前,所述装置还包括:发送模块,用于在接收到升级指令之后,向所述网络控制器发送第一控制指令,以使所述网络控制器停止向所述第一虚拟交换机下发路径转发规则。8.一种数据网络,其特征在于,包括dpu和虚拟机;所述dpu和所述虚拟机连接;所述dpu中包括硬件转发路径和虚拟交换机;所述硬件转发路径和所述虚拟交换机连接;所述硬件转发路径中包括所述虚拟交换机中的至少部分路径转发规则,所述硬件转发路径用于在所述虚拟机和网络之间转发业务数据,所述dpu用于:响应于接收到升级指令,释放第一虚拟交换机占用的资源,并保持所述虚拟机网络业务数据的转发;启动第二虚拟交换机,将所述第一虚拟交换机中的路径转发规则同步到第二虚拟交换机中;销毁所述第一虚拟交换机,建立所述硬件转发路径与所述第二虚拟交换机的连接,以通过所述第二虚拟交换机继续处理软件转发流程,并向所述硬件转发路径下发路径转发规则。9.一种电子设备,其特征在于,包括:存储器;处理器;以及计算机程序;其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1-5中任一项所述的方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理执行时实现如权利要求1-5中任一项所述的方法。

技术总结
本公开实施例涉及一种DPU中虚拟交换机的带流量升级方法。本公开实施例在DPU中的虚拟交换机进行升级的过程中利用硬件转发路径不变和软件转发路径逐模块升级的技术,解决了DPU中的虚拟交换机升级过程中搭载DPU的宿主机中的虚拟机断网、丢包、重传的问题,实现了虚拟机网络不中断,原有网络流量不丢包不重传。原有网络流量不丢包不重传。原有网络流量不丢包不重传。


技术研发人员:冮晔维 田芸 黄明亮
受保护的技术使用者:中科驭数(北京)科技有限公司
技术研发日:2023.04.06
技术公布日:2023/7/21
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐