面向虚拟机热迁移场景的云网络会话连通性保障方法及系统

文档序号:30581775发布日期:2022-06-29 12:39阅读:170来源:国知局
面向虚拟机热迁移场景的云网络会话连通性保障方法及系统

1.本发明涉及云网络服务质量保障领域,尤其涉及一种面向虚拟机热迁移场景的云网络会话连通性保障方法及系统。


背景技术:

2.十数年前,全球网络步入云网络时代。近年来,云网络已经在为文字、视频、游戏、会议以及公共服务等各行各业方方面面提供服务。对于云端服务,弹性可伸缩、稳定高可靠的会话连通性是客户密切关心的问题,同时也是衡量云厂商产品和服务优劣的重要指标,而这一切都依赖于底层虚拟机的热迁移能力。热迁移能力更是各大云服务厂商对外售卖的弹性计算服务热迁移的重要一环。
3.现有的云网络欠缺可靠的网络热迁移能力,使得用户进行热迁移时,网络会存在不确定性。这种不确定性主要体现在对于特定类型的会话,热迁移时会出现网络中断问题,导致用户的服务和应用长时间无响应,对用户的业务产生巨大影响。
4.云网络中的会话是指session,该会话是为了减少客户端与服务端不必要的通信,用于记录客户端与服务端通信的一系列状态的信息集合,主要包含连接五元组信息等,本质上是一种缓存技术。
5.会话连通性是指会话信息的有效性与更新的及时性。通过会话可以保障相关连接的无障碍联通,且不出现延迟过高,大面积丢包,甚至断开连接等情况。
6.除去基础的会话类型之外,会在热迁移过程中中断的特殊会话包括:
7.(1)nat信息都纪录在tcp的首包中的高防会话;
8.(2)依赖syn-ack报文的会话;
9.(3)依赖ip进行哈希寻址的会话;
10.(4)依赖负载均衡器发送的报文建立的会话;
11.(5)与连接中首包状态强关联的会话等等。
12.而这种特殊类型的会话,在云服务商供应的弹性计算服务中是普遍存在的。所以一直以来,与这些特殊会话相关的弹性计算服务或者对应的虚拟机只能冷迁,不具备热迁移的能力。
13.但随着云上用户的增加,对线上弹性计算服务或对应的虚拟机热迁移能力日趋迫切的需求,与不可靠的网络热迁移能力之间的矛盾愈发凸显。


技术实现要素:

14.鉴于上述,本发明的目的是提供一种面向虚拟机热迁移场景的云网络会话连通性保障方法及系统,利用携带会话的虚拟机热迁移技术,实现了会话连通性保障,有利于提高云网络服务质量。
15.为实现上述发明目的,实施例提供了一种面向虚拟机热迁移场景的云网络会话连通性保障系统,包括:
16.热迁移模块,用于基于虚拟机热迁移请求控制源虚拟机向目标虚拟机的热迁移;
17.路由模块,用于在迁移过程中实现网络数据包由源虚拟机对应的虚拟交换机向目标虚拟机对应的虚拟交换机的转发与路由。
18.在一个实施例中,所述热迁移模块包括:
19.虚拟机选择单元,用于从众多网络计算机上选择被进行虚拟热迁移的目标虚拟机;
20.会话存储单元,用于存储源虚拟机上的所有会话;
21.虚拟机迁移单元,用于控制将源虚拟机上的所有会话存入会话存储单元,并实施虚拟机热迁移,还用于将源虚拟机上的所有会话从会话存储单元取出并拷贝到目标虚拟机。
22.在一个实施例中,所述热迁移模块还包括:
23.版本转换单元,用于虚拟机迁移单元进行所有会话拷贝之前,进行会话版本的校验和转换,以保证拷贝的会话版本与目标虚拟机的会话版本一致。
24.在一个实施例中,所述路由模块包括:
25.表项更新单元,用于更新客户端的负载均衡器或网关上的虚拟机-网络计算机表项;
26.数据路由单元,用于将虚拟机-网络计算机表项更新完成前的网络数据由源虚拟机对应的虚拟交换机传递至目标虚拟机对应的虚拟交换机。
27.在一个实施例中,所述表项更新单元中,虚拟机-网络计算机表项的更新过程包括:
28.目标虚拟机对应的虚拟交换机向负载均衡器或网关发送notify报文,以通知源虚拟机的相关会话已经迁移到目标虚拟机;
29.负载均衡器或网关在收到notify报文后,从本地查询相关会话信息后关闭相关会话的学源功能,并根据notify报文中的信息更新虚拟机-网络计算机表项,并发送ack包通知目标虚拟机对应的虚拟交换机已关闭学源功能;
30.目标虚拟机对应的虚拟交换机在收到ack包后,将本地相关会话标记为确认状态,标志着表项更新完毕。
31.在一个实施例中,所述数据路由单元控制源虚拟机对应的虚拟交换机使用relay技术,将表项更新完成前收到的网络数据传递给目标虚拟机对应的虚拟交换机。
32.在一个实施例中,所述数据路由单元包括:
33.下发relay路由配置单元,用于在弹性计算服务管控模块启动热迁移的同时,将relay路由配置下发到源虚拟机对应的虚拟交换机;
34.启用relay路由单元,用于在热迁移开始后,源虚拟机收发网络数据包使用vport启动relay路由;
35.删除relay路由单元,用于在热迁移结束后,弹性计算服务管控模块使用新vport,删除旧vport,等待relay路由超时后,将旧vport删除。
36.为实现上述发明目的,实施例还提供了一种面向虚拟机热迁移场景的云网络会话连通性保障方法,所述方法采用上述云网络会话连通性保障系统,所述方法包括以下步骤:
37.步骤1,通过热迁移模块基于虚拟机热迁移请求控制源虚拟机向目标虚拟机的热
迁移;
38.步骤2,通过路由模块在迁移过程中实现网络数据包由源虚拟机对应的虚拟交换机向目标虚拟机对应的虚拟交换机的转发与路由。
39.在一个实施例的步骤1,包括:
40.步骤1-1,通过虚拟机选择单元从众多网络计算机上选择被进行虚拟热迁移的目标虚拟机;
41.步骤1-2,通过版本转换单元在进行所有会话拷贝之前,进行会话版本的校验和转换,以保证拷贝的会话版本与目标虚拟机的会话版本一致;
42.步骤1-3,通过虚拟机迁移单元控制将源虚拟机上的所有会话存入会话存储单元,并实施虚拟机热迁移,还将源虚拟机上的所有会话从会话存储单元取出并拷贝到目标虚拟机。
43.在一个实施例的步骤2,包括:
44.步骤2-1,目标虚拟机对应的虚拟交换机向负载均衡器或网关发送notify报文,以通知源虚拟机的相关会话已经迁移到目标虚拟机;
45.步骤2-2,负载均衡器或网关在收到notify报文后,从本地查询相关会话信息后关闭相关会话的学源功能,并根据notify报文中的信息更新虚拟机-网络计算机表项,并发送ack包通知目标虚拟机对应的虚拟交换机已关闭学源功能;
46.步骤2-3,目标虚拟机对应的虚拟交换机在收到ack包后,将本地相关会话标记为确认状态,标志着表项更新完毕;
47.步骤2-4,将虚拟机-网络计算机表项更新完成前的网络数据通过relay技术由源虚拟机对应的虚拟交换机传递至目标虚拟机对应的虚拟交换机。
48.与现有技术相比,本发明的有益效果包括:
49.(1)在云网络中能够完成携带所有类型会话的虚拟机热迁移,减小重新建立会话的开销;
50.(2)解决因无法携带会话进行虚拟机热迁移带来的相关连接延迟增加、断连的问题,提高服务质量;
51.(3)能够用户无感地进行携带会话的虚拟机热迁移,提高用户体验。
附图说明
52.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。
53.图1是实施例提供的面向虚拟机热迁移场景的云网络会话连通性保障系统的结构以及工作流程图;
54.图2是实施例提供的面向虚拟机热迁移场景的云网络会话连通性保障方法的流程图;
55.图3是实施例提供的热迁移模块的工作流程示意图;
56.图4是实施例提供的路由模块更新虚拟机-网络计算机表项的工作流程示意图;
57.图5是实施例提供的路由模块使用relay技术转发数据包的工作流程示意图。
具体实施方式
58.为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
59.图1是本发明实施例提供的面向虚拟机热迁移场景的云网络会话连通性保障系统的结构以及工作流程图,如图1所示,实施例提供的面向虚拟机热迁移场景的云网络会话连通性保障系统,包括热迁移模块和路由模块,以实现将租户的虚拟机1(源虚拟机)携带会话从网络计算机1,迁移到网络计算机2上的虚拟机1’(目标虚拟机),其中,源虚拟机和目标虚拟机作为售卖的弹性网络服务的主体使用。
60.热迁移模块用于基于虚拟机热迁移请求控制源虚拟机向目标虚拟机的热迁移。实施例中,弹性计算服务管控发起虚拟机热迁移请求,以表示虚拟机热迁移开始。热迁移模块在接收到虚拟机热迁移请求后,进行热迁移处理,包括热迁移目标虚拟机的选取,热迁移过程中会话的储存、备份、拷贝与版本转换。
61.其中,弹性计算服务是网络供应商售卖的云网络服务,其本质上是虚拟机。弹性计算服务管控由于供应商网络计算机集群负载均衡,或故障恢复等原因,会依据实际情况发起热迁移请求。
62.具体地,热迁移模块包括虚拟机选择单元、会话存储单元、虚拟机迁移单元、版本转换单元。
63.其中,虚拟机选择单元用于从众多网络计算机上选择被进行虚拟热迁移的目标虚拟机。一般情况下,源虚拟机与目标虚拟机一般搭建在两个不同的网络计算机上,先通过一定的算法进行目标虚拟机的选择,然后再开始热迁移过程。具体地,目标虚拟机的选择过程包括:
64.1.按照源虚拟机及其所在网络计算机的特性(包括硬件型号、硬件配置、软件版本、所属虚拟私有云网络等),初步筛选所有符合标准的目标网络计算机;
65.2.根据网络计算机的状态、任务分配状况等指标,进一步筛选能够进行迁移的目标网络计算机;
66.3.通过评分系统,从资源利用率、迁移难易度、未来部署空间等角度对所有步骤2筛选出的目标网络计算机进行评分;
67.4.通过topn算法在步骤3评分的网络计算机中选出n个评分最高的网络计算机;
68.5.从步骤4中选出的n个网络计算机中,随机选择一个网络计算机作为目标网络计算机,于该目标网络计算机上建立符合标准的虚拟机,
69.即为目标虚拟机。
70.会话存储单元用于存储源虚拟机上的所有会话。为了规避数据丢失的风险、便于数据管理,实施例提供了会话存储单元作为中介,同时起到数据备份的作用。
71.虚拟机迁移单元用于控制将源虚拟机上的所有会话存入会话存储单元,并实施虚拟机热迁移,还用于将源虚拟机上的所有会话从会话存储单元取出并拷贝到目标虚拟机。
72.版本转换单元用于虚拟机迁移单元进行所有会话拷贝之前,进行会话版本的校验
和转换,以保证拷贝的会话版本与目标虚拟机的会话版本一致。一般情况下,需要等待虚拟机迁移完成后,再将会话拷贝到目标虚拟机上;在会话拷贝过程中,需要注意会话版本应与目标虚拟机一致,因此在拷贝前通过版本转换单元做版本转换。
73.实施例中,路由模块用于在迁移过程中实现网络数据包由源虚拟机对应的虚拟交换机向目标虚拟机对应的虚拟交换机的转发与路由。具体地,包括在虚拟机热迁移过程中使用relay技术在源虚拟机与目标虚拟机所在网络计算机之间传递网络数据;通过虚拟交换机与负载均衡器或者网关的信息沟通,更新虚拟机-网络计算机对应关系表项,在客户端与弹性网络计算服务对应的虚拟机之间建立正确的路由路径。其中,负载均衡器或网关,作为与客户端数据包通信的桥梁,配合虚拟交换机单元实现relay技术,完成热迁移过程中数据包的正常转发。
74.实施例中,路由模块包括表项更新单元和数据路由单元。其中,表项更新单元用于更新客户端的负载均衡器或网关上的虚拟机-网络计算机表项。为了在虚拟机热迁移完毕后,能够正确的路由网络数据,必须要更新虚拟机-网络计算机对照表表项。更新步骤主要由目标虚拟机所在网络计算机的虚拟交换机(也就是目标虚拟机对应的虚拟交换机)与负载均衡器或网关通信完成,目标虚拟机对应的虚拟交换机会通知负载均衡器或网关,虚拟机携带会话进行了热迁移。
75.实施例中,表项更新单元中实现的虚拟机-网络计算机表项的更新过程包括:目标虚拟机对应的虚拟交换机向负载均衡器或网关发送notify报文,以通知源虚拟机的相关会话已经迁移到目标虚拟机;其中,notify报文是在vxlan技术基础上实现的自定义报文,通过修改协议栈的形式增加对该种自定义报文的解析。notify报文中记录有会话的具体信息。
76.负载均衡器或网关在收到notify报文后,从本地查询相关会话信息后关闭相关会话的学源功能,并根据notify报文中的信息更新虚拟机-网络计算机表项,并发送ack包通知目标虚拟机对应的虚拟交换机已关闭学源功能;其中,学源功能是指路由自主学习功能,可以通过算法自动确定网络数据包目的ip。该算法是指网络计算机上的虚拟交换机,基于vxlan的自定义报文,自主向负载均衡器或网关学习转发路径的技术,该技术包含确定目的ip的功能,具体包括:
77.1.某一网络计算机上的虚拟交换机收到一条报文,查询后,该虚拟交换机发现没有记录该报文的转发路径;
78.2.该虚拟交换机向负载均衡器或网关发送网络数据包,请求相关报文的转发路径;
79.3.负载均衡器或网关收到网络数据包后,查询转发路径,将查询的转化路径信息封装后发送到虚拟交换机;
80.4.虚拟交换机通过网络数据包学习到正确的转发路径,进行网络数据包转发。
81.目标虚拟机对应的虚拟交换机在收到ack包后,将本地相关会话标记为确认状态,标志着表项更新完毕。
82.实施例中,数据路由单元用于将虚拟机-网络计算机表项更新完成前的网络数据由源虚拟机对应的虚拟交换机传递至目标虚拟机对应的虚拟交换机。具体地,可以采用relay技术进行网络数据的传递。其中,relay技术是一项用于表项更新过程中的技术,通过
将源虚拟机所在网络计算机的虚拟交换机暂时充当路由节点的方式,临时路由表项更新过程中收到的数据包。relay技术可以防止丢包,降低延迟,提高服务质量。
83.实施例中,数据路由单元包括下发relay路由配置单元、启用relay路由单元、删除relay路由单元;其中,下发relay路由配置单元用于在弹性计算服务管控模块启动热迁移的同时,将relay路由配置下发到源虚拟机所在网络计算机的虚拟交换机(即源虚拟机对应的虚拟交换机);启用relay路由单元用于在热迁移开始后,源虚拟机收发网络数据包使用vport启动relay路由;删除relay路由单元用于在热迁移结束后,弹性计算服务管控模块使用新vport,删除旧vport,等待relay路由超时后,将旧vport删除。其中,vport即为云网络中服务虚拟机的虚拟端口,主要功能是模拟网卡端口,进行数据包的收发。
84.基于上述面向虚拟机热迁移场景的云网络会话连通性保障系统,实施例还提供了一种面向虚拟机热迁移场景的云网络会话连通性保障方法,如图2所示,包括以下步骤:
85.步骤1,通过热迁移模块基于虚拟机热迁移请求控制源虚拟机向目标虚拟机的热迁移;
86.步骤2,通过路由模块在迁移过程中实现网络数据包由源虚拟机对应的虚拟交换机向目标虚拟机对应的虚拟交换机的转发与路由。
87.如图3所示,步骤1中,通过热迁移模块基于虚拟机热迁移请求控制源虚拟机向目标虚拟机的热迁移,包括:
88.步骤1-1,接收虚拟机热迁移请求;
89.步骤1-2,通过虚拟机选择单元从众多网络计算机上选择被进行虚拟热迁移的目标虚拟机;
90.步骤1-3,通过版本转换单元在进行所有会话拷贝之前,进行会话版本的校验和转换,以保证拷贝的会话版本与目标虚拟机的会话版本一致;
91.步骤1-4,通过虚拟机迁移单元控制将源虚拟机上的所有会话存入会话存储单元;
92.步骤1-5,将源虚拟机上的所有会话从会话存储单元取出并拷贝到目标虚拟机。
93.步骤2中,通过路由模块在迁移过程中实现网络数据包由源虚拟机对应的虚拟交换机向目标虚拟机对应的虚拟交换机的转发与路由,包括:
94.步骤2-1,更新负载均衡器或网关上的虚拟机-网络计算机表项,具体地,如图4所示,具体包括:
95.步骤2-1-1,目标虚拟机对应的虚拟交换机向负载均衡器或网关发送notify报文,以通知源虚拟机的相关会话已经迁移到目标虚拟机;
96.步骤2-1-2,负载均衡器或网关在收到notify报文后,从本地查询相关会话信息后关闭相关会话的学源功能,并根据notify报文中的信息更新虚拟机-网络计算机表项,并发送ack包通知目标虚拟机对应的虚拟交换机已关闭学源功能;
97.步骤2-1-3,目标虚拟机对应的虚拟交换机在收到ack包后,将本地相关会话标记为确认状态,标志着表项更新完毕;
98.步骤2-1-4,如果负载均衡器或网关没有发送ack包或者虚拟交换机没有收到ack报文,虚拟交换机会重复步骤2-1-1~步骤2-1-3,直至会话老化或者虚拟交换机正确收到ack报文。
99.步骤2-2,将虚拟机-网络计算机表项更新完成前的网络数据通过relay技术由源
虚拟机对应的虚拟交换机传递至目标虚拟机对应的虚拟交换机。如图5所示,具体包括:
100.步骤2-2-1,通过下发relay路由配置单元在弹性计算服务管控模块启动热迁移的同时,将relay路由配置下发到源虚拟机对应的虚拟交换机;
101.步骤2-2-2,通过启用relay路由单元在热迁移开始后,源虚拟机收发网络数据包使用vport启动relay路由;
102.步骤2-2-3,通过删除relay路由单元在热迁移结束后,弹性计算服务管控模块使用新vport,删除旧vport,等待relay路由超时后,将旧vport删除。
103.上述实施例提供的云网络会话连通性保障方法及系统,利用携带会话的虚拟机热迁移技术,实现了会话连通性保障,有利于提高云网络服务质量。
104.以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1