虚拟交换机的升级方法及装置.pdf

上传人:1****2 文档编号:1684780 上传时间:2018-07-04 格式:PDF 页数:17 大小:1.15MB
返回 下载 相关 举报
摘要
申请专利号:

CN201510190818.9

申请日:

2015.04.21

公开号:

CN104780071A

公开日:

2015.07.15

当前法律状态:

实审

有效性:

审中

法律详情:

著录事项变更IPC(主分类):H04L 12/24变更事项:申请人变更前:杭州华三通信技术有限公司变更后:新华三技术有限公司变更事项:地址变更前:310052 浙江省杭州市滨江区长河路466号变更后:310052 浙江省杭州市滨江区长河路466号|||实质审查的生效IPC(主分类):H04L 12/24申请日:20150421|||公开

IPC分类号:

H04L12/24; G06F9/455

主分类号:

H04L12/24

申请人:

杭州华三通信技术有限公司

发明人:

王海

地址:

310052浙江省杭州市滨江区长河路466号

优先权:

专利代理机构:

北京博思佳知识产权代理有限公司11415

代理人:

林祥

PDF下载: PDF下载
内容摘要

本发明提供一种虚拟交换机的升级方法及装置,该方法应用于主控制设备上,主控制设备与至少一个其他控制设备构成集群,集群中的各控制设备分别与至少两个服务器相连,每个服务器上安装有OVS,每个OVS连接至少一个虚拟机;该方法包括:基于第二OVS为迁入虚拟机所做的端口配置更新所存储的虚拟机信息;基于所更新的虚拟机信息将虚拟机热迁移到第二OVS下;基于第一OVS为迁出虚拟机所做的端口配置为虚拟机信息中的对应信息添加标识;基于所标识的信息对第一OVS进行升级;在升级完成之后,基于所标识的信息将虚拟机从第二OVS迁回完成升级的第一OVS上。本发明能够保证升级OVS的过程中虚拟机不下线不断流,不影响用户体验。

权利要求书

