CN113973114A - 云服务器热迁移方法、虚拟交换机和软件定义网络架构 - Google Patents

云服务器热迁移方法、虚拟交换机和软件定义网络架构 Download PDF

Info

Publication number
CN113973114A
CN113973114A CN202010706573.1A CN202010706573A CN113973114A CN 113973114 A CN113973114 A CN 113973114A CN 202010706573 A CN202010706573 A CN 202010706573A CN 113973114 A CN113973114 A CN 113973114A
Authority
CN
China
Prior art keywords
cloud server
stateful connection
load balancer
stateful
virtual switch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010706573.1A
Other languages
English (en)
Inventor
周磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202010706573.1A priority Critical patent/CN113973114A/zh
Publication of CN113973114A publication Critical patent/CN113973114A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

公开了一种云服务器热迁移方法、虚拟交换机和软件定义网络架构。响应于云服务器ECSB从设备(网络计算机或虚拟机)NC 1热迁移到设备(网络计算机或虚拟机)NC 2,判断是否存在云服务器ECSB与另一云服务器ECS A之间经由负载均衡器SLB的有状态连接(会话)。在存在有状态连接的情况下,基于网络计算机NC 1的网络地址(如IP地址),向热迁移前的云服务器ECSB和负载均衡器SLB发送针对有状态连接的重置请求报文,以便在云服务器ECSB热迁移到网络计算机NC 2上之后,例如基于重连机制,与另一云服务器ECS A之间经由负载均衡器SLB重新建立有状态连接。由此,能够避免热迁移时由于相关有状态连接不能恢复而出现应用长时间无响应的情形。

Description

