业务不中断的虚拟交换机升级方法以及相关设备技术

技术编号:21308480 阅读:31 留言:0更新日期:2019-06-12 10:47
本申请公开了业务不中断的虚拟交换机升级方法以及相关设备,该方法包括:部署新版本虚拟交换机;配置新版本虚拟交换机的多种属性,所述多种属性中的每一种属性被配置为与所述旧版本虚拟交换机的所述每一种属性一致,所述多种属性包括端口对象、虚拟网络高级特性和流表规则;将代理模块与所述旧版本虚拟交换机的连接切换为所述代理模块与所述新版本虚拟交换机的连接;下发虚拟机信息至所述新版本虚拟交换机,以使所述虚拟机通过所述新版本虚拟交换机维持网络通信。实施本发明专利技术实施例能够在单主机中实现修复虚拟软交换机BUG或升级虚拟交换机软件版本时所运行网络通信业务基本不中断,满足虚拟交换机升级业务的应用需求。

Upgrading Method of Business Uninterrupted Virtual Switch and Related Equipment

This application discloses a business-uninterrupted virtual switch upgrade method and related equipment, which includes: deploying a new version of virtual switch; configuring multiple attributes of a new version of virtual switch, each of which is configured to be consistent with each of the attributes of the old version of virtual switch, including port object, virtual network, etc. Network advanced features and flow rules; switching the connection between the proxy module and the old version virtual switch to the connection between the proxy module and the new version virtual switch; sending virtual machine information to the new version virtual switch so that the virtual machine maintains network communication through the new version virtual switch. The implementation of the embodiment of the present invention can realize that the network communication service running when repairing the BUG of the virtual soft switch or upgrading the software version of the virtual switch can be basically uninterrupted in a single host to meet the application requirements of the upgrade service of the virtual switch.