权利要求书1.  一种虚拟交换机的升级方法,其特征在于,所述方法应用于主控制设 备上,所述主控制设备与至少一个其他控制设备构成集群,所述集群中的各 控制设备分别与至少两个服务器相连,每个所述服务器上安装有开放虚拟交 换机OVS,每个所述OVS连接至少一个虚拟机;所述方法包括: 基于第二OVS为迁入虚拟机所做的端口配置,更新所存储的虚拟机信息, 要迁入所述第二OVS的虚拟机为与第一OVS连接的上线虚拟机; 基于所更新的虚拟机信息将所述虚拟机热迁移到所述第二OVS下; 基于所述第一OVS为迁出虚拟机所做的端口配置,为所述虚拟机信息中 的对应信息添加标识; 基于所标识的信息对所述第一OVS进行升级; 在所述升级完成之后,基于所标识的信息将所述虚拟机从所述第二OVS 迁回完成升级的所述第一OVS上。 2.  根据权利要求1所述的方法,其特征在于,所述基于第二OVS为迁 入虚拟机所做的端口配置,更新所存储的虚拟机信息,包括: 确定迁出虚拟机的待升级第一OVS和迁入虚拟机的第二OVS; 向所述其他控制设备发送迁移标记消息,所述迁移标记消息中携带有所 述虚拟机的标识、所述虚拟机将与所述第二OVS连接的第二地址及第二端口 信息,以使所述其他控制设备基于所述迁移标记消息中携带的信息更新各自 存储的虚拟机信息; 向所述第二OVS发送迁移准备消息及更新流表的通知消息,所述迁移准 备消息中携带有所述虚拟机的标识、所述第二地址及所述第二端口信息,以 使所述第二OVS基于所述迁移准备消息中携带的信息为迁入虚拟机配置第 二端口和更新流表; 基于所述第二OVS完成端口配置之后上报的第二端口状态信息,更新所 述虚拟机信息; 将所述第二端口状态信息发送给所述其他控制设备,以使所述其他控制 设备基于所述第二端口状态信息更新各自存储的虚拟机信息。 3.  根据权利要求2所述的方法,其特征在于,所述确定迁入虚拟机的第 二OVS,包括: 获取所述第一OVS所在第一服务器上的虚拟机数据; 基于所述虚拟机数据中的没有使用共享存储的上线虚拟机的数量,确定 是否需要为所述第一OVS连接的上线虚拟机建立临时共享存储; 若是,基于所述没有使用共享存储的上线虚拟机的数量确定用于建立所 述临时共享存储的第二服务器; 将所述第二服务器连接的OVS确定为第二OVS。 4.  根据权利要求1所述的方法,其特征在于,所述基于所述第一OVS 为迁出虚拟机所做的端口配置,为所述虚拟机信息中的对应信息添加标识, 包括: 接收所述第一OVS在迁出所述虚拟机之后上报的第一端口状态信息; 基于所述第一端口状态信息中的第一标识,对所述虚拟机信息中的对应 信息添加标识; 基于所添加的标识向所述第一OVS发送更新流表的通知; 将所述第一端口状态信息发送给所述其他控制设备,以使所述其他控制 设备基于所述第一端口状态信息在各自存储的虚拟机信息中添加所述标识。 5.  根据权利要求1所述的方法,其特征在于,所述将所述虚拟机热迁移 到所述第二OVS下之后,所述方法还包括: 基于所存储的OVS配置信息、所述端口信息对升级后的所述OVS进行 配置。 6.  根据权利要求1所述的方法,其特征在于,所述基于所标识的信息将 所述虚拟机从所述第二OVS迁回完成升级的所述第一OVS上,包括: 向所述第一OVS发送迁移准备消息,及更新流表的通知消息,所述迁移 准备消息中携带有所述虚拟机的标识、所述虚拟机与所述第一OVS连接的第 一地址及第一端口信息,以使所述第一OVS基于所述迁移准备消息中携带的 信息为迁入虚拟机配置第一端口和更新流表; 基于所述第一OVS完成端口配置之后上报的第一端口状态信息,更新所 述虚拟机信息; 基于所述第二OVS在迁出所述虚拟机之后上报的第二端口状态信息中 携带的第二标识,删除所述虚拟机信息中的第二端口信息和第二地址; 将所述第二端口状态信息发送给所述其他控制设备,以使所述其他控制 设备基于所述第二端口状态信息更新各自存储的虚拟机信息。 7.  根据权利要求1-6任一项所述的方法,其特征在于,所述虚拟机信息 包括虚拟机地址、与虚拟机所连接端口的端口信息。 8.  一种虚拟交换机的升级装置,其特征在于,所述装置应用于主控制设 备上,所述主控制设备与至少一个其他控制设备构成集群,所述集群中的各 控制设备分别与至少两个服务器相连,每个所述服务器上安装有开放虚拟交 换机OVS,每个所述OVS连接至少一个虚拟机;所述装置包括: 信息更新单元,用于基于第二OVS为迁入虚拟机所做的端口配置,更新 所存储的虚拟机信息,要迁入所述第二OVS的虚拟机为与第一OVS连接的 上线虚拟机; 迁出单元,用于基于所更新的虚拟机信息将所述虚拟机热迁移到所述第 二OVS下; 标识添加单元,用于基于所述第一OVS为迁出虚拟机所做的端口配置, 为所述虚拟机信息中的对应信息添加标识; 升级单元,用于基于所标识的信息对所述第一OVS进行升级; 迁回单元,用于在所述升级完成之后,基于所标识的信息将所述虚拟机 从所述第二OVS迁回完成升级的所述第一OVS上。 9.  根据权利要求8所述的装置,其特征在于,所述信息更新单元包括: 确定子单元,用于确定迁出虚拟机的待升级第一OVS和迁入虚拟机的第 二OVS; 迁移标记消息发送子单元,用于向所述其他控制设备发送迁移标记消息, 所述迁移标记消息中携带有所述虚拟机的标识、所述虚拟机将与所述第二 OVS连接的第二地址及第二端口信息,以使所述其他控制设备基于所述迁移 标记消息中携带的信息更新各自存储的虚拟机信息; 通知消息发送子单元,用于向所述第二OVS发送迁移准备消息及更新流 表的通知消息,所述迁移准备消息中携带有所述虚拟机的标识、所述第二地 址及所述第二端口信息,以使所述第二OVS基于所述迁移准备消息中携带的 信息为迁入虚拟机配置第二端口和更新流表; 第一更新子单元,用于基于所述第二OVS完成端口配置之后上报的第二 端口状态信息,更新所述虚拟机信息; 第二端口状态信息发送子单元,用于将所述第二端口状态信息发送给所 述其他控制设备,以使所述其他控制设备基于所述第二端口状态信息更新各 自存储的虚拟机信息。 10.  根据权利要求9所述的装置,其特征在于,所述确定子单元包括: 虚拟机数据获取子单元,用于获取所述第一OVS所在第一服务器上的虚 拟机数据; 共享存储确定子单元,用于基于所述虚拟机数据中的没有使用共享存储 的上线虚拟机的数量,确定是否需要为所述第一OVS连接的上线虚拟机建立 临时共享存储; 第二服务器确定子单元,用于在所述共享存储子单元确定为是时,基于 所述没有使用共享存储的上线虚拟机的数量确定用于建立所述临时共享存储 的第二服务器; 第二OVS确定子单元,用于将所述第二服务器连接的OVS确定为第二 OVS。 11.  根据权利要求8所述的装置,其特征在于,所述标识添加单元包括: 第一端口状态信息接收子单元,用于接收所述第一OVS在迁出所述虚拟 机之后上报的第一端口状态信息; 标识添加子单元,用于基于所述第一端口状态信息中的第一标识,对所 述虚拟机信息中的对应信息添加标识; 更新流表通知子单元,用于基于所添加的标识向所述第一OVS发送更新 流表的通知; 第一端口状态信息发送子单元,用于将所述第一端口状态信息发送给所 述其他控制设备,以使所述其他控制设备基于所述第一端口状态信息在各自 存储的虚拟机信息中添加所述标识。 12.  根据权利要求8所述的装置,其特征在于,所述装置还包括: 配置单元,用于基于所存储的OVS配置信息、所述端口信息对升级后的 所述OVS进行配置。 13.  根据权利要求8所述的装置,其特征在于,所述迁回单元包括: 迁移准备消息发送子单元,用于向所述第一OVS发送迁移准备消息,及 更新流表的通知消息,所述迁移准备消息中携带有所述虚拟机的标识、所述 虚拟机与所述第一OVS连接的第一地址及第一端口信息,以使所述第一OVS 基于所述迁移准备消息中携带的信息为迁入虚拟机配置第一端口和更新流表; 第二更新子单元,用于基于所述第一OVS完成端口配置之后上报的第一 端口状态信息,更新所述虚拟机信息; 删除子单元,用于基于所述第二OVS在迁出所述虚拟机之后上报的第二 端口状态信息中携带的第二标识,删除所述虚拟机信息中的第二端口信息和 第二地址; 发送子单元,用于将所述第二端口状态信息发送给所述其他控制设备, 以使所述其他控制设备基于所述第二端口状态信息更新各自存储的虚拟机信 息。 14.  根据权利要求8-13任一项所述的装置,其特征在于,所述信息更新 单元更新的所述虚拟机信息包括虚拟机地址、与虚拟机所连接端口的端口信 息。