云服务器热迁移方法、虚拟交换机和软件定义网络架构
技术领域
本公开涉及互联网络架构,特别涉及云服务器的热迁移方案。
背景技术
随着互联网络的快速发展,对云服务的使用越来越广泛。
对于云服务提供商,需要运营海量的软硬件基础设施。相应地,设备的上下线维修、资源调度、库存腾挪等都成为越来越高频的行为。在进行这些运维操作时,使客户无感,而服务永续,是云服务提供商的核心能力之一。而这些都依赖于热迁移技术。
热迁移(Live Migration),又叫动态迁移、实时迁移,一般是指虚拟机的保存/恢复,通常是将整个虚拟机的运行状态完整保存下来,同时可以快速地恢复到原有硬件平台甚至是不同硬件平台上。恢复以后,虚拟机仍旧平滑运行,用户不会察觉到任何差异。
一般地,云服务器如ECS(Elastic Compute Service,处理能力可弹性伸缩的计算服务器)的热迁移对网络的要求是,能够将ECS被从一个网络计算机(NC)NC_A迁移到另一个网络计算机NC_B的这一事件,快速地通知到所有跟该ECS有互联的对象,从而使得热迁移对用户无感。
在经典网络里,ECS的连通依赖于物理网络。因此,只需要通知物理网络中虚拟机(VM)的地址解析协议(ARP)发生变化即可。在具体实现中,当VM在新NC启动成功后,主动广播一次免费ARP即可。
而专有网络(VPC)中,例如软件定义网络(SDN)架构,是传统网络上虚拟出的虚拟网络(overlay),原有ARP广播的方式已经行不通了。
VPC是用户基于云服务创建的自定义私有网络,不同的专有网络之间二层逻辑隔离,用户可以在自己创建的专有网络内创建和管理云产品实例,比如ECS、负载均衡、RDS等。
在VPC中,ECS和NC之间的映射关系维护在网络控制器上。换言之,虚拟交换机转发流量时依靠的是由网络控制器下发的VM-NC规则或映射关系。
在一个VPC内ECS数量很大的情况下,VM-NC规则或映射关系下发可能会有延时,达不到热迁移对实时性的要求(“热”)。
这样,对于一些较为复杂的场景,特别是涉及SLB(服务器负载均衡)、高防等这些对于状态连接具有强依赖的服务,热迁移时可能出现应用长时间无响应的情形,严重影响用户服务体验。
因此,仍然需要改进的云服务器热迁移方案。
发明内容
本公开要解决的一个技术问题是提供一种云服务器热迁移方案,其能够避免热迁移时由于相关有状态连接不能恢复而出现应用长时间无响应的情形,从而进一步改善用户体验。
根据本公开的第一个方面,提供了一种云服务器热迁移方法,包括:响应于云服务器从第一设备热迁移到第二设备,判断是否存在云服务器与另一云服务器之间经由负载均衡器的有状态连接;以及在存在有状态连接的情况下,基于第一设备的网络地址,向热迁移前的云服务器和负载均衡器发送针对有状态连接的重置请求报文,以便在云服务器热迁移到第二设备之后,与另一云服务器之间经由负载均衡器重新建立有状态连接。
可选地,判断云服务器上是否存在有状态连接的步骤可以包括:对云服务器和负载均衡器之间传送的报文进行分析,以确定报文是否对应于有状态连接。
该方法还可以包括:记录每个有状态连接对应的报文的最新序列号;以及基于最新序列号,在重置请求报文中设置序列号,
可选地,云服务器和另一云服务器基于序列号是否期望的序列号来对所接收到的报文进行校验。
可选地,该方法在云服务器和负载均衡器之间的虚拟交换机上执行。
该方法还可以包括:负载均衡器基于重置请求报文中所包含的第一设备的网络地址,查找有状态连接的信息,以便确定有状态连接对应的另一云服务器;以及负载均衡器向另一云服务器转发重置请求报文。
可选地,第一设备和第二设备是网络计算机或虚拟机。
可选地,该方法还可以包括:在该云服务器热迁移到第二设备之后,基于重连机制,与另一云服务器之间经由所述负载均衡器重新建立有状态连接。
可选地,网络地址例如可以是IP地址。
根据本公开的第二个方面,提供了一种虚拟交换机,包括:判断装置,用于响应于云服务器从第一设备热迁移到第二设备,判断是否存在云服务器与另一云服务器之间经由负载均衡器的有状态连接;以及重置装置,用于在存在有状态连接的情况下,基于第一设备的网络地址,向热迁移前的云服务器和负载均衡器发送针对有状态连接的重置请求报文,以便在云服务器热迁移到第二设备之后,与另一云服务器之间经由负载均衡器重新建立有状态连接。
该虚拟交换机还可以包括:报文分析装置,用于对云服务器和负载均衡器之间传送的报文进行分析,以确定报文是否对应于有状态连接,
可选地,判断装置基于报文分析结果来判断是否存在有状态连接。
该虚拟交换机还可以包括:序列号记录装置,记录每个有状态连接对应的报文的最新序列号;以及序列号设置装置,基于最新序列号,在重置请求报文中设置序列号,
可选地,云服务器和另一云服务器基于序列号是否期望的序列号来对所接收到的报文进行校验。
根据本公开的第三个方面,提供了一种软件定义网络架构,包括:多个设备,每个设备上运行有一个或多个云服务器;网络控制器,维护云服务器与设备之间的映射关系;负载平衡器,对云服务器进行流量分发的负载均衡服务;以及虚拟交换机,在负载平衡器和云服务器所在的设备之间进行报文传送,其中,响应于云服务器从第一设备热迁移到第二设备,虚拟交换机判断是否存在云服务器与另一云服务器之间经由负载均衡器的有状态连接;在存在有状态连接的情况下,虚拟交换机基于第一设备的网络地址,向热迁移前的云服务器和负载均衡器发送针对有状态连接的重置请求报文;并且在云服务器热迁移到第二设备之后,与另一云服务器之间经由负载均衡器重新建立有状态连接。
可选地,虚拟交换机对云服务器和负载均衡器之间传送的报文进行分析,以确定报文是否对应于有状态连接,从而判断云服务器上是否存在有状态连接。
可选地,虚拟交换机记录每个有状态连接对应的报文的最新序列号,并且基于最新序列号,在重置请求报文中设置序列号,云服务器和另一云服务器基于序列号是否期望的序列号来对所接收到的报文进行校验。
可选地,负载均衡器基于重置请求报文中所包含的第一设备的网络地址,查找有状态连接的信息,以便确定有状态连接对应的另一云服务器,并向另一云服务器转发重置请求报文。
根据本公开的第四个方面,提供了一种计算设备,包括:处理器;以及存储器,其上存储有可执行代码,当可执行代码被处理器执行时,使处理器执行如上述第一方面所述的方法。
根据本公开的第五个方面,提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当可执行代码被电子设备的处理器执行时,使处理器执行如上述第一方面所述的方法。
由此,在云服务器热迁移时,能够将其所涉及的有状态连接重置,以便基于应用的重连机制,在该云服务器与另一云服务器之间经由所述负载均衡器重新建立相应的有状态连接。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1是云服务器热迁移的中继(relay)方案示意图。
图2是涉及有状态连接的云服务器的热迁移方案示意图。
图3是根据本公开的有状态连接的热迁移方法的示意性流程图。
图4是根据本公开的虚拟交换机的示意性框图。
图5是根据本公开的负载均衡器响应于重置请求报文进行的处理的示意性流程图。
图6示出了根据本发明一实施例可用于实现上述热迁移方法的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
下文中,以云服务器如ECS部署在网络计算机NC上,并在网络计算机NC之间迁移为例,进行描述。应当理解,云服务器如ECS也可以部署在各种适当的设备,并在这样的设备之间迁移。这样的设备可以是实体设备例如网络计算机NC,也可以是虚拟设备例如虚拟机。下文中关于网络计算机NC的描述也可以适用于虚拟机等其它设备。
图1是云服务器热迁移的中继(relay)方案示意图。
如图1所示,位于网络计算机NC0上的ECS A与位于NC1上的ECS B之间通信。网络控制器上记载的VM-NC映射关系(即云服务器与其所在的设备之间的映射关系)为ECS B位于NC1。
当ECS B从NC1热迁移到NC2,成为NC2上的ECSB,网络控制器上记载的VM-NC映射关系更新为ECS B位于NC2。
如上文所述,在VPC中,由于ECS和NC之间的映射关系维护在网络控制器上,还做不到快速向其它对象通知迁移事件。
于是,如图1所示,在VM-NC表项更新完成前,将从ECS A访问ECS B的流量仍然转发到NC 1上,再由NC 1通过中继转发(relay),将流量转发到NC 2上。
等VM-NC表项更新完成后,ECSA即可直接将流量转发到NC 2上。
网络热迁移需要具备以下几个能力:
(1)网络资源和规则的无损迁移。
(2)流量的无损迁移,保证网络连通性。
(3)会话(session)的快速恢复。
由管控负责在迁移目的端NC进行网络资源的创建和全量规则的下发恢复,可以实现上述能力(1)。
如上文所述,通过上述中继转发(relay)的方式,可以很好地实现上述能力(2)。
下面描述上述能力(3)的实现,即会话(session)的快速恢复方案。
上述中继方案在网络热迁移的时候,并不对会话资源做相应处理。ECSB从源端NC1迁移到目的端NC 2之后,对于迁移到目的端NC 2的ECS B,虚拟交换机的会话表都是空的,完全依靠ECS发数据包触发虚拟交换机来新建会话,以实现会话的恢复。
对于一些普通会话,是有可能通过该种方式来恢复的。但是,对于一些其它类型的会话,其恢复过程往往是不可逆的。
例如,对于SLB(负载均衡器)-Client(客户端)类型的会话,在ECS热迁移之后,就难以通过上述方式简单地实现会话的恢复。
负载均衡器(SLB)对多台云服务器进行流量分发的负载均衡服务。负载均衡可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。
根据当前的SLB的实现机制,SLB接收到会话报文,匹配会话以确定向哪个ECS转发会话报文时,会依赖报文外层网络地址,一般为IP地址(即ECS B所在NC的网络地址或IP地址),进行哈希(Hash)寻址。通过哈希寻址确定是哪个真实服务器(RS)和哪个Client之间的哪个会话(有状态连接),从而确定将会话报文转发到哪个NC上的ECS。
即,ECS B在NC 1上时,作为RS的ECSA与作为客户端的ECS B之间的会话是以NC 1的IP地址来进行哈希寻址的。
然而,在ECSB从NC1迁移到NC2之后,ECS B作为Client(客户端)的虚拟机(VM)请求访问真实服务器(RS)的时候,从ECS B发给SLB的报文外层IP从NC1切到了NC2。
SLB基于已经变化的报文外层IP(NC 2的IP地址)进行哈希寻址以查询会话,不能够查找到原来基于NC 1的IP地址哈希寻址的会话。换言之,即使在迁移目的端NC 2恢复了一个会话,在SLB查询会话时也将会失败,找不到ECS B对应的会话,这将导致丢包。换言之,在目的端NC 2无法有效地恢复该会话(有状态连接)。
此时,如果相关应用程序没有做好应对处理,就会导致这部分连接挂起(Hang)。
为了避免出现连接被长时间挂起的场景,热迁移VM(或云服务器)时,虚拟交换机会判断被迁移的ECSB是否具有有状态连接,特别是是否具有涉及SLB的有状态连接。
一般地,“有状态”是指两个来自相同发起者的请求在服务器端具备上下文关系,一般都要保存请求的相关信息,每个请求可以默认地使用以前的请求信息。可以借助会话(Session)来实现有状态连接。
如果存在有状态连接,根据本公开的热迁移方案,虚拟交换机基于源端NC 1,向源端NC1的ECSB和SLB两端发送重置(Reset)报文。
这样,只要应用程序设置有重连机制就能重新建立会话,连接立即恢复。而由于网络经常是不可靠的,所以应用程序一般都会设计成具有自动重连机制。
换言之,考虑到迁移后的ECS B相关的会话无法在目的端NC 2有效恢复,便在源端NC 1将所有不可恢复的会话终止。然后,通过应用程序的TCP重连机制,在迁移后在目的端NC 2建立新的会话,使得用户的相应有状态连接能够及时恢复。
图2示意性地示出了有状态连接的云服务器的热迁移方案。
如图2所示,根据本公开的软件定义网络(SDN)架构包括有多个网络计算机NC 0、NC 1、NC 2等。每个网络计算机上可以运行有一个或多个云服务器,如ECS A、ECS B等。
网络控制器维护着云服务器ECS与网络计算机NC之间的NC-VM映射关系。
负载平衡器SLB对云服务器ECS进行流量分发的负载均衡服务。例如位于网络计算机NC 0上的云服务器ECS A用作真实服务器(RS),经由SLB将多项任务相关的流量分发到作为客户端(Client)多个其它ECS上,例如位于网络计算机NC 1上的云服务器ECSB。
虚拟交换机可以在负载平衡器和云服务器所在的网络计算机之间进行报文传送。
在ECS B从NC 1热迁移到NC 2的情况下,通过在虚拟交换机添加识别所传送的报文是否涉及有状态连接的能力,并且允许虚拟交换机构建重置(Reset)报文,可以将ECS B上涉及的有状态连接重置,从而使得作为RS的云服务器ECS A和作为客户端(Client)的云服务器ECSB能够重新建立相应的有状态连接,而不会因SLB无法基于热迁移后NC 2的IP地址,寻址查找到基于NC 1的IP地址记录的会话信息(有状态连接的相关信息),导致连接被挂起,导致丢失报文。
这里,例如在相应应用程序设置有(自动)重连机制的情况下,云服务器ECS A和云服务器ECSB可以基于(自动)重连机制重新建立相应有状态连接。
图3是根据本公开的有状态连接的热迁移方法的示意性流程图。图3所示方法可以在云服务器ECS B和SLB之间的虚拟交换机上执行。
图4是可用于执行本公开热迁移方法的虚拟交换机的示意性框图。如图4所示,根据本公开的虚拟交换机400可以包括判断装置410和重置装置420。
在步骤S310,响应于云服务器ECS B从网络计算机NC 1热迁移到网络计算机NC 2,例如通过判断装置410,判断是否存在云服务器ECS B与另一云服务器ECS A之间经由负载均衡器SLB的有状态连接。换言之,可以判断经由SLB的流量是否涉及有状态连接(例如,是否涉及会话)。
如图4所示,虚拟交换机例如还可以包括报文分析装置430,对云服务器ECS B和SLB之间传送的报文进行分析,以确定报文是否对应于有状态连接。
这样,判断装置410可以基于报文分析结果来判断要热迁移的ECS B上是否存在有状态连接。如果有报文对应于有状态连接,或者说例如涉及会话,则判定存在有状态连接。
在步骤S310判定存在有状态连接的情况下,在步骤S320,例如通过重置装置420,基于网络计算机NC 1的IP地址,向热迁移前的云服务器ECS B和SLB发送针对有状态连接的重置请求报文。其中,在重置请求报文外层可以添加网络计算机NC 1的IP地址。
这里,以设备(网络计算机或虚拟机)的网络地址为IP地址为例,进行描述。应当理解,网络地址也可以为其它协议的地址。例如在SLB采用其它协议的网络地址来进行前述哈希寻址以识别会话的情形下,这里也可以基于其它协议网络地址来发送重置请求报文在重置请求报文外层可以添加网络计算机NC 1的相应网络地址。
这样,在云服务器ECS B热迁移到网络计算机NC 2上之后,ECSB可以与另一云服务器ECS A之间经由SLB重新建立相应的有状态连接。
如上文所述,这里,ECS B例如可以基于重连机制与ECS A之间重新建立相应有状态连接。
步骤S310的判断和步骤S320的重置请求发送操作,可以在ECS B接收到热迁移指令后,执行热迁移之前执行。虚拟交换机除了将重置请求发送给SLB,还发送给NC 1上的ECSB。
这样,在步骤S320发送重置请求之后,可以在步骤S330,对ECS B执行从NC 1到NC2的热迁移。
而在步骤S310判定ECS B上不存在有状态连接的情况下,可以直接进入步骤S330,执行ECS B的热迁移。
或者,上述步骤S310的判断和步骤S320的重置请求发送操作,也可以在热迁移操作的过程中或热迁移之后执行。此时,NC 1上尚存有ECS B的信息。NC 1收到虚拟交换机发来的重置请求报文之后,可以将其例如通过上述中继转发方案,中继转发给已迁移到NC 2上的ECS B。
这样,ECS B可以将其上的有状态连接重置,从而在热迁移到NC 2上之后,启动重连机制。
另一方面,如上文所述,虚拟交换机还会将重置请求报文发送给SLB。
图5是根据本公开的负载均衡器SLB响应于重置请求报文而进行的处理的示意性流程图。
在步骤S510,从虚拟交换机接收重置请求报文。
重置请求报文是基于NC 1的IP地址生成的,重置请求报文中包含有NC 1的IP地址。
这样,在步骤S520,SLB可以基于重置请求报文中所包含的NC 1的IP地址,进行哈希寻址,查找该有状态连接的信息,以便确定该有状态连接对应的另一云服务器ECS A。
然后,在步骤S530,SLB可以向另一云服务器ECS A转发重置请求报文。
这样,另一云服务器ECSA也可以将与发生热迁移的ECS B之间的有状态连接重置,从而在热迁移到NC 2上之后,启动重连机制。
另外,TCP为了防攻击,对于重置报文设置了严格的校验方案。即重置报文的序列号(seq)必须与本端期望的序列号一致,否则重置无法生效。
为此,如图4所示,虚拟交换机还可以包括序列号记录装置440和序列号设置装置450。
例如通过序列号记录装置440,可以记录每个有状态连接对应的报文的最新序列号,也即各会话各自的最新序列号。
报文的序列号可以根据预定的规则更新,例如每次加1,即每当ECS A或ECS B新发一个报文时,在原序列号基础上加1。这样,有状态连接的双方可以对所接收的报文进行校验。换言之,云服务器ECS B和另一云服务器ECS A基于序列号是否期望的序列号来对所接收到的报文进行校验。如果收到的报文的序列号不符合期望值,例如先前最新序列号加1,则可以判定该报文校验失败。
虚拟交换机例如通过序列号设置装置450,可以基于最新序列号,在重置请求报文中设置序列号。即,根据相应的规则,基于先前最新序列号,例如在先前最新序列号基础上加1,生成新的序列号,并将所生成的序列号添加到重置请求报文中。这样生成的序列号恰为云服务器ECS B和另一云服务器ECS A所期望的报文序列号。
这样,虚拟交换机向ECS B和ECS A两端发出的重置请求报文中均包含了恰当的序列号,该重置请求报文能够通过双方的校验,因此能够触发ECS B和ECS A两端对该有状态连接(或会话(session))进行重置。
这样,根据本公开,使虚拟交换机具备下述三方面能力:
(1)识别有状态连接相关报文的能力;
(2)对每一条流(有状态连接),记录最新序列号(seq)的能力,以便基于先前最新序列号生成重置请求报文的序列号;
(3)构建重置请求报文,并向有状态连接的两端(其中一端如ECS A需经由SLB)发送重置请求报文的能力。
这样,在云服务器ECS B热迁移时,能够将其所涉及的有状态连接重置,以便例如基于应用的重连机制,在该云服务器ECS B与另一云服务器ECS A之间经由所述负载均衡器SLB重新建立相应的有状态连接。
由此,能够避免现有技术中,由于ECS热迁移后,SLB不能基于ECS热迁移后所处的NC 2的IP地址,进行哈希寻址查找到原来基于ECS热迁移前所处的NC 1的IP地址哈希寻址记录的有状态连接相关信息,导致连接被挂起(hang),不能正常继续进行,导致应用长时间无响应的情形。从而使得能够更加顺畅地执行ECS热迁移,而对用户无感。
图6示出了根据本发明一实施例可用于实现上述热迁移方法的计算设备的结构示意图。
参见图6,计算设备600包括存储器610和处理器620。
处理器620可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器620可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如图形处理器(GPU)、数字信号处理器(DSP)等等。在一些实施例中,处理器620可以使用定制的电路实现,例如特定用途集成电路(ASIC,Application Specific Integrated Circuit)或者现场可编程逻辑门阵列(FPGA,Field Programmable Gate Arrays)。
存储器610可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器620或者计算机的其它模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器610可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器610可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器610上存储有可执行代码,当可执行代码被处理器620处理时,可以使处理器620执行上文述及的热迁移方法。
上文中已经参考附图详细描述了根据本发明的热迁移方案。
此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。
或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (16)