【技术实现步骤摘要】
业务不中断的虚拟交换机升级方法以及相关设备
本专利技术涉及通信
,尤其涉及业务不中断的虚拟交换机升级方法以及相关设备。
技术介绍
虚拟机(VirtualMachine,VM)是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在云化环境中,为了充分利用一个物理主机的计算、存储和网络资源,会在一个主机上虚拟出多个VM,而各个VM之间通过虚拟交换机(VSWITCH)进行互联互通。虚拟交换机作为一种软件程序,会定期进行软件更新,如进行虚拟交换机版本升级,修复虚拟交换机漏洞BUG等等。对于单主机而言,进行虚拟交换机软件更新通常有两种实现方式:一种是安装重启的方式,也就是在安装新的虚拟交换机软件后,重启虚拟交换机使用的关键进程或者重启虚拟交换机所在主机,从而使得更新的虚拟交换机生效。然而,重启进程操作会涉及到虚拟交换机中虚拟端口以及流表的重建,容易导致虚拟机网络中断时间达到分钟级,而重启主机操作导致客户业务中断时间甚至更长,影响客户业务的进行,增加运维成本。另一种是热补丁方式,即动态修改软件程序中某个旧函数指向的地址,指向新函数,那么,所有对旧函数的调用都会被重定向到新函数,继而执行新函数,从而达到在不重启进程的情况下实现对于函数的动态替换。然而,这种升级方式存在多种缺陷(如无法支持版本更新中新增函数,无法修复只读数据段等等),实用性低,无法满足大多数虚拟交换机升级业务的应用需求。
技术实现思路
为了解决现有技术的缺陷,本专利技术实施例提供了业务不中断的虚拟交换机升级方法以及相关设备,以期在单主机中实现修复虚拟软交换机BUG或升级虚拟交换机软件版本时所运行网络通信业务基本不中断,满足虚拟交换机升级业务的应用需求。第一方面,本专利技术实施例提供了一种业务不中断的虚拟交换机升级方法,该方法应用于物理机,所述物理机包括虚拟机、旧版本虚拟交换机、以及与所述虚拟机和所述旧版本虚拟交换机连接的代理模块,所述代理模块中保存有虚拟机信息,所述虚拟机信息包括所述虚拟机用于网络通信的信息;所述方法包括:部署所述新版本虚拟交换机;配置新版本虚拟交换机的多种属性,其中,所述多种属性中的每一种属性被配置为与所述旧版本虚拟交换机的所述每一种属性一致,所述多种属性包括端口对象、虚拟网络高级特性和流表规则;将所述代理模块与所述旧版本虚拟交换机的连接切换为所述代理模块与所述新版本虚拟交换机的连接;下发所述虚拟机信息至所述新版本虚拟交换机,以使所述虚拟机通过所述新版本虚拟交换机维持网络通信。。在本专利技术实施例中,在虚拟交换机的升级更新开始前,所存在的虚拟交换机软件称下文简称为旧版本虚拟交换机,相应的,升级更新所使用的虚拟交换机软件简称称为新版本虚拟交换机。具体实现中,虚拟交换机作为一种软件程序,可安装于物理机。比如物理机中原先安装有旧版本虚拟交换机,在需要对旧版本虚拟交换机进进行性能升级或者修复BUG时,可在所述物理机中再部署一个新版本虚拟交换机,即在所述物理机中加载或安装新版本虚拟交换机。完成部署后,对新版本虚拟交换机进行配置,使得端口对象、虚拟网络高级特性、流表规则等等属性与旧版本虚拟交换机一致,此时新版本虚拟交换机还不能开始工作。然后再通过代理模块执行后续的连接切换,建立新版本虚拟交换机的与代理模块连接,虚拟机可通过代理模块与新版本虚拟交换机进行网络通信,从而保持切换前后网络通信的稳定。具体的,可预先获取并保存旧新版本虚拟交换机的配置内容(如端口对象、虚拟网络高级特性、流表规则等等),在部署新版本虚拟交换机后,基于所述配置内容,初始化端口对象,恢复虚拟网络高级特性,以及恢复流表规则,使得所述端口对象、所述虚拟网络高级特性、所述流表规则与旧版本虚拟交换机一致。其中,虚拟端口为虚拟交换机中虚拟的端口,用于报文的收发,和VM中的前端网口以及物理网口等网络设备相对应。端口对象包括:物理/绑定端口(即物理端口或者绑定端口)、虚拟主机端口和虚拟机端口,所述虚拟网络高级特性包括:虚拟局域网VLAN隔离、服务质量QOS、镜像端口MIRROR等等。流表规则为保存在虚拟交换机中的转发规则,用于报文的收发处理。其中,物理/绑定端口(eth/bond)为新/旧虚拟交换机上用于和物理网卡关联的端口,或新/旧虚拟交换机上用于和绑定设备关联的端口(/表示或),具体用于新/旧虚拟交换机和外部网络通信的上行链路口;虚拟主机端口(hnic)为新/旧虚拟交换机上用于和虚拟网卡设备关联的端口,用于提供物理主机的网络通信;虚拟机端口(vhostuser)为新/旧虚拟交换机上用于和虚拟机后端网卡关联或直接用于虚拟机直接使用的socket关联的端口类型。其中,在所述虚拟网络高级特性中,虚拟局域网(VirtualLocalAreaNetwork,VLAN)隔离为将不同的VLAN隔离的能力,所述VLAN是一种将局域网设备从逻辑上划分成一个个网段,从而实现虚拟工作组的新兴数据交换技术;服务质量(QualityofService,QoS)指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制,是用来解决网络延迟和阻塞等问题;镜像端口为通过在交换机或路由器上,将一个或多个源端口的数据流量转发到某一个指定端口来实现对网络的监听,指定端口称之为“镜像端口”或“目的端口”。其中,流表规则具体为保存在新/旧虚拟交换机中的转发规则,用于报文的收发处理。当前流表恢复依赖上层管理进程中保存的流表规则信息进行恢复。具体的,其中,所述虚拟机信息包括所述虚拟机进行网络通信的信息,用于实现网络业务操作,如进行数据包/报文转发等。例如虚拟机信息包括虚拟环vringtable、内存信息meminfo和仿真器通用唯一标识QEMUUUID等等。其中,vring_table保存前后端通信时,使用的收发包vring的desc、avail、used、kickfd等信息;meminfo保存虚拟机region的信息,region包括虚拟机物理地址、内存大小、用户地址、地址偏移等;QEMUUUID表示虚拟机实例的通用唯一识别码。新版本虚拟交换机接收所述虚拟机信息后,就可以基于所述虚拟机信息接替旧版本虚拟交换机的工作,持续进行网络业务操作。本专利技术实施例中的新/旧版本虚拟交换机均支持在线热替换功能。在具体实现中,可在现有开源虚拟软交换机的基础上进行功能扩展,以实现支持两个新/旧版本虚拟交换机共存不影响。支持新/旧版本虚拟交换机同名虚拟端口;共享虚拟主机网卡设备、绑定设备、物理网卡设备;支持动态使能和去使能虚拟交换机各类型端口、关键进程的能力,从而实现了新/旧版本虚拟交换机在线热替换的能力。可以看到,由于新版本虚拟交换机的内容配置(如端口对象、虚拟网络高级特性、流表规则等)已经提前在连接切换之前完成,那么,一方面,在后端连接切换过程中,前端虚拟机与代理模块依旧保持连接状态,也就是说虚拟机不感知后端的切换;另一方面,在后端连接切换过程中,只需断开旧连接、建立新连接,所以能够快速地完成整个切换过程,切换时间甚至可以达到毫秒级,切换后虚拟机将可以通过所述代理模块与所述新版本虚拟交换机进行通信连接,从而保持了虚拟机网络通信基本不受切换的影响。所以,本专利技术实施例能够保证虚拟机网络业务基本文档来自技高网...

