实现虚拟交换机热升级的方法及装置与流程

allin2023-04-04  121



1.本说明书一个或多个实施例涉及互联网技术领域,尤其涉及一种实现虚拟交换机热升级的方法及装置。


背景技术:

2.随着信息化技术不断发展,虚拟化网络逐渐呈现出巨大的发展潜力。实体服务器的精简化,接连带动了机房网络的虚拟化,原本在机房内部随处可见的物理交换机等网络设备,也一并被整合到虚拟平台,透过软件仿真的方式,形成虚拟交换机等组件,继而为虚拟机提供网络服务。虚拟交换机其本质是通过软件在逻辑上集成物理连接的交换机,然而当推出新版本虚拟交换机或修复现有版本虚拟交换机漏洞时,就需要对虚拟交换机进行升级更新。
3.在相关技术中,可以通过双进程方式来实现虚拟交换机热升级。双进程方式是指在旧版本虚拟交换机进程的基础上,额外再创建一个独立的新版本虚拟交换机进程,此时与旧版本虚拟交换机连接的物理网卡复制流量并同时发送至新版本虚拟交换机进程和老版本虚拟交换机进程,在完成所需设置后,结束旧版本虚拟交换机进程,由新版本虚拟交换机进程提供对应服务,由此实现服务不中断的虚拟交换机热升级。
4.然而,这种物理网卡复制流量的双进程热升级方式需要所述物理网卡具备复制流量的能力,当所述物理网卡存在硬件限制而不具备复制流量的能力时,即无法实现上述不中断服务的虚拟交换机热升级。


技术实现要素:

5.有鉴于此,本说明书一个或多个实施例提供一种实现虚拟交换机热升级的方法及装置。
6.为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
7.根据本说明书一个或多个实施例的第一方面,提出了一种实现虚拟交换机热升级的方法,所述方法包括:
8.针对旧版本虚拟交换机部署相应的新版本虚拟交换机,并由所述新版本虚拟交换机加载待升级的配置信息;其中,所述旧版本虚拟交换机分别与物理网卡、至少一台虚拟机相连,用于在所述物理网卡与所述至少一台虚拟机之间实现流量转发;
9.在所述旧版本虚拟交换机与所述新版本虚拟交换机之间建立流量通道,使所述新版本虚拟交换机通过所述旧版本虚拟交换机与所述物理网卡实现流量交互;
10.控制所述至少一台虚拟机与所述旧版本虚拟交换机之间的连接断开,并在所述至少一台虚拟机与已完成升级的所述新版本虚拟交换机之间建立连接。
11.根据本说明书一个或多个实施例的第二方面,提出了一种实现虚拟交换机热升级的装置,所述装置包括:
12.部署单元,用于针对旧版本虚拟交换机部署相应的新版本虚拟交换机,并由所述
新版本虚拟交换机加载待升级的配置信息;其中,所述旧版本虚拟交换机分别与物理网卡、至少一台虚拟机相连,用于在所述物理网卡与所述至少一台虚拟机之间实现流量转发;
13.建立单元,用于在所述旧版本虚拟交换机与所述新版本虚拟交换机之间建立流量通道,使所述新版本虚拟交换机通过所述旧版本虚拟交换机与所述物理网卡实现流量交互;
14.控制单元,用于控制所述至少一台虚拟机与所述旧版本虚拟交换机之间的连接断开,并在所述至少一台虚拟机与已完成升级的所述新版本虚拟交换机之间建立连接。
15.根据本说明书一个或多个实施例的第三方面,提出了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第一方面所述方法的步骤。
16.根据本说明书一个或多个实施例的第四方面,提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述方法的步骤。
附图说明
17.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
18.图1是本说明书一示例性实施例提供的一种虚拟交换机热升级系统的架构示意图;
19.图2是本说明书一示例性实施例提供的一种实现虚拟交换机热升级的方法的流程图;
20.图3是本说明书一示例性实施例提供的一种对虚拟交换机进行热升级的示意图;
21.图4是本说明书一示例性实施例提供的一种电子设备的示意结构图;
22.图5是本说明书一示例性实施例提供的一种实现虚拟交换机热升级的装置的框图。
具体实施方式
23.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
24.需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
25.图1是本说明书一示例性实施例提供的一种虚拟交换机热升级系统的架构示意
图。如图1所示,该系统架构可以包括控制端10、服务端11。
26.控制端10可以部署在包含一独立主机的物理服务器,或者该控制端10可以部署在主机集群承载的虚拟服务器(如云服务器),本说明书对此不进行限制。所述控制端10可以配置有本说明书所述的用于实现虚拟交换机热升级的控制逻辑,从而在无需物理网卡16具有复制流量的能力的情况下,即可使得虚拟交换机15实现热升级,避免虚拟交换机15在升级过程中发生服务中断。
27.服务端11可以为包含一独立主机的物理服务器,或者该服务端11可以为主机集群。虽然在图1所示的实施例中,控制端10与服务端11相互独立,但在一些实施例中,控制端10也可以部署在服务端11处,本说明书对此不进行限制。其中,服务端11上配置有物理网卡16,同时该服务端11可以通过对处理资源进行虚拟化,从而在逻辑上集成至少一台虚拟机(如虚拟机12、虚拟机13和虚拟机14等),以及虚拟交换机15。进一步的,虚拟交换机15可以配置有两种虚拟接口:上联口和下联口,上联口可以用于连接物理网卡16,下联口可以用于连接虚拟机12-14,虚拟交换机15通过上述虚拟接口分别与虚拟机12-14和物理网卡16在逻辑上建立连接,使得该虚拟交换机15可以将虚拟机12-14上的流量基于上述连接通过物理网卡16转发出去,也可以使物理网卡16的流量基于上述连接转发至对应虚拟机12,同时多台虚拟机例如虚拟机12、虚拟机13和虚拟机14之间也可以通过虚拟交换机15实现互联互通。
28.本说明书可以针对上述系统架构中的虚拟交换机15实现双进程方式的热升级,并且不论物理网卡16是否具有复制流量的能力,均可以顺利完成热升级,从而使虚拟交换机15的热升级摆脱物理网卡16的硬件限制。
29.图2是一示例性实施例提供的一种实现虚拟交换机热升级的方法的流程图,所述方法包括以下步骤:
30.步骤201、针对旧版本虚拟交换机部署相应的新版本虚拟交换机,并由所述新版本虚拟交换机加载待升级的配置信息;其中,所述旧版本虚拟交换机分别与物理网卡、至少一台虚拟机相连,用于在所述物理网卡与所述至少一台虚拟机之间实现流量转发。
31.在本说明书实施例中,虚拟交换机可以指服务端通过对处理资源进行虚拟化,从而在逻辑上集成的虚拟交换机进程。旧版本虚拟交换机可以指在虚拟交换机进行热升级开始前,所存在的虚拟交换机进程,相对应的,新版本虚拟交换机可以指在热升级时,替换上述旧版本虚拟交换机进程的另一虚拟交换机进程。换言之,本说明书所述的新版本虚拟交换机和旧版本虚拟交换机其用于表征热升级过程中对于虚拟交换机的前后替换关系,而并非是特指的版本。虚拟交换机热升级可以根据功能需求而触发,即当前版本虚拟交换机已无法满足功能需求,需要对当前版本虚拟交换机进行热升级,从而实现功能拓展。当然,虚拟交换机热升级也可以因为版本漏洞而升级,此时上述虚拟交换机热升级可以有两种方法实现,一、推出修补漏洞后的新版本虚拟交换机。二、版本回退。不难理解,当采取方法一时,上述新版本虚拟交换机为修补漏洞后的虚拟交换机,而旧版本虚拟交换机为依旧存在该漏洞的虚拟交换机。当采取方法二时,即版本回退时,上述新版本虚拟交换机指上一版本不存在漏洞的虚拟交换机,相对应的,上述旧版本虚拟交换机指当前版本依旧存在漏洞的虚拟交换机。
32.需要说明的是,上述新版本虚拟交换机进程和旧版本虚拟交换机进程是相互独立
的不同进程,关于如何实现部署新版本虚拟交换机可以参见相关技术中的相关内容,本说明书在此不再赘述。
33.旧版本虚拟交换机分别与物理网卡、至少一台虚拟机相连,用于在所述物理网卡与所述至少一台虚拟机之间实现流量转发,例如在图1所示的实施例中,虚拟交换机15可以为旧版本虚拟交换机,虚拟机12-14可以为与旧版本虚拟交换机相连的虚拟机,物理网卡16可以为与旧版本虚拟交换机相连的物理网卡,该虚拟交换机15用于在物理网卡16与虚拟机12之间实现流量转发,比如将虚拟机12-14产生的流量通过物理网卡16向外转发,也可以将物理网卡16接收的流量转发至虚拟机12-14等。再例如,虚拟机12-14配置有对应的虚拟网卡,此时所述旧版本虚拟交换机与至少一台虚拟机相连可以视为旧版本虚拟交换机15与虚拟机12-14配置的对应虚拟网卡相连,从而旧版本虚拟交换机可以根据虚拟机12-14配置的虚拟网卡实现流量转发。
34.在一实施例中,新版本虚拟交换机加载待升级的配置信息,该待升级的配置信息可以是根据功能需求对应添加和/或删除的配置信息,也可以是修补旧版本虚拟交换机存在的漏洞时所需要的对应的配置信息。不难理解,当虚拟交换机热升级为版本回退时,此时的待升级的配置信息可以为之前版本对应的配置信息。换言之,本说明书所述的待升级的配置信息可以根据实际需求灵活适配。
35.步骤202、在所述旧版本虚拟交换机与所述新版本虚拟交换机之间建立流量通道,使所述新版本虚拟交换机通过所述旧版本虚拟交换机与所述物理网卡实现流量交互。
36.通过该流量通道,旧版本虚拟交换机可以在新版本虚拟交换机与物理网卡之间实现流量转发,比如将物理网卡发送至旧版本虚拟交换机的流量转发至新版本虚拟交换机,以及将新版本虚拟交换机产生的流量转发至物理网卡。那么,由于物理网卡只需要将流量正常转发至旧版本虚拟交换机,而由旧版本虚拟交换机转发至新版本虚拟机交换机,因而物理网卡不需要在硬件上具备复制流量的能力,即可确保新版本虚拟交换机能够获得物理网卡发出的流量,从而使得虚拟交换机热升级可以不依赖于物理网卡的硬件能力。
37.在一实施例中,控制端可以在旧版本虚拟交换机上配置第一虚拟网卡,以及在新版本虚拟交换机上配置第二虚拟网卡,从而使该第一虚拟网卡和该第二虚拟网卡之间形成虚拟网卡对,进而形成上述流量通道。本说明书所述的流量通道可以为新、旧版本虚拟交换机之间实现流量共享,不需要物理网卡复制流量并发送至新版本虚拟交换机,避免了因为硬件限制而无法实现虚拟交换机热升级。需要说明的是,本说明书所述的流量通道并非仅能通过虚拟网卡对来实现,本说明书对此不进行限制。
38.在一实施例中,旧版本虚拟交换机可以复制来自物理网卡的流量并通过该第一虚拟网卡发送至新版本虚拟交换机配置的第二虚拟网卡,从而实现流量共享。需要说明的是,本说明书所述的旧版本虚拟交换机也可以不进行复制而直接将来自物理网卡的流量发送至第二虚拟网卡,因为不论流量复制与否,上述新版本虚拟交换机均可以通过该流量通道获取对应流量,上述复制操作可以根据实际需求进行选择,本说明书对此不进行限制。
39.在一实施例中,所述旧版本虚拟交换机配置所述第一虚拟网卡后,可以持续发送来自物理网卡的流量至第二虚拟网卡;而所述新版本虚拟交换机配置所述第二虚拟网卡后,可以轮询所述第二虚拟网卡,以接收所述第一虚拟网卡转发的流量。例如旧版本虚拟交换机持续发送来自物理网卡的流量至第二虚拟网卡后,新版本虚拟交换机可以每隔300毫
秒查询该第二虚拟网卡是否接收到由第一虚拟网卡转发的流量。
40.通过旧版本虚拟交换机持续发送和新版本虚拟交换机轮询的步骤,可以确保新版本虚拟交换机在第一时间接收到第一虚拟网卡转发的流量,以及避免错过接收第一虚拟网卡转发的流量,同时轮询操作也可以减少因为持续查询所带来的性能消耗。
41.步骤203、控制所述至少一台虚拟机与所述旧版本虚拟交换机之间的连接断开,并在所述至少一台虚拟机与已完成升级的所述新版本虚拟交换机之间建立连接。
42.通过虚拟机与旧版本虚拟交换机之间的连接断开,并与新版本虚拟交换机之间建立连接,使得虚拟机从旧版本虚拟交换机重连至新版本虚拟交换机,而新版本虚拟交换机至少可以通过前述的流量通道与物理网卡之间实现间接的连通,从而由新版本虚拟交换机替代旧版本虚拟交换机在虚拟机与物理网卡之间实现流量转发。
43.在一实施例中,控制端可以控制旧版本虚拟交换机上所有的虚拟机同时断开连接,并同时与新版本虚拟交换机建立连接。不难看出,在虚拟机的数量在较低规模时,上述同时断开所有连接以及同时建立所有连接并不会造成中断或不会造成过长的中断。
44.在一实施例中,所述至少一台虚拟机可以被划分为多个组别,此时可以依次对各组别执行:断开相应组别的虚拟机与所述旧版本虚拟交换机之间的连接,并在已断开连接的虚拟机与已完成升级的所述新版本虚拟交换机之间建立连接。其中,每一组别包含一台或多台虚拟机。通过将与旧版本虚拟交换机建立连接的所有虚拟机划分为多个组别,并根据组别依次断开与旧版本虚拟交换机之间的连接以及依次建立与新版本虚拟交换机之间的连接,其中:已完成切换的虚拟机由新版本虚拟交换机来提供服务,而未完成切换(即仍与旧版本虚拟交换机连接)的虚拟机则由旧版本虚拟交换机提供服务,由此可以避免因虚拟机数量达到一定规模的情况下同时切换所带来的较长中断时长,使得不论虚拟机数量为多少时,都可以确保在用户无感知的前提下完成虚拟交换机热升级。需要说明的是,控制端可以控制每个组别的虚拟机数量,通过对数量的控制,既不会使得虚拟机数量所带来的压力增加至超出系统承受范围、避免造成服务中断或造成过长的服务中断,又可以相对提高迁移效率。并且,各组所含虚拟机的数量可以相同,也可以不相同,甚至可以根据系统运行状态进行动态调整,确保在系统压力与迁移效率之间维持动态平衡。例如,可以将与旧版本虚拟交换机连接的虚拟机划分为a、b、c三个组别,其中,a、b和c组均包含100台虚拟交换机,此时可以依次对a、b、c三组执行上述步骤,即,断开a组虚拟机与旧版本虚拟交换机之间的连接,并将a组虚拟机与已完成升级的新版本虚拟交换机之间建立连接。此时a组虚拟机完成切换,而b、c两组中的虚拟机未完成切换,则a组虚拟机由新版本虚拟交换机来提供服务,从而完成对应的流量交互,而b、c两组中的虚拟机由旧版本虚拟交换机来提供服务,从而完成对应的流量交互。在a组中的虚拟机完成切换后,再依次对b、c组执行上述步骤,即将b组中的虚拟机断开与旧版本虚拟交换机之间的连接,并在与已完成升级的新版本虚拟交换机之间建立连接,此时a组虚拟机和b组虚拟机由新版本虚拟交换机来提供服务,完成对应的流量交互,而c组中的虚拟机仍由旧版本虚拟交换机来提供服务,完成对应的流量切换。最后再对c组虚拟机执行上述步骤,即将c组中的虚拟机断开与旧版本虚拟交换机之间的连接,并在与已完成升级的新版本虚拟交换机之间建立连接,此时,a、b和c组的虚拟机均由新版本虚拟交换机来提供服务,并完成对应的流量交互。
45.在一实施例中,流量通道完成建立后,控制端可以分别发送第一切换请求至旧版
本虚拟交换机、发送第二切换请求至新版本虚拟交换机;其中,所述第一切换请求用于指示所述旧版本虚拟交换机断开与所述至少一台虚拟机的连接,所述第二切换请求用于指示所述新版本虚拟交换机建立与所述至少一台虚拟机的连接。在上述第一、第二切换请求的作用下,可以保证所述新、旧版本虚拟交换机有序进行虚拟机的切换操作。
46.在一实施例中,在至少一台虚拟机均已连接至新版本虚拟交换机的情况下,控制所述物理网卡与所述旧版本虚拟交换机断开,并连接至所述新版本虚拟交换机,以使所述新版本虚拟交换机与所述物理网卡之间实现流量转发。在所有虚拟机完成切换后,即所有虚拟机与所述旧版本虚拟交换机断开连接,并与新版本虚拟交换机建立连接后,控制端可以控制所述物理网卡与旧版本虚拟交换机断开,并连接至新版本虚拟交换机,此时旧版本虚拟交换机不再需要发送来自物理网卡的流量至新版本虚拟交换机上配置的第二虚拟网卡,而是直接由物理网卡发送流量至新版本虚拟交换机。在物理网卡与新版本虚拟交换机建立连接后,控制端可以停用并结束旧版本虚拟交换机,而由新版本虚拟交换机全权接管网络服务。实际上,在所有虚拟机均完成切换,即所有虚拟机均连接至新版本虚拟交换机后,旧版本虚拟交换机已无法再接收到虚拟机发送的流量,并且其网络服务已由新版本虚拟交换机全权接管,此时及时停用并结束旧版本虚拟交换机可以释放旧版本虚拟交换机占用的资源,减轻系统压力。但是需要说明的是,新版本虚拟交换机并非于物理网卡切换完成后才开始接管网络服务,新版本虚拟交换机在虚拟机切换至新版本虚拟交换机时即可提供网络服务,即旧版本虚拟交换机与新版本虚拟交换机在切换虚拟机的过程中,新、旧版本虚拟交换机均提供对应网络服务,而在物理网卡切换完成后新版本虚拟交换机全权接管网络服务,并且停用旧版本虚拟交换机。
47.在一实施例中,控制端确定预先统计的所述旧版本虚拟交换机连接的虚拟机的数量;在与所述旧版本虚拟交换机断开连接且与所述新版本虚拟交换机建立连接的虚拟机的数量达到确定的数量的情况下,确定所述至少一台虚拟机均已连接至所述新版本虚拟交换机。例如,控制端确定预先统计的旧版本虚拟交换机上有200台虚拟机,则在200台虚拟机依次切换至新版本虚拟交换机后,该控制端可以遍历检测上述200台虚拟机是否完成切换。当控制端确定上述200台虚拟机均已连接至新版本虚拟交换机后,控制端可以自动将物理网卡切换至新版本虚拟交换机,并停用、结束旧版本虚拟交换机,以使新版本虚拟交换机全权接管网络服务,实现虚拟交换机不中断服务的热升级。
48.本说明书所述的一种实现虚拟交换机热升级方法从而实现不中断服务的虚拟交换机热升级,不需要物理网卡具有复制流量的能力,从而使虚拟交换机热升级摆脱物理网卡硬件的限制,并且旧版本虚拟交换机与新版本虚拟交换机在切换虚拟机时,可以同时提供对应的网络服务,并不影响用户正常使用,最大程度保护了用户使用体验,在用户无感知的情况下,实现所述虚拟交换机的热升级。
49.为了便于理解,下面结合图1和图3对本说明书如何实现虚拟交换机热升级进行描述。其中,图3是本说明书一示例性实施例提供的一种对虚拟交换机进行热升级的示意图。
50.假定需要对如图1所示的虚拟交换机15进行热升级,此时可以认为图1所示的虚拟交换机15为旧版本虚拟交换机。为了便于理解,在图3中将上述的虚拟交换机15标注为旧版本虚拟交换机15。旧版本虚拟交换机15的上联口与物理网卡16形成逻辑连接,且旧版本虚拟交换机15的下联口与虚拟机12、虚拟机13和虚拟机14形成逻辑连接,该旧版本虚拟交换
机15通过上述两种虚拟接口可以实现虚拟机12、虚拟机13、虚拟机14和物理网卡16之间的流量交互。控制端10可以部署新版本虚拟交换机17,并由该新版本虚拟交换机17加载待升级的配置信息。举例而言,假如旧版本虚拟交换机15是由于存在系统漏洞而需要实现升级,那么此时该待升级的配置信息可以为修补上述系统漏洞所对应的配置信息,以确保新版本虚拟交换机17不再包含上述系统漏洞。
51.控制端10在完成上述部署新版本虚拟交换机17后,可以在旧版本虚拟交换机上配置第一虚拟网卡301,且同时控制端10在新版本虚拟交换机17上配置第二虚拟网卡302,使得第一虚拟网卡301与第二虚拟网卡302形成虚拟网卡对,继而基于该虚拟网卡对建立流量通道。旧版本虚拟交换机15持续将来自物理网卡16的流量通过第一虚拟网卡301发送至新版本虚拟交换机17上配置的第二虚拟网卡302,新版本虚拟交换机17每隔300毫秒轮询第二虚拟网卡302,从而使得新版本虚拟交换机17接收由旧版本虚拟交换机15通过第一虚拟网卡301发送的流量。需要说明的是,此时旧版本虚拟交换机15可以不复制物理网卡16发送的流量,而是直接发送该流量至新版本虚拟交换机17配置的第二虚拟网卡302,当然旧版本虚拟交换机15也可以复制该流量再发送至新版本虚拟交换机17配置的第二虚拟网卡302,本说明书对此不进行限制。
52.在新版本虚拟交换机17接收到由旧版本虚拟交换机15发送的流量后,控制端10发送第一切换请求至旧版本虚拟交换机15,且该控制端10发送第二切换请求至新版本虚拟交换机17,以使上述旧版本虚拟交换机15准备断开其所连接的虚拟机,并以使新版本虚拟交换机17准备与上述虚拟机建立连接。控制端10确定与旧版本虚拟交换机连接的虚拟机数量为3,即有3台虚拟机与旧版本虚拟交换机15相连,分别为虚拟机12、虚拟机13和虚拟机14,因为与该旧版本虚拟交换机15连接的虚拟机数量为3台,则可以将上述虚拟机分为a、b和c三组,a组包含虚拟机12,b组包含虚拟机13,c组包含虚拟机14。当然,如前所述,虚拟机的数量在一定范围内同时切换和分组切换所带来的中断时间均不会被用户感知,所以此时也可以同时切换虚拟机12、虚拟机13和虚拟机14。
53.旧版本虚拟交换机15基于第一切换请求,断开与a组虚拟机12的连接;新版本虚拟交换机17基于第二切换请求,建立与虚拟机12的连接,至此完成虚拟机12的切换工作,此时虚拟机12由新版本虚拟交换机17提供对应的网络服务,即由新版本虚拟交换机17实现对虚拟机12的报文转发工作,而此时虚拟机13和虚拟机14依旧由旧版本虚拟交换机15提供对应的网络服务。在完成对虚拟机12的切换后,开始执行b组虚拟机13的切换,旧版本虚拟交换机15断开与虚拟机13的连接;新版本虚拟交换机17建立与虚拟机13的连接。在完成对虚拟机13的切换后,开始执行c组虚拟机14的切换,旧版本虚拟交换机15断开与虚拟机14的连接,新版本虚拟交换机17建立与虚拟机14的连接。至此a、b和c三组的3台虚拟机,即虚拟机12、虚拟机13和虚拟机14均已完成切换,由新版本虚拟交换机17提供对应网络服务。控制端10根据预先统计的旧版本虚拟交换机15连接的虚拟机的数量,即3台虚拟机,确定虚拟机12、虚拟机13和虚拟机14均已连接至新版本虚拟交换机17,该控制端10自动将物理网卡16与旧版本虚拟交换机15的连接断开,并建立物理网卡16与新版本虚拟交换机17的连接,至此,新版本虚拟交换机17全权接管网络服务,不再需要流量通道来接收流量。控制端10在物理网卡16切换至新版本虚拟交换机17后,停用并结束旧版本虚拟交换机15,继而完成虚拟交换机的热升级。
54.由上述实施例可知,不论物理网卡16是否具有复制流量的能力,均可以通过本说明书提供的实现虚拟交换机热升级的方法对虚拟交换机15进行热升级,从而使虚拟交换机热升级摆脱物理网卡硬件的限制,并且旧版本虚拟交换15与新版本虚拟交换机17在分组依次切换虚拟机(虚拟机12、虚拟机13和虚拟机14)过程中,同时提供对应的网络服务,可以在用户几乎无感知的情况下,实现所述虚拟交换机的热升级。
55.相应于上述方法的实施例,本说明书还提供了装置的实施例。
56.图4是一示例性实施例提供的一种电子设备的示意结构图,请参考图4,在硬件层面,该电子设备包括处理器401、网络接口402、内存403、非易失性存储器404以及内部总线405,当然还可能包括其他功能所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
57.图5是一示例性实施例提供的一种实现虚拟交换机热升级的装置的框图,如图5所示,该装置包括:
58.部署单元501,用于针对旧版本虚拟交换机部署相应的新版本虚拟交换机,并由所述新版本虚拟交换机加载待升级的配置信息;其中,所述旧版本虚拟交换机分别与物理网卡、至少一台虚拟机相连,用于在所述物理网卡与所述至少一台虚拟机之间实现流量转发;
59.建立单元502,用于在所述旧版本虚拟交换机与所述新版本虚拟交换机之间建立流量通道,使所述新版本虚拟交换机通过所述旧版本虚拟交换机与所述物理网卡实现流量交互;
60.控制单元503,用于控制所述至少一台虚拟机与所述旧版本虚拟交换机之间的连接断开,并在所述至少一台虚拟机与已完成升级的所述新版本虚拟交换机之间建立连接。
61.可选地,所述建立单元502具体用于:
62.在所述旧版本虚拟交换机上配置第一虚拟网卡,以及在所述新版本虚拟交换机上配置第二虚拟网卡;其中,所述流量通道在所述第一虚拟网卡和所述第二虚拟网卡之间建立。
63.可选地,所述旧版本虚拟交换机用于持续将来自所述物理网卡的流量通过所述第一虚拟网卡转发至第二虚拟网卡;所述新版本虚拟交换机用于轮询所述第二虚拟网卡,以接收所述第一虚拟网卡转发的流量。
64.可选地,所述控制单元503具体用于:
65.在所述至少一台虚拟机被划分为多个组别的情况下,依次对各组别执行:断开相应组别的虚拟机与所述旧版本虚拟交换机之间的连接,并在已断开连接的虚拟机与已完成升级的所述新版本虚拟交换机之间建立连接;其中,每一组别包含一台或多台虚拟机。
66.可选地,所述控制单元503具体用于:
67.在所述流量通道完成建立后,分别发送第一切换请求至所述旧版本虚拟交换机、发送第二切换请求至所述新版本虚拟交换机;其中,所述第一切换请求用于指示所述旧版本虚拟交换机断开与所述至少一台虚拟机的连接,所述第二切换请求用于指示所述新版本虚拟交换机建立与所述至少一台虚拟机的连接。
68.可选地,所述装置还包括:
69.物理网卡控制单元504,用于在所述至少一台虚拟机均已连接至所述新版本虚拟交换机的情况下,控制所述物理网卡与所述旧版本虚拟交换机断开,并连接至所述新版本虚拟交换机,以使所述新版本虚拟交换机与所述物理网卡之间实现流量转发。
70.可选地,所述装置还包括:
71.确定单元505,用于确定预先统计的所述旧版本虚拟交换机连接的虚拟机的数量;在与所述旧版本虚拟交换机断开连接且与所述新版本虚拟交换机建立连接的虚拟机的数量达到确定的数量的情况下,确定所述至少一台虚拟机均已连接至所述新版本虚拟交换机。
72.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在相关方法的实施例中进行了详细描述,此处将不做详细阐述说明。
73.由以上本说明书提供的技术方案可见,本说明书所述的一种实现虚拟交换机热升级方法从而实现不中断服务的虚拟交换机热升级,不需要所述物理网卡具有复制流量的能力,从而使虚拟交换机热升级摆脱物理网卡硬件的限制,实现一种通用的虚拟交换机热升级方法,并且所述旧版本虚拟交换机与所述新版本虚拟交换机在切换所述虚拟机过程时,所述旧版本虚拟交换机与所述新版本虚拟交换机同时提供对应的网络服务,可以在用户几乎无感知的情况下,实现所述虚拟交换机的热升级。
74.对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
75.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
76.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
77.在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
78.应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区
分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
79.以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