1.一种云服务器热迁移方法,包括:
响应于云服务器从第一设备热迁移到第二设备,判断是否存在所述云服务器与另一云服务器之间经由负载均衡器的有状态连接;以及
在存在所述有状态连接的情况下,基于第一设备的网络地址,向热迁移前的所述云服务器和负载均衡器发送针对所述有状态连接的重置请求报文,以便在所述云服务器热迁移到第二设备之后,与所述另一云服务器之间经由所述负载均衡器重新建立所述有状态连接。
2.根据权利要求1所述的方法,其中,所述判断云服务器上是否存在有状态连接的步骤包括:
对所述云服务器和所述负载均衡器之间传送的报文进行分析,以确定所述报文是否对应于有状态连接。
3.根据权利要求1所述的方法,还包括:
记录每个有状态连接对应的报文的最新序列号;以及
基于最新序列号,在所述重置请求报文中设置序列号,其中,所述云服务器和所述另一云服务器基于所述序列号是否期望的序列号来对所接收到的报文进行校验。
4.根据权利要求1至3中任何一项所述的方法,其中,
该方法在所述云服务器和所述负载均衡器之间的虚拟交换机上执行。
5.根据权利要求1至3中任何一项所述的方法,还包括:
负载均衡器基于所述重置请求报文中所包含的第一设备的网络地址,查找所述有状态连接的信息,以便确定所述有状态连接对应的所述另一云服务器;以及
负载均衡器向所述另一云服务器转发所述重置请求报文。
6.根据权利要求1至3中任何一项所述的方法,其中,所述第一设备和所述第二设备是网络计算机或虚拟机。
7.根据权利要求1至3中任何一项所述的方法,还包括:
在所述云服务器热迁移到第二设备之后,基于重连机制,与所述另一云服务器之间经由所述负载均衡器重新建立所述有状态连接。
8.一种虚拟交换机,包括:
判断装置,用于响应于云服务器从第一设备热迁移到第二设备,判断是否存在所述云服务器与另一云服务器之间经由负载均衡器的有状态连接;以及
重置装置,用于在存在所述有状态连接的情况下,基于第一设备的网络地址,向热迁移前的所述云服务器和负载均衡器发送针对所述有状态连接的重置请求报文,以便在所述云服务器热迁移到第二设备之后,与所述另一云服务器之间经由所述负载均衡器重新建立所述有状态连接。
9.根据权利要求8所述的虚拟交换机,还包括:
报文分析装置,用于对所述云服务器和所述负载均衡器之间传送的报文进行分析,以确定所述报文是否对应于有状态连接,
其中,所述判断装置基于报文分析结果来判断是否存在所述有状态连接。
10.根据权利要求8所述的虚拟交换机,还包括:
序列号记录装置,记录每个有状态连接对应的报文的最新序列号;以及
序列号设置装置,基于最新序列号,在所述重置请求报文中设置序列号,其中,所述云服务器和所述另一云服务器基于所述序列号是否期望的序列号来对所接收到的报文进行校验。
11.一种软件定义网络架构,包括:
多个设备,每个设备上运行有一个或多个云服务器;
网络控制器,维护云服务器与设备之间的映射关系;
负载平衡器,对云服务器进行流量分发的负载均衡服务;以及
虚拟交换机,在负载平衡器和云服务器所在的设备之间进行报文传送,
其中,响应于云服务器从第一设备热迁移到第二设备,虚拟交换机判断是否存在所述云服务器与另一云服务器之间经由负载均衡器的有状态连接;
在存在所述有状态连接的情况下,虚拟交换机基于第一设备的网络地址,向热迁移前的所述云服务器和负载均衡器发送针对所述有状态连接的重置请求报文;并且
在所述云服务器热迁移到第二设备之后,与所述另一云服务器之间经由所述负载均衡器重新建立所述有状态连接。
12.根据权利要求11所述的软件定义网络架构,其中,
虚拟交换机对所述云服务器和所述负载均衡器之间传送的报文进行分析,以确定所述报文是否对应于有状态连接,从而判断云服务器上是否存在有状态连接。
13.根据权利要求11所述的软件定义网络架构,其中,
虚拟交换机记录每个有状态连接对应的报文的最新序列号,并且基于最新序列号,在所述重置请求报文中设置序列号,
所述云服务器和所述另一云服务器基于所述序列号是否期望的序列号来对所接收到的报文进行校验。
14.根据权利要求11所述的软件定义网络架构,其中,
负载均衡器基于所述重置请求报文中所包含的第一设备的网络地址,查找所述有状态连接的信息,以便确定所述有状态连接对应的所述另一云服务器,并向所述另一云服务器转发所述重置请求报文。
15.一种计算设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至7中任何一项所述的方法。
16.一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1至7中任何一项所述的方法。
CN202010706573.1A 2020-07-21 2020-07-21 云服务器热迁移方法、虚拟交换机和软件定义网络架构 Pending CN113973114A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010706573.1A CN113973114A (zh) 2020-07-21 2020-07-21 云服务器热迁移方法、虚拟交换机和软件定义网络架构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010706573.1A CN113973114A (zh) 2020-07-21 2020-07-21 云服务器热迁移方法、虚拟交换机和软件定义网络架构