【技术保护点】
1.一种业务不中断的虚拟交换机升级方法,其特征在于,应用于物理机,所述物理机包括虚拟机、旧版本虚拟交换机、以及与所述虚拟机和所述旧版本虚拟交换机连接的代理模块,所述代理模块中保存有虚拟机信息,所述虚拟机信息包括所述虚拟机用于网络通信的信息;所述方法包括:部署新版本虚拟交换机;配置所述新版本虚拟交换机的多种属性,其中,所述多种属性中的每一种属性被配置为与所述旧版本虚拟交换机的所述每一种属性一致,所述多种属性包括端口对象、虚拟网络高级特性和流表规则;将所述代理模块与所述旧版本虚拟交换机的连接切换为所述代理模块与所述新版本虚拟交换机的连接;下发所述虚拟机信息至所述新版本虚拟交换机,以使所述虚拟机通过所述新版本虚拟交换机维持网络通信。

【技术特征摘要】
1.一种业务不中断的虚拟交换机升级方法,其特征在于,应用于物理机,所述物理机包括虚拟机、旧版本虚拟交换机、以及与所述虚拟机和所述旧版本虚拟交换机连接的代理模块,所述代理模块中保存有虚拟机信息,所述虚拟机信息包括所述虚拟机用于网络通信的信息;所述方法包括:部署新版本虚拟交换机;配置所述新版本虚拟交换机的多种属性,其中,所述多种属性中的每一种属性被配置为与所述旧版本虚拟交换机的所述每一种属性一致,所述多种属性包括端口对象、虚拟网络高级特性和流表规则;将所述代理模块与所述旧版本虚拟交换机的连接切换为所述代理模块与所述新版本虚拟交换机的连接;下发所述虚拟机信息至所述新版本虚拟交换机,以使所述虚拟机通过所述新版本虚拟交换机维持网络通信。2.根据权利要求1所述的方法,其特征在于,所述将所述代理模块与所述旧版本虚拟交换机的连接切换为所述代理模块与所述新版本虚拟交换机的连接,包括:停用所述旧版本虚拟交换机的端口对象,以断开所述代理模块与所述旧版本虚拟交换机的连接;启用所述新版本虚拟交换机的端口对象,以建立所述新版本虚拟交换机和所述代理模块之间的连接。3.根据权利要求2所述的方法,其特征在于,在所述停用所述旧版本虚拟交换机的端口对象之后,所述方法还包括:停止所述旧版本虚拟交换机的关键进程。在所述启用所述新版本虚拟交换机的端口对象之后,所述方法还包括:启动所述新版本虚拟交换机的关键进程;其中,所述关键进程包括转发进程、报文上送处理线程和校验线程。4.根据权利要求2或3所述的方法,其特征在于,在所述代理模块中设置有代理客户端client;所述停用所述旧版本虚拟交换机的端口对象,以断开所述代理模块与所述旧版本虚拟交换机的连接,包括:停用所述旧版本虚拟交换机的后端网口vhostsever,以断开所述代理客户端client与所述旧版本虚拟交换机的后端网口vhostsever的连接;所述启用所述新版本虚拟交换机的端口对象,以建立所述新版本虚拟交换机和所述代理模块之间的连接,包括:启用新版本虚拟交换机的后端网口vhostsever,以建立所述代理客户端client与所述新版本虚拟交换机的后端网口vhostsever的连接。5.根据权利要求4所述的方法,其特征在于,在所述代理模块中还设置有代理服务端server;所述代理服务端server与所述虚拟机的前端网口vhostclient连接,在将所述代理模块与所述旧版本虚拟交换机的连接切换为所述代理模块与所述新版本虚拟交换机的连接的过程中,所述代理服务端server与所述虚拟机的前端网口vhostclient的连接维持不变。6.根据权利要求1至5任一项所述的方法,其特征在于,其中,所述端口对象包括物理或绑定端口、虚拟主机端口和虚拟机端口;所述虚拟网络高级特性包括虚拟局域网VLAN隔离、服务质量QOS和镜像端口MIRROR;所述流表规则为用于进行报文转发的规则。7.一种业务不中断的虚拟交换机升级方法,其特征在于,应用于物理机,所述物理机包括虚拟机,以及与所述虚拟机连接的旧版本虚拟交换机,所述虚拟机支持主备连接,所述虚拟机与所述旧版本虚拟交换机之间的连接为主连接;所述方法包括:部署新版本虚拟交换机;配置所述新版本虚拟交换机的多种属性,以使得所述多种属性中的每一种属性与所述旧版本虚拟交换机的所述每一种属性一致,所述多种属性包括端口对象、虚拟网络高级特性和流表规则;建立备连接,所述备连接为所述虚拟机与所述新版本虚拟交换机之间的连接;通过所述备连接下发所述虚拟机所保存的虚拟机信息至所述新版本虚拟交换机;所述虚拟机信息包括所述虚拟机进行网络通信的信息;切换所述虚拟机与所述新版本虚拟交换机之间的连接为主连接,以使所述虚拟机通过所述新版本虚拟交换机维持网络通信。8.根据权利要求7所述的方法,其特征在于,所述切换所述虚拟机与所述新版本虚拟交换机之间的连接为主连接,包括:停用所述旧版本虚拟交换机的端口对象,以及启用所述新版本虚拟交换机的端口对象;其中,所述端口对象包括物理/绑定端口、虚拟主机端口和虚拟机端口。9.根据权利要求8所述的方法,其特征在于,在所述停用所述旧版本虚拟交换机的端口对象之后,还包括:停止所述旧版本虚拟交换机的关键进程;在所述启用所述新版本虚拟交换机的端口对象之后,还包括:启动所述新版本虚拟交换机的关键进程;所述关键进程包括转发进程、报文上送处理线程和校验线程。10.根据权利要求8或9任一项所述的方法,其特征在于,所述虚拟机中设置有前端网口vhostsever,所述前端网口vhostsever支持主备连接;在所述旧版本虚拟交换机中包括第一后端网口vhostclient,所述主连接为第一后端网口vhostclient与所述前端网口vhostsever的连接;所述新版本虚拟交换机中包括第二后端网口vhostclient,所述备连接为所述新版本虚拟交换机中的第二后端网口vhostclient与所述前端网口vhostsever的连接。11.根据权利要求10所述的方法,其特征在于,所述停用所述旧版本虚拟交换机的端口对象包括:停用所述第一后端网口vhostclient;所述启用所述新版本虚拟交换机的端口对象,包括:启用所述第二后端网口vhostclient。12.根据权利要求10或11所述的方法,其特征在于,所述通过所述备连接下发所述虚拟机所保存的虚拟机信息至所述新版本虚拟交换机,包括:通过所述前端网口vhostsever下发所述虚拟机所保存的虚拟机信息至所述第二后端网口vhostclient。13.根据权利要求10至12任一项所述的方法,其特征在于,所述前端网口vhostsever支持主备连接,包括:在前端网口vhostsever中以队列或者数组的形式保存所述第一后端网口vhostclient和所述第二后端网口vhostclient的连接信息;所述前端网口vhostsever基于所述连接信息支持主备连接。14.一种设备,其特征在于,所述设备应用于物理机,所述物理机包括虚拟机、旧版本虚拟交换机、以及与所述虚拟机和所述旧版本虚拟交换机连接的代理模块,所述代理模块中保存有虚拟机信息,所述虚拟机信息包括所述虚拟机用于网络通信的信息;所述设备包括:部署模块,用于部署新版本虚拟交换机;配置模块,用于配置所述新版本虚拟交换机的多种属性,其中,所述多种属性中的每一种属性被配置为与所述旧版本虚拟交换机的所述每一种属性一致,所述多种属性包括端口对象、虚拟网络高...

【专利技术属性】
技术研发人员:尹培军汪翰林
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1