技术特征:
1.一种实现虚拟交换机热升级的方法,其特征在于,所述方法包括:针对旧版本虚拟交换机部署相应的新版本虚拟交换机,并由所述新版本虚拟交换机加载待升级的配置信息;其中,所述旧版本虚拟交换机分别与物理网卡、至少一台虚拟机相连,用于在所述物理网卡与所述至少一台虚拟机之间实现流量转发;在所述旧版本虚拟交换机与所述新版本虚拟交换机之间建立流量通道,使所述新版本虚拟交换机通过所述旧版本虚拟交换机与所述物理网卡实现流量交互;控制所述至少一台虚拟机与所述旧版本虚拟交换机之间的连接断开,并在所述至少一台虚拟机与已完成升级的所述新版本虚拟交换机之间建立连接。2.根据权利要求1所述的方法,其特征在于,所述在所述旧版本虚拟交换机与所述新版本虚拟交换机之间建立流量通道,包括:在所述旧版本虚拟交换机上配置第一虚拟网卡,以及在所述新版本虚拟交换机上配置第二虚拟网卡;其中,所述流量通道在所述第一虚拟网卡和所述第二虚拟网卡之间建立。3.根据权利要求2所述的方法,其特征在于,所述旧版本虚拟交换机用于持续将来自所述物理网卡的流量通过所述第一虚拟网卡转发至所述第二虚拟网卡;所述新版本虚拟交换机用于轮询所述第二虚拟网卡,以接收所述第一虚拟网卡转发的流量。4.根据权利要求1所述的方法,其特征在于,所述控制所述至少一台虚拟机与所述旧版本虚拟交换机之间的连接断开,并在所述至少一台虚拟机与已完成升级的所述新版本虚拟交换机之间建立连接,包括:在所述至少一台虚拟机被划分为多个组别的情况下,依次对各组别执行:断开相应组别的虚拟机与所述旧版本虚拟交换机之间的连接,并在已断开连接的虚拟机与已完成升级的所述新版本虚拟交换机之间建立连接;其中,每一组别包含一台或多台虚拟机。5.根据权利要求1所述的方法,其特征在于,所述控制所述至少一台虚拟机与所述旧版本虚拟交换机之间的连接断开,并在所述至少一台虚拟机与已完成升级的所述新版本虚拟交换机之间建立连接,包括:在所述流量通道完成建立后,分别发送第一切换请求至所述旧版本虚拟交换机、发送第二切换请求至所述新版本虚拟交换机;其中,所述第一切换请求用于指示所述旧版本虚拟交换机断开与所述至少一台虚拟机的连接,所述第二切换请求用于指示所述新版本虚拟交换机建立与所述至少一台虚拟机的连接。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述至少一台虚拟机均已连接至所述新版本虚拟交换机的情况下,控制所述物理网卡与所述旧版本虚拟交换机断开,并连接至所述新版本虚拟交换机,以使所述新版本虚拟交换机与所述物理网卡之间实现流量转发。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:确定预先统计的所述旧版本虚拟交换机连接的虚拟机的数量;
在与所述旧版本虚拟交换机断开连接且与所述新版本虚拟交换机建立连接的虚拟机的数量达到确定的数量的情况下,确定所述至少一台虚拟机均已连接至所述新版本虚拟交换机。8.一种实现虚拟交换机热升级的装置,其特征在于,所述装置包括:部署单元,用于针对旧版本虚拟交换机部署相应的新版本虚拟交换机,并由所述新版本虚拟交换机加载待升级的配置信息;其中,所述旧版本虚拟交换机分别与物理网卡、至少一台虚拟机相连,用于在所述物理网卡与所述至少一台虚拟机之间实现流量转发;建立单元,用于在所述旧版本虚拟交换机与所述新版本虚拟交换机之间建立流量通道,使所述新版本虚拟交换机通过所述旧版本虚拟交换机与所述物理网卡实现流量交互;控制单元,用于控制所述至少一台虚拟机与所述旧版本虚拟交换机之间的连接断开,并在所述至少一台虚拟机与已完成升级的所述新版本虚拟交换机之间建立连接。9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至7中任一所述方法的步骤。10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7中任一所述方法的步骤。

技术总结
本说明书提供一种实现虚拟交换机热升级的方法及装置。所述方法包括:针对旧版本虚拟交换机部署相应的新版本虚拟交换机,并由所述新版本虚拟交换机加载待升级的配置信息;其中,所述旧版本虚拟交换机分别与物理网卡、至少一台虚拟机相连,用于在所述物理网卡与所述至少一台虚拟机之间实现流量转发;在所述旧版本虚拟交换机与所述新版本虚拟交换机之间建立流量通道,使所述新版本虚拟交换机通过所述旧版本虚拟交换机与所述物理网卡实现流量交互;控制所述至少一台虚拟机与所述旧版本虚拟交换机之间的连接断开,并在所述至少一台虚拟机与已完成升级的所述新版本虚拟交换机之间建立连接。建立连接。建立连接。


技术研发人员:高海峰 胡宝海 陈子康 祝顺民 李星
受保护的技术使用者:阿里云计算有限公司
技术研发日:2022.03.18
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-8974.html

最新回复(0)