Publications (1)

Publication Number Publication Date
CN113973114A true CN113973114A (zh) 2022-01-25

Family

ID=79584592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010706573.1A Pending CN113973114A (zh) 2020-07-21 2020-07-21 云服务器热迁移方法、虚拟交换机和软件定义网络架构

Country Status (1)

Country Link
CN (1) CN113973114A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114679461A (zh) * 2022-03-30 2022-06-28 浙江大学 面向虚拟机热迁移场景的云网络会话连通性保障方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114679461A (zh) * 2022-03-30 2022-06-28 浙江大学 面向虚拟机热迁移场景的云网络会话连通性保障方法及系统
CN114679461B (zh) * 2022-03-30 2023-02-14 浙江大学 面向虚拟机热迁移场景的云网络会话连通性保障方法及系统

Similar Documents

Publication Publication Date Title
US9880870B1 (en) Live migration of virtual machines using packet duplication
EP3304303B1 (en) Allocating or announcing availability of a software container
US9659075B2 (en) Providing high availability in an active/active appliance cluster
JP4087271B2 (ja) 代理応答装置およびネットワークシステム
US20190281110A1 (en) Sticky session data migration
WO2009050187A1 (en) Method and system for handling failover in a distributed environment that uses session affinity
US10120779B1 (en) Debugging of hosted computer programs
US10860375B1 (en) Singleton coordination in an actor-based system
CN113326101A (zh) 基于远程直接数据存储的热迁移方法、装置及设备
US11848995B2 (en) Failover prevention in a high availability system during traffic congestion
CN113973114A (zh) 云服务器热迁移方法、虚拟交换机和软件定义网络架构
CN108768849B (zh) 报文处理方法及装置
US11039102B1 (en) Video feed redundancy
US20220337615A1 (en) Dynamic sessional redirection and proxy
US11119871B2 (en) Systems and methods recovering from the failure of a server load balancer
US11528222B2 (en) Decentralized control plane
US9348672B1 (en) Singleton coordination in an actor-based system
US11757987B2 (en) Load balancing systems and methods
EP4031990A1 (en) System and method for managing blockchain nodes
CN110958182B (zh) 一种通信方法及相关设备
CN113641364B (zh) 一种用于超融合云平台多节点系统部署的方法及系统
US10574571B2 (en) Method for transparently logging and replicating distributed services
CN114826887A (zh) 私网连接通信方法和系统
CN115567452A (zh) 一种负载均衡方法、装置及电子设备和存储介质
CN117527508A (zh) 消息发送方法、装置、存储介质及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40066746

Country of ref document: HK