说明书

说明书虚拟交换机的升级方法及装置
技术领域
本发明涉及网络通信技术领域,尤其涉及一种虚拟交换机的升级方法及 装置。
背景技术
OVS(Open Virtual Switch,开放虚拟交换机)是能够支持多种标准的管 理接口和协议,并且能支持多个物理服务器的分布式环境的虚拟交换机。
当服务器上的OVS需要进行升级时,在升级之前需要把该服务器下的所 有上线虚拟机都下线,还需要删除该服务器上的所有OVS端口信息,然后由 控制组件控制服务器去进行OVS版本的更新和升级。
由此可见,在现有技术中,在OVS的升级过程中其所在的服务器下的所 有虚拟机业务全部中断,而整个网络的虚拟机下线断流的情况会极大地降低 整个网络的效率,影响用户体验。
发明内容
本发明提供虚拟交换机的升级方法及装置,以解决现有技术中OVS升级 导致虚拟机业务中断以及网络效率低下的问题。
根据本发明实施例的第一方面,提供一种虚拟交换机的升级方法,所述 方法应用于主控制设备上,所述主控制设备与至少一个其他控制设备构成集 群,所述集群中的各控制设备分别与至少两个服务器相连,每个所述服务器 上安装有开放虚拟交换机OVS,每个所述OVS连接至少一个虚拟机;所述 方法包括:
基于第二OVS为迁入虚拟机所做的端口配置,更新所存储的虚拟机信息, 要迁入所述第二OVS的虚拟机为与第一OVS连接的上线虚拟机;
基于所更新的虚拟机信息将所述虚拟机热迁移到所述第二OVS下;
基于所述第一OVS为迁出虚拟机所做的端口配置,为所述虚拟机信息中 的对应信息添加标识;
基于所标识的信息对所述第一OVS进行升级;
在所述升级完成之后,基于所标识的信息将所述虚拟机从所述第二OVS 迁回完成升级的所述第一OVS上。
根据本发明实施例的第二方面,提供一种虚拟交换机的升级装置,所述 装置应用于主控制设备上,所述主控制设备与至少一个其他控制设备构成集 群,所述集群中的各控制设备分别与至少两个服务器相连,每个所述服务器 上安装有开放虚拟交换机OVS,每个所述OVS连接至少一个虚拟机;所述 装置包括:
信息更新单元,用于基于第二OVS为迁入虚拟机所做的端口配置,更新 所存储的虚拟机信息,要迁入所述第二OVS的虚拟机为与第一OVS连接的 上线虚拟机;
迁出单元,用于基于所更新的虚拟机信息将所述虚拟机热迁移到所述第 二OVS下;
标识添加单元,用于基于所述第一OVS为迁出虚拟机所做的端口配置, 为所述虚拟机信息中的对应信息添加标识;
升级单元,用于基于所标识的信息对所述第一OVS进行升级;
迁回单元,用于在所述升级完成之后,基于所标识的信息将所述虚拟机 从所述第二OVS迁回完成升级的所述第一OVS上。
由以上技术方案可见,本发明通过基于第二OVS在迁入虚拟机之前所 做的端口配置和第一OVS在迁出虚拟机之后做的端口配置,更新所存储的虚 拟机信息,及更新第一OVS和第二OVS所在服务器的流表,保证了升级过 程中虚拟机不下线不断流,与现有技术中升级OVS之前要将上线虚拟机下线 以及清除OVS端口信息相比,简化了操作,而且能够保证升级之后快速恢复 到升级之前的网络环境,不影响用户体验。
附图说明
图1是本发明虚拟交换机的更新实施例的应用场景示意图;
图2是本发明虚拟交换机的升级方法的一个实施例流程图;
图3是为本发明虚拟交换机的升级方法中更新虚拟机信息的一个实施例 流程图;
图4是本发明虚拟交换机的升级装置的一种硬件结构图;
图5是本发明虚拟交换机的升级装置的一个实施例框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使 本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对 本发明实施例中技术方案作进一步详细的说明。
参见图1,为本发明虚拟交换机的更新实施例的应用场景示意图。
图1示出了一种网络架构,该网络架构包括至少两个控制设备,各控制 设备连接有若干个服务器,各服务器上安装有用于承担交换功能的OVS的软 件,各OVS连接若干台虚拟机。需要说明的是,多个控制设备构成控制设备 集群,控制设备集群中的一个控制设备作为主(leader)控制设备,对其他控 制设备进行控制。各OVS的信息都会在集群的各个控制设备中进行同步。各 控制设备下的服务器至少为两个,各OVS下的虚拟机至少为一个,为了示例 方便,图1中仅示出了两台控制设备11和12,控制设备11连接两台服务器 121和122,其中,服务器121上安装有OVS 131,并且OVS 131连接虚拟 机141,服务器122上安装有OVS 132,并且OVS 132连接虚拟机142;控 制设备12连接两台服务器123和124,服务器123上安装有OVS 133,并且 OVS 133连接虚拟机143,服务器124上安装有OVS 134,并且OVS 134连 接虚拟机144。
具体而言,该网络架构可以为VCF(Virtual Converged Framework,虚 拟融合架构),或SDN(Software Defined Network,软件定义网络)架构。 其中主控制设备即VCF或SDN架构的核心控制组件(Controller)。以SDN 架构为例,OVS通常可以通过下述方式进行报文的转发:主控制设备通过 Openflow(开放流)协议给OVS下发流表,该流表存储在服务器的DB(Data  Base,数据库)上,OVS基于该流表将VM(Virtual Machine,虚拟机)转 发的流量都存储到OVS上,再进行进一步的转发。
本发明实施例提供的虚拟交换机的升级方法及装置,将与待升级OVS 连接的上线虚拟机热迁移到其他OVS下,再对待升级OVS进行升级,这个 过程中,VCF主控制设备或SDN主控制设备基于迁移所对应的源OVS(即 待升级OVS)和目的OVS为迁移所做的端口配置而及时更新端口信息,并 且源OVS和目的OVS也基于对端口所做的配置更新本地流表,然后源OVS 在升级之后将迁出的虚拟机热迁移回来,从而保证了升级过程中虚拟机不下 线不断流,保证了用户的网络体验。下面结合具体实施例对本发明的实现过 程进行详细描述。
参见图2,为本发明虚拟交换机的升级方法的一个实施例流程图,该实 施例从主控制设备侧进行描述,包括如下步骤:
步骤201、基于第二OVS为迁入虚拟机所做的端口配置,更新所存储的 虚拟机信息。
其中,虚拟机信息包括vPort(虚拟端口)表项中的虚拟机地址、虚拟机 所连接端口的端口信息。端口信息包括OVS与虚拟机相连接端口的端口号、 与端口绑定的一些信息例如QoS(Quality of Service,服务质量)流量限制、 优先级信息等,还包括端口策略。
在一个可选的实现方式中,如图3所示,步骤201可以通过下述方式实 现:
步骤2011、确定迁出虚拟机的待升级第一OVS和迁入虚拟机的第二OVS。
对于待升级第一OVS,主控制设备通常可以确定与其连接的所有服务器 都需要升级OVS。对于各待升级OVS的升级顺序,可以以随机的顺序进行 升级,也可以按照OVS的序号或服务器的序号依次升级,本实施例不限制各 OVS、各服务器的升级顺序。
对于第二OVS,主控制设备基于待升级OVS所在服务器上的虚拟机数 据确定要迁入虚拟机的目的OVS。待升级OVS上连接的所有上线虚拟机都 为待迁出虚拟机。
由于在OVS完成升级之后,还会把迁出的虚拟机迁移回来,为了便于描 述,以下将源OVS,即要迁出虚拟机的待升级OVS称之为第一OVS,将第 一OVS所在的服务器称之为第一服务器,将待迁出虚拟机在第一OVS上所 连接的端口称之为第一端口,相应的端口信息为第一端口信息,将待迁出虚 拟机在第一服务器上的地址称之为第一地址;将要迁入虚拟机的目的OVS 称之为第二OVS,将第二OVS所在的服务器称之为第二服务器,将待迁出 虚拟机将在第二OVS上所连接的端口称之为第二端口,相应的端口信息为第 二端口信息,将待迁出虚拟机将在第二服务器上的地址称之为第二地址。也 就是说,在第一OVS升级之前,将与第一OVS连接的上线虚拟机迁移到第 二OVS,在第一OVS完成升级之后,将迁出的虚拟机从第二OVS迁回第一 OVS。
首先,获取第一OVS所在服务器上的虚拟机数据。
具体而言,在一个可选的实现方式中,各服务器可以与云平台连接,由 云平台对服务器进行统一管理,云平台上存储有各服务器的信息,包括虚拟 机数据、各服务器的运行参数等信息。主控制设备可以从云平台上获取虚拟 机数据。本实施例中,主控制设备和云平台都支持并提供API(Application  Programming Interface,应用程序编程接口),主控制设备通过调用云平台的 API能够获取到各服务器上的虚拟机数据。该云平台可以为Openstack(开源 的云计算管理平台)、Virtual Machine Ware Center(虚拟机软件中心)等。
其中虚拟机数据可以包括各服务器下面的上线虚拟机的数量、下线虚拟 机的数量以及上线虚拟机中没有使用共享存储的数量。共享存储为在服务器 或存储器下设置的,能够供其他服务器共享使用的存储空间,可以由用户预 先设置,以便热迁移时使用。
然后,主控制设备基于所获取到的虚拟机数据判断是否需要为第一OVS 所连接的待迁出虚拟机建立临时共享存储。如果判断为需要为待迁出虚拟机 建立临时共享存储,则选择能够建立临时共享存储的第二服务器,并在第二 服务器上建立临时共享存储,并将第二服务器上的OVS作为第二OVS。
当虚拟机数据中没有使用共享存储的上线虚拟机的数量为0时,控制设 备判断为不需要为待迁出虚拟机建立临时共享存储,这种情况下由于待迁出 虚拟机已使用共享存储,因而可以直接将待迁出虚拟机热迁移到其使用的共 享存储所在的服务器下;当没有使用共享存储的待迁出虚拟机的数量至少为 1时,主控制设备判断为需要为待迁出虚拟机建立临时共享存储。
该建立临时共享存储的过程可以为,首先,主控制设备可以通知云平台 需要建立临时共享存储。
其次,云平台基于与第一OVS连接的没有使用共享存储的上线虚拟机的 数量来计算热迁移所需的存储空间大小。
然后,云平台基于所计算出的存储空间大小确定用于设置临时共享存储 的一个或多个第二服务器。
在一个可选的实现方式中,云平台基于所存储的各服务器的数据信息计 算各服务器的硬盘空间大小,并将计算出的硬盘空间大小与上述存储空间大 小进行比较,如果至少一个服务器的硬盘空间大小大于所计算出的存储空间 大小,则从这些服务器中选择一个服务器作为第二服务器。优选地,将这些 服务器中硬盘空间最大的服务器作为第二服务器。在确定当前硬盘空间最大 的服务器时可以采用如下方式:
第一个可选的实现方式,确定当前硬盘空间最大的服务器的方式可以为: 将上线虚拟机和下线虚拟机的数量都最少的服务器确定为硬盘空间最大的服 务器。此外,当硬盘空间大小大于所计算出的存储空间大小的服务器有多个 时,优选地,可以在该多个服务器中选择CPU占用率最低或内存占用最少的 服务器作为第二服务器,以保证后续执行热迁移的速度和效率。
第二个可选的实现方式,如果各服务器的硬盘空间大小均小于所计算出 的存储空间大小,则从这些服务器中选择硬盘空间之和大于所计算出的存储 空间大小的至少两个服务器来组合作为第二服务器。优选地,从这些服务器 中选择硬盘空间较大的服务器来组成第二服务器,以尽量减少组成第二服务 器的服务器数量。
最后,云平台基于所计算出的存储空间大小在第二服务器下建立临时共 享存储。该临时共享存储用作各第一OVS所连接的所有未使用共享存储的上 线虚拟机热迁移时的临时存储空间。将第二服务器上安装的OVS作为第二 OVS。
需要说明的是,上述计算热迁移所需的存储空间以及建立临时共享存储 的动作也可以由主控制设备来完成,只需主控制设备事先从云平台处获取到 各服务器的运行参数等信息即可,具体过程不再赘述。
步骤2012、主控制设备向集群中的其他控制设备发送迁移标记(vmotion) 消息,该迁移标记消息里携带有待迁出虚拟机的标识、第二地址,以及要迁 入的第二端口的第二端口信息。
其中,待迁出虚拟机的第二地址包括MAC地址以及IP地址,由主控制 设备基于前述步骤中确定的第二OVS为该待迁出虚拟机进行分配;主控制设 备向集群中的其他控制设备发送迁移标记消息,以使其他控制设备基于虚拟 机标识查找到对应于该虚拟机的信息,并记录其第二地址和第二端口信息, 从而实现各控制设备上的信息的同步更新。
步骤2013、主控制设备通过Openflow向第二OVS下发迁移准备消息, 该迁移准备消息中携带有待迁出虚拟机的标识、待迁出虚拟机的第二地址, 以及第二端口的第二端口信息,并且,主控制设备向第二OVS发送更新流表 的通知消息。
第二OVS基于迁移准备消息的第二地址和第二端口信息为待迁出虚拟 机配置第二端口,并且,第二OVS基于所接收到的通知消息和新配置的第二 端口更新第二服务器上的第二流表,将待迁出虚拟机的标识、第二地址以及 第二端口信息存入到第二流表中。
步骤2014、主控制设备接收第二OVS在完成端口配置之后,上报的第 二port_status(端口状态)信息,该第二端口状态消息中可以包括为待迁出 虚拟机所配置的第二端口的第二端口状态,及该待迁出虚拟机的第二地址。
其中,第二OVS上报的第二端口状态消息可以包括端口ADD事件,端 口ADD事件表示将迁入已有的虚拟机而导致在该目标OVS上创建该虚拟机, 端口ADD事件携带有待迁出虚拟机的第二地址,还携带有为待迁出虚拟机 所配置的第二端口的第二端口状态。该第二端口状态消息还可以包括端口 MODIFY事件,端口MODIFY事件也可以携带有待迁出虚拟机的第二地址 以及所配置第二端口的第二端口状态。其中端口状态可以用UP或DOWN来 表示。
步骤2015、主控制设备基于第二OVS上报的第二端口状态消息,更新 vPort表项,并将该第二端口状态消息同步到集群中的其他控制设备。
vPort表项中包括虚拟机地址、端口状态及端口信息,主控制设备基于第 二OVS上报的第二端口状态消息,得知第二OVS已经为虚拟机热迁移做好 准备,则主控制设备根据第二端口状态消息在vPort表项中增加虚拟机的第 二地址,并在vPort表项中相对应的增加第二端口状态,而且,将该第二端 口状态消息同步到集群中的其他控制设备,以便其他控制设备也对vPort表 项进行同样的更新。
也就是说在vPort表项中,对应待迁出虚拟机的标识对应存储有两份地 址信息和两份端口信息,分别为迁移前和迁移后的地址和端口信息。
步骤202、将与第一OVS连接的上线虚拟机热迁移到第二OVS下。
本公开实施例中,首先,主控制设备向第一OVS和第二OVS发送对待 迁出虚拟机进行热迁移的通知消息。
然后,第一OVS和第二OVS基于接收到的通知消息将待迁出虚拟机从 第一OVS热迁移到第二OVS。
然后,第二OVS将该迁入的虚拟机与第二OVS新配置的第二端口进行 连接,并使得第二端口策略生效。
该热迁移的过程可以为:将待升级的第一OVS所连接的没有使用共享存 储的上线虚拟机热迁移到第二服务器下,和/或将已使用共享存储的上线虚拟 机热迁移到其共享存储所在的服务器下。
该热迁移的具体过程可以包括:对于第一OVS所连接的未使用共享存储 的上线虚拟机,云平台或主控制设备,通知第一OVS以及第二OVS将要进 行热迁移。第一OVS将没有使用共享存储的上线虚拟机的文件数据发送给第 二OVS,即发送给第二服务器下建立的临时共享存储,并对该迁移中的文件 数据进行锁定;第二OVS将接收到的文件数据存储在临时共享存储中。对于 已使用共享存储的上线虚拟机,其所要迁入的目的OVS为其使用的共享存储 所在的服务器下的OVS,这里也称之为第二OVS,云平台或主控制设备通知 第一OVS以及该第二OVS将要进行热迁移,第一OVS将已使用共享存储的 上线虚拟机的文件数据发送到其使用的共享存储中。将虚拟机的文件数据发 送完成之后第一服务器删除其上存储的这些文件数据。
这里以第一OVS上既连接有已使用共享存储的上线虚拟机,又连接有未 使用共享存储的上线虚拟机为例进行了说明,实际上各OVS下也可能只有已 使用共享存储的上线虚拟机,也可能只有未使用共享存储的上线虚拟机。第 一OVS所连接的上线虚拟机都迁移出之后,云平台向主控制设备发送迁移完 成通知。
步骤203、基于第一OVS为迁出虚拟机所做的端口配置,为虚拟机信息 中的对应信息添加标识。
首先,主控制设备接收第一OVS上报的第一端口状态消息,基于所迁出 虚拟机的第一地址查找vPort表项,基于第一端口状态消息中的第一端口状 态更新vPort表项中的端口状态,并基于迁出标识将第一端口信息进行标记, 然后通知第一OVS和网关更新流表,以及向集群中的其他控制设备发送携带 有迁出标识的第一端口状态消息。
在上一步骤中将第一OVS所连接的待迁出虚拟机迁出之后,第一OVS 删除该待迁出虚拟机所使用的第一端口,并向主控制设备上报第一端口状态 消息;其中,第一端口状态消息可以为端口delete事件,该端口delete事件 中可以包括该迁出虚拟机在第一OVS的第一地址、所删除的第一端口的第一 端口状态,而且,该端口delete事件中还包括迁出标识。
由于在第一OVS完成升级之后,还会将之前迁出的虚拟机迁移回来,因 而在删除该虚拟机所使用的第一端口之前,记录该第一端口的第一端口信息。 由于在现有技术中,源OVS迁出虚拟机之后会删除相关的端口及端口信息, 并向主控制设备发送端口delete事件,而主控制设备基于该端口delete事件 也会在表项中删除相关的端口信息,这样在第一OVS升级之后,迁出的虚拟 机就不能够迁移回来。因而,在本实施例的delete消息中携带一个迁出标识, 以告知主控制设备无需删除第一端口信息,从而主控制设备不删除该迁出的 虚拟机在第一OVS上的第一地址,也不删除该虚拟机在第一OVS上所使用 的第一端口信息,而是进行标记和存储,以便在第一OVS完成升级之后,根 据该记录和标识的信息将所迁出虚拟机再迁移回来。
第一OVS根据主控制设备发送的通知,更新第一服务器上的第一流表, 将所删除端口的第一端口信息在第一流表中做标记。
当集群中的其他控制设备接收到携带有迁出标识的第一端口状态消息时, 与主控制设备同样的更新vPort表项,为对应的第一端口信息做标记。
步骤204、基于所标识的信息对第一OVS进行升级。
在步骤203中,与第一OVS连接的所有上线虚拟机都已迁出,因而,可 以对该第一OVS进行升级,主控制设备接收所导入的OVS新版本,并选择 第一OVS所在的服务器,从而进行OVS升级。
通过上述描述可以看出,由于该第一OVS所连接的所有上线虚拟机都已 经迁出,所以直接就可以进行OVS升级。而且,由于主控制设备、第一OVS 和第二OVS都及时更新了流表或vPort表项,热迁移不会导致虚拟机流量的 丢失,而且能够保证虚拟机不断流,因而能够保证在OVS升级过程中不影响 用户的流量。
在一个可选的实现方式中,升级完成之后,主控制设备向该第一服务器 发送升级完成的通知消息。
步骤205、基于所迁出虚拟机在第一OVS上的第一端口信息和第一地址 将所迁出的虚拟机从第二OVS迁回完成升级的第一OVS上。
本步骤中,第二OVS作为本次迁移的源OVS,第一OVS作为本次迁移 的目的OVS,该迁移的过程可以为:
主控制设备向集群中的其他控制设备发送迁移标记消息,迁移标记消息 中携带有待迁回虚拟机的标识、第一地址、以及要迁回的第一端口的第一端 口信息。
其中第一地址和第一端口信息都是主控制设备上原本存储的信息。
主控制设备通过Openflow向第一OVS发送迁移准备消息,该迁移准备 消息中携带有待迁回虚拟机的标识、第一地址以及第一端口的第一端口信息;
第一OVS基于迁移准备消息为待迁回虚拟机配置第一端口,配置完成之 后向主控制设备上报第一端口状态信息;第一端口状态信息中包含待迁回虚 拟机的第一地址,以及所配置第一端口的第一端口状态。本步骤中,因为在 虚拟机迁出的时候并未删除第一流表中对应的第一端口信息以及虚拟机的信 息,因而第一OVS无需更新第一服务器的第一流表。
主控制设备接收第一端口状态信息,基于第一端口状态信息中的虚拟机 第一地址查找vPort表项,更新vPort表项中的第一端口状态;并将第一端口 状态消息发送给集群中的其他控制设备。
主控制设备指示将第二OVS连接的所迁入虚拟机热迁移回到第一OVS 下。
主控制设备接收第二OVS在迁出虚拟机之后上报的第二端口状态消息, 该第二端口状态消息中携带迁回标识,虚拟机在第二OVS上的第二地址及第 二端口状态。
迁移完成之后,第二OVS将所迁出虚拟机的第二端口及第二服务器的第 二流表中所存储的对应的虚拟机地址信息、第二端口信息都删除,并向主控 制设备发送携带迁回标识的第二端口状态消息。
主控制设备基于第二端口状态消息中的虚拟机第二地址查找vPort表项 中对应的端口信息,基于迁回标识将vPort表项中的第二端口信息和第二地 址删除。
主控制设备将该第二端口状态消息发送给集群中的其他控制设备,以便 其他控制设备更新vPort表项。
由上可以看出,在迁回虚拟机的过程中,主控制设备无需为该待迁出回 虚拟机分配第二地址,直接在vPort表项中查找虚拟机在第一OVS上的第一 地址和第一端口信息即可,并基于所查找到的虚拟机第一地址和第一端口信 息为第一OVS配置第一端口。并且,在将虚拟机从第二OVS迁回第一OVS 之后,第二OVS向主控制设备发送第二端口状态消息中,携带迁回标识,主 控制设备基于该第二端口状态消息中的迁回标识将vPort表项中对应的虚拟 机第二地址和第二端口信息都删除。并且,第二OVS也更新第二服务器上的 第二流表,将所存储的已迁出虚拟机的信息及对应的第二端口信息都删除。
此外,将虚拟机从第二OVS迁回第一OVS之后,主控制设备还基于OVS 配置信息对升级完成之后的第一OVS进行配置。云平台上存储有第一OVS 的OVS配置信息,主控制设备可以从云平台上获取到该OVS配置信息。OVS 配置信息包括OVS的哪些端口连接哪些虚拟机(包括上线虚拟机和下线虚拟 机),对外具有哪些出端口以及各个出端口的IP地址等信息。在升级第一 OVS的过程中,第一迁移服务器上的这些信息都被删除,在升级完成之后, 主控制设备或主控制设备控制云平台,基于上线虚拟机的数量和下线虚拟机 的数量、端口信息以及该OVS配置信息对升级后的第一OVS进行配置,包 括将第一OVS的端口连接到虚拟机,以及为第一OVS的端口设置IP地址等。 从而实现在虚拟机迁移过程中不下线不断流。
依次对除第二服务器以外的其它需要升级OVS的服务器执行上述步骤 201-205。
至此,所有待升级OVS中只剩下第二OVS还未升级。
将与第二OVS连接的上线虚拟机热迁移到已完成升级OVS的服务器上, 对第二OVS进行升级,升级之后再将虚拟机热迁移回来。第二OVS升级过 程可参考第一OVS升级过程,在此不再赘述。
上述实施例可见,该实施例通过基于第二OVS在迁入虚拟机之前所做的 端口配置和第一OVS在迁出虚拟机之后做的端口配置,更新所存储的虚拟机 信息,及更新第一OVS和第二OVS所在服务器的流表,保证了升级过程中 虚拟机不下线不断流,与现有技术中升级OVS之前要将上线虚拟机下线以及 清除OVS端口信息相比,简化了操作,而且能够保证升级之后快速恢复到升 级之前的网络环境,不影响用户体验。
与前述虚拟交换机的升级方法的实施例相对应,本发明还提供了虚拟交 换机的升级装置的实施例。
本发明提供的虚拟交换机的升级装置的实施例可以应用在具有硬件结构 的设备上,该设备可以为VCF或SDN架构中的控制器。该装置实施例可以 通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为 例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存 储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言, 如图4所示,为本发明配置文件的备份装置所在设备的一种硬件结构图,除 了图4所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中 装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等, 对此图4中不再详细示出。
参见图5,为本发明虚拟交换机的升级装置的一个实施例框图,该实施 例可以应用在VCF或SDN的控制设备上,该装置包括:信息更新单元510、 迁出单元520、标识添加单元530、升级单元540和迁回单元550。
其中,信息更新单元510,用于基于第二OVS为迁入虚拟机所做的端口 配置,更新所存储的虚拟机信息,要迁入第二OVS的虚拟机为与第一OVS 连接的上线虚拟机;
迁出单元520,用于基于所更新的虚拟机信息将虚拟机热迁移到第二 OVS下;
标识添加单元530,用于基于第一OVS为迁出虚拟机所做的端口配置, 为虚拟机信息中的对应信息添加标识;
升级单元540,用于基于所标识的信息对第一OVS进行升级;
迁回单元550,用于在升级完成之后,基于所标识的信息将虚拟机从第 二OVS迁回完成升级的第一OVS上。
在一个可选的实现方式中:信息更新单元510包括(图5中未示出):
确定子单元,用于确定迁出虚拟机的待升级第一OVS和迁入虚拟机的第 二OVS;
迁移标记消息发送子单元,用于向其他控制设备发送迁移标记消息,迁 移标记消息中携带有虚拟机的标识、虚拟机将与第二OVS连接的第二地址及 第二端口信息,以使其他控制设备基于迁移标记消息中携带的信息更新各自 存储的虚拟机信息;
通知消息发送子单元,用于向第二OVS发送迁移准备消息及更新流表的 通知消息,迁移准备消息中携带有虚拟机的标识、第二地址及第二端口信息, 以使第二OVS基于迁移准备消息中携带的信息为迁入虚拟机配置第二端口 和更新流表;
第一更新子单元,用于基于第二OVS完成端口配置之后上报的第二端口 状态信息,更新虚拟机信息;
第二端口状态信息发送子单元,用于将第二端口状态信息发送给其他控 制设备,以使其他控制设备基于第二端口状态信息更新各自存储的虚拟机信 息
在另一个可选的实现方式中:确定子单元包括(图5中未示出):
虚拟机数据获取子单元,用于获取第一OVS所在第一服务器上的虚拟机 数据;
共享存储确定子单元,用于基于虚拟机数据中的没有使用共享存储的上 线虚拟机的数量,确定是否需要为第一OVS连接的上线虚拟机建立临时共享 存储;
第二服务器确定子单元,用于在共享存储子单元确定为是时,基于没有 使用共享存储的上线虚拟机的数量确定用于建立临时共享存储的第二服务器;
第二OVS确定子单元,用于将第二服务器连接的OVS确定为第二OVS。
在另一个可选的实现方式中:标识添加单元530包括(图5中未示出):
第一端口状态信息接收子单元,用于接收第一OVS在迁出虚拟机之后上 报的第一端口状态信息;
标识添加子单元,用于基于第一端口状态信息中的第一标识,对虚拟机 信息中的对应信息添加标识;
更新流表通知子单元,用于基于所添加的标识向第一OVS发送更新流表 的通知;
第一端口状态信息发送子单元,用于将第一端口状态信息发送给其他控 制设备,以使其他控制设备基于第一端口状态信息在各自存储的虚拟机信息 中添加标识。
在另一个可选的实现方式中,该虚拟交换机的升级装置还包括:
配置单元,用于基于所存储的OVS配置信息、端口信息对升级后的OVS 进行配置。
在另一个可选的实现方式中:迁回单元550包括(图5中未示出):
迁移准备消息发送子单元,用于向第一OVS发送迁移准备消息,及更新 流表的通知消息,迁移准备消息中携带有虚拟机的标识、虚拟机与第一OVS 连接的第一地址及第一端口信息,以使第一OVS基于迁移准备消息中携带的 信息为迁入虚拟机配置第一端口和更新流表;
第二更新子单元,用于基于第一OVS完成端口配置之后上报的第一端口 状态信息,更新虚拟机信息;
删除子单元,用于基于第二OVS在迁出虚拟机之后上报的第二端口状态 信息中携带的第二标识,删除虚拟机信息中的第二端口信息和第二地址;
发送子单元,用于将第二端口状态信息发送给其他控制设备,以使所述 其他控制设备基于第二端口状态信息更新各自存储的虚拟机信息。
在另一个可选的实现方式中,信息更新单元510更新的虚拟机信息包括 虚拟机地址、与虚拟机所连接端口的端口信息。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应 步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参 见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的, 其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作 为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方, 或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或 者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性 劳动的情况下,即可以理解并实施。
由上述实施例可以看出,本发明实施例提供的虚拟交换机的升级方法及 装置,通过基于OVS为迁出和迁入虚拟机对端口所做的配置,对所存储的虚 拟机信息和的流表进行更新,保证了升级过程中虚拟机不下线不断流,与现 有技术中升级OVS之前要将上线虚拟机下线以及清除OVS端口信息相比, 简化了操作,而且能够保证升级之后快速恢复到升级之前的网络环境,不影 响用户体验。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本 公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性 变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公 开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被 视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本 发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在 本发明保护的范围之内。

虚拟交换机的升级方法及装置.pdf_第1页
第1页 / 共17页
虚拟交换机的升级方法及装置.pdf_第2页
第2页 / 共17页
虚拟交换机的升级方法及装置.pdf_第3页
第3页 / 共17页
点击查看更多>>
资源描述

《虚拟交换机的升级方法及装置.pdf》由会员分享,可在线阅读,更多相关《虚拟交换机的升级方法及装置.pdf(17页珍藏版)》请在专利查询网上搜索。

本发明提供一种虚拟交换机的升级方法及装置,该方法应用于主控制设备上,主控制设备与至少一个其他控制设备构成集群,集群中的各控制设备分别与至少两个服务器相连,每个服务器上安装有OVS,每个OVS连接至少一个虚拟机;该方法包括:基于第二OVS为迁入虚拟机所做的端口配置更新所存储的虚拟机信息;基于所更新的虚拟机信息将虚拟机热迁移到第二OVS下;基于第一OVS为迁出虚拟机所做的端口配置为虚拟机信息中的对应信。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1