CN116095049A - 浮动ip转移方法和装置 - Google Patents
浮动ip转移方法和装置 Download PDFInfo
- Publication number
- CN116095049A CN116095049A CN202211694960.3A CN202211694960A CN116095049A CN 116095049 A CN116095049 A CN 116095049A CN 202211694960 A CN202211694960 A CN 202211694960A CN 116095049 A CN116095049 A CN 116095049A
- Authority
- CN
- China
- Prior art keywords
- floating
- virtual machine
- address
- control module
- physical node
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种浮动IP转移方法和装置,应用于集群中的物理节点,该物理节点上部署有虚拟机控制模块和浮动IP控制模块,该方法包括:虚拟机控制模块检测到迁移至物理节点上的虚拟机,确定虚拟机的内网IP地址以及待关联到虚拟机上的浮动IP地址;虚拟机控制模块发出包括浮动IP地址和虚拟机的内网IP地址的超文本传输协议请求;浮动IP控制模块基于超文本传输协议请求,为物理节点的网卡配置浮动IP地址,构建浮动IP地址与虚拟机的内网IP地址的IP转换关系;通过网卡接收到目的地址为浮动IP地址的业务请求,基于IP转换关系将业务请求传输给虚拟机。本申请的方案可以将迁移前的原虚拟机关联的浮动IP地址转移到迁移后的虚拟机上。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种浮动IP转移方法和装置。
背景技术
基于虚拟机热备份技术可以实现虚拟机跨节点的热迁移,基于虚拟机热备份技术可以有效保障虚拟机的高可用性。
在虚拟机热迁移后,为了使得用户能够在无感知的情况下访问热迁移后的虚拟机,可能需要结合浮动IP技术,将原虚拟机绑定的浮动IP地址配置到迁移后的虚拟机上。但是,在虚拟机热迁移后,虚拟机热迁移到的物理节点在获得原虚拟机绑定的浮动IP地址之后,却无法在该物理节点上自动完成浮动IP地址与热迁移后的虚拟机的绑定。
发明内容
本申请提供了一种浮动IP转移方法和装置。
其中,一种浮动IP转移方法,应用于集群中的物理节点,所述物理节点上部署有虚拟机控制模块和浮动IP控制模块,所述方法包括:
所述虚拟机控制模块检测到迁移至所述物理节点上的虚拟机,确定所述虚拟机的内网IP地址以及待关联到所述虚拟机上的浮动IP地址;
所述虚拟机控制模块发出超文本传输协议请求,所述超文本传输协议请求包括:所述浮动IP地址和所述虚拟机的内网IP地址;
所述浮动IP控制模块通过超文本传输服务器获得所述超文本传输协议请求,为所述物理节点的网卡配置所述浮动IP地址,构建所述浮动IP地址与所述虚拟机的内网IP地址的IP转换关系;
通过所述网卡接收到目的地址为所述浮动IP地址的业务请求,基于所述IP转换关系将所述业务请求传输给所述虚拟机。
在一种可能的实现方式中,所述超文本传输协议请求还包括:所述物理节点的节点名称;
在所述构建所述浮动IP地址与所述虚拟机的内网IP地址的关联关系之后,还包括:
所述浮动IP控制模块将目标浮动IP资源信息中记录的历史节点名称更新为所述物理节点的节点名称,所述目标浮动IP资源信息为所述集群中维护的与所述浮动IP地址关联的浮动IP资源信息。
在又一种可能的实现方式中,所述集群中部署有用于管理所述虚拟机控制模块的容器编排系统;
在将目标浮动IP资源信息中记录的历史节点名称更新为所述物理节点的节点名称之前,还包括:
所述浮动IP控制模块向所述容器编排系统请求所述虚拟机控制模块维护的虚拟机集合信息;
所述浮动IP控制模块将目标浮动IP资源信息中记录的历史节点名称更新为所述物理节点的节点名称,包括:
如果所述虚拟机集合信息中记录的所述虚拟机所在的目标物理节点的节点名称与所述物理节点的节点名称相同,所述浮动IP控制模块将目标浮动IP资源信息中记录的历史节点名称更新为所述物理节点的节点名称。
在又一种可能的实现方式中,在所述虚拟机控制模块检测到迁移至所述物理节点上的虚拟机之前,还包括:
所述浮动IP控制模块在所述物理节点上创建超文本传输服务器。
在又一种可能的实现方式中,在所述浮动IP控制模块将目标浮动IP资源信息中记录的历史节点名称更新为所述物理节点的节点名称之后,还包括:
所述浮动IP控制模块检测到所述目标浮动IP资源信息存在信息变更,且所述目标浮动IP资源信息中当前记录的当前节点名称不同于所述物理节点的节点名称,所述浮动IP控制模块删除所述物理节点的网卡中配置的所述浮动IP地址以及所述物理节点中存储的所述IP转换关系。
在又一种可能的实现方式中,在所述浮动IP控制模块将目标浮动IP资源信息中记录的历史节点名称更新为所述物理节点的节点名称之后,还包括:
所述浮动IP控制模块将所述目标浮动IP资源信息中资源配置状态设置为已完成变更,以使得变更后的目标浮动IP资源信息能够同步给所述集群中各物理节点。
在又一种可能的实现方式中,在所述浮动IP控制模块将目标浮动IP资源信息中记录的历史节点名称更新为所述物理节点的节点名称的同时,还包括:
浮动IP控制模块基于所述虚拟机的内网IP地址,更新所述目标浮动IP资源信息中记录的内网IP地址。
在又一种可能的实现方式中,还包括:
检测到关闭所述物理节点或者所述虚拟机的指令,所述浮动IP控制模块删除所述物理节点的网卡中配置的所述浮动IP地址以及所述物理节点中存储的所述IP转换关系;
在所述物理节点中所述虚拟机开机后,浮动IP控制模块获得所述物理节点上的虚拟机状态信息;
如果所述虚拟机状态信息表征所述虚拟机未被迁移,所述浮动IP控制模块依据所述目标浮动IP资源信息中的浮动IP地址以及所述虚拟机的内网IP地址,为所述物理节点的网卡配置所述浮动IP地址,构建所述浮动IP地址与所述虚拟机的内网IP地址的IP转换关系。
其中,一种浮动IP转移装置,应用于集群中的物理节点,所述物理节点上部署有虚拟机控制模块和浮动IP控制模块,所述装置包括:
信息确定单元,用于通过所述虚拟机控制模块检测到迁移至所述物理节点上的虚拟机,确定所述虚拟机的内网IP地址以及待关联到所述虚拟机上的浮动IP地址;
请求发送单元,用于通过所述虚拟机控制模块发出超文本传输协议请求,所述超文本传输协议请求包括:所述浮动IP地址和所述虚拟机的内网IP地址;
信息配置单元,用于通过所述浮动IP控制模块通过超文本传输服务器获得所述超文本传输协议请求,为所述物理节点的网卡配置所述浮动IP地址,构建所述浮动IP地址与所述虚拟机的内网IP地址的IP转换关系;
业务处理单元,用于通过所述网卡接收到目的地址为所述浮动IP地址的业务请求,基于所述IP转换关系将所述业务请求传输给所述虚拟机。
在一种可能的实现方式中,所述请求发送单元发出的超文本传输协议请求还包括:所述物理节点的节点名称;
还包括:
资源信息更新单元,用于在所述信息配置单元构建所述浮动IP地址与所述虚拟机的内网IP地址的关联关系之后,通过所述浮动IP控制模块将目标浮动IP资源信息中记录的历史节点名称更新为所述物理节点的节点名称,所述目标浮动IP资源信息为所述集群中维护的与所述浮动IP地址关联的浮动IP资源信息。
由以上可知,在本申请实施例中,物理节点中的虚拟机控制模块检测到迁移至该物理节点上的虚拟机之后,会确定虚拟机的内网IP地址以及待关联到该虚拟机上的浮动IP地址,通过超文本传输协议请求将该浮动IP地址和虚拟机的内网IP地址发出。基于此,物理节点上的浮动IP控制模块可以通过超文本传输服务器获得浮动IP地址和虚拟机的内网IP地址,自然也就可以为物理节点的网卡配置该浮动IP地址,并构建出该浮动IP地址与虚拟机的内网IP地址的IP转换关系,从而可以实现将迁移前的原虚拟机关联的浮动IP地址转移到迁移后的虚拟机上,使得物理节点接收到目的地址为该浮动IP地址的业务请求后,可以基于该IP转换关系将该业务请求传输给该虚拟机。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1示出了本申请实施例提供的浮动IP转移方法的一种流程示意图;
图2示出了本申请实施例提供的浮动IP转移方法的又一种流程示意图;
图3示出了本申请实施例提供的浮动IP转移方法的又一种流程交互示意图;
图4示出了本申请实施例中虚拟机关闭与开启的情况下,浮动IP控制模块处理浮动IP地址的一种处理流程示意图;
图5示出了本申请实施例中浮动IP转移装置的一种组成结构示意图;
图6示出了本申请实施例提供的电子设备的一种组成结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,其示出了本申请实施例提供的浮动IP转移方法的一种流程示意图,本实施例的方法可以应用于集群中的物理节点,该物理节点上部署有虚拟机控制模块和浮动IP控制模块。
本实施例的方法可以包括:
S101,虚拟机控制模块检测到迁移至物理节点上的虚拟机,确定该虚拟机的内网IP地址以及待关联到该虚拟机上的浮动IP地址。
虚拟机控制模块为物理节点上用于管理物理节点上各个虚拟机的功能模块。在本申请中,每个物理节点上都运行有一个虚拟机控制模块,以管理和维护该物理节点上各个虚拟机的运行以及迁移等等虚拟机相关状态。
其中,检测到迁移至物理节点上的虚拟机是指:检测到集群中其他物理节点上的虚拟机通过热迁移方式迁移到该物理节点的虚拟机上。在此基础上,该物理节点上的该虚拟机可以替代原物理节点上的被迁移的虚拟机对外提供业务服务,以保证集群向外提供业务服务的可靠性。
如,物理节点A上的虚拟机a出现异常等原因,可以通过热迁移技术将物理节点A上的虚拟机a迁移到物理节点B上的虚拟机b,那么该物理节点B中虚拟机b就属于被迁移过来的虚拟机。
可以理解的是,热迁移的具体实现方式可以有多种可能,本申请对此不加限制。
如,在一种实现方式中,集群中虚拟机设置具备热迁移功能后,集群会在不同物理节点上生成两个虚拟机,这两个虚拟机一个作为主虚拟机(PVM),一个作为备虚拟机(SVM),主虚拟机和备虚拟机会定时或者不定时同步状态数据,以使得主虚拟机和备虚拟机上的数据同步。
相应的,在某个物理节点上的虚拟机控制模块检测到主虚拟机异常后,就会触发执行虚拟机迁移,以由其他物理节点上的与该主虚拟机对应的备虚拟机来接管该主虚拟机对外提供的服务。在此基础上,备用虚拟机所在的物理节点上的虚拟控制模块在确定主虚拟机迁移到该备用虚拟机上之后,会将备用虚拟机的虚拟机状态更改为主虚拟机。
可以理解的是,在其他物理节点将原虚拟机迁移到该物理节点的虚拟机之后,该虚拟机控制模块可以确定物理节点该虚拟机在该物理节点上的IP(Internet Protocol,互联网协议)地址,即内网IP地址。同时,由于该虚拟机控制模块还能够获得迁移到该物理节点上的虚拟机对应的原虚拟机(例如原主虚拟机)绑定的浮动IP地址,而该浮动IP地址就是需要迁移到该物理节点的该虚拟机上,即待关联(或者说待绑定到)该虚拟机上的浮动IP地址。
浮动IP地址是指可以漂浮在任一台主机或者虚拟机上,但是IP地址本身不会发生变化。
其中,虚拟机控制模块获得该浮动IP地址的方式可以与目前的常规方式相同,对此不加限制。例如,在虚拟机热迁移过程中,原虚拟机所在的虚拟机控制模块可以向该虚拟机控制模块传输原虚拟机绑定的浮动IP地址等信息。
当然,虚拟机控制模块检测到迁移到物理节点上的虚拟机之后,还可以确定该虚拟机的名称,该虚拟机所在的命名空间,以及该虚拟机所在的物理节点(也就是运行该虚拟机控制模块的物理节点)的节点名称等信息中部分或者全部,对此不加限制。其中,虚拟机所在的命名空间可以一个可命名的空间范围,基于虚拟机的名称和虚拟机所在的命名空间可以唯一标识一个虚拟机。
S102,虚拟机控制模块发出超文本传输协议请求。
其中,超文本传输协议(Hyper Text TransferProtocol,HTTP)请求包括:浮动IP地址和虚拟机的内网IP地址。
在本申请中,虚拟机控制模块发出的超文本传输协议请求的目的接收方为浮动IP控制模块预先创建的超文本传输服务器。
如,虚拟机控制模块与浮动IP控制模块之间预先配置了超文本传输服务器对应的指定端口,在此基础上,虚拟机控制模块可以向该指定端口传输该超文本传输协议请求,以便后续浮动IP控制模块预先创建的该超文本传输服务器可以监测到并获得该超文本传输协议请求。
S103,浮动IP控制模块通过超文本传输服务器获得超文本传输协议请求,为物理节点的网卡配置浮动IP地址,构建浮动IP地址与虚拟机的内网IP地址的IP转换关系。
可以理解的是,浮动IP控制模块可以为管理物理节点中浮动IP的控制系统模块。如,该浮动IP控制模块可以配置浮动IP地址与虚拟机的绑定关系,解除浮动IP地址与虚拟机的绑定关系,维护浮动IP地址对应的浮动IP资源信息等。
在本申请中,集群中的每个物理节点上都部署并运行有该浮动IP控制模块。例如,以集群为基于K8S这一容器编排系统的集群为例,可以通过DaemonSet方式在集群中每个物理节点上部署浮动IP控制模块相关程序。
其中,超文本传输服务器可以为浮动IP控制模块在该物理节点上创建的HTTP服务器,该HTTP服务器作用就是监听来自虚拟机控制模块发出的HTTP请求。
可以理解的是,该超文本传输服务器可以预先创建。基于此,在虚拟机控制模块检测到迁移至物理节点上的虚拟机之前,该浮动IP控制模块会在物理节点上创建超文本传输服务器。如,浮动IP控制模块REST API技术或者其他用于创建应用程序接口的技术来创建HTTP服务器。
其中,为物理节点的网卡配置浮动IP地址也就是将该浮动IP地址添加到该网卡中,实现浮动IP地址与该网卡的绑定,在此基础上,网络中接收到目的地为浮动IP地址的业务请求就会被路由器等转发到该网卡,以使得物理节点接收到指向该浮动IP地址的业务请求。
其中,构建浮动IP地址与虚拟机的内网IP地址的IP转换关系实际上就是在物理节点中配置浮动IP地址与虚拟机的内网IP地址之间的IP链路关系。
通过该IP转换关系可以确定向该浮动IP地址发送的业务请求需要传输给虚拟机的内网IP地址指向的该虚拟机;而且,该虚拟机发出发起方的地址为虚拟机的内网IP地址的数据之后,基于该IP转换关系可以将该虚拟机发出的数据携带的IP地址转换为该浮动IP地址。
S104,通过网卡接收到目的地址为浮动IP地址的业务请求,基于IP转换关系将业务请求传输给虚拟机。
由步骤S103的介绍可知,在物理节点的网卡配置了浮动IP地址之后,物理节点便可以通过网卡接收到指向该浮动IP地址的业务请求,并基于该IP转换关系确定出该浮动IP地址与虚拟机的内网IP地址之间的对应关系,从而将该业务请求转发给该虚拟机,使得虚拟机可以绑定该浮动IP地址进行数据接收与发送。
由以上可知,在本申请实施例中,物理节点中的虚拟机控制模块检测到迁移至该物理节点上的虚拟机之后,会确定虚拟机的内网IP地址以及待关联到该虚拟机上的浮动IP地址,通过超文本传输协议请求将该浮动IP地址和虚拟机的内网IP地址发出。基于此,物理节点上的浮动IP控制模块可以通过超文本传输服务器获得浮动IP地址和虚拟机的内网IP地址,自然也就可以为物理节点的网卡配置该浮动IP地址,并构建出该浮动IP地址与虚拟机的内网IP地址的IP转换关系,从而可以实现将迁移前的原虚拟机关联的浮动IP地址转移到迁移后的虚拟机上,使得物理节点接收到目的地址为该浮动IP地址的业务请求后,可以基于该IP转换关系将该业务请求传输给该虚拟机。
另外,本申请的方案中物理节点的浮动IP控制模块可以通过虚拟机控制模块获得迁移到该物理节点上的虚拟机的内网IP地址以及待关联到该虚拟机上的浮动IP地址,并完成浮动IP地址与迁移过来的虚拟机的绑定,无需浮动IP控制模块与通过集群中部署的容器编排系统来获得迁移过来的虚拟机的相关信息,因此,即使是容器编排系统出现异常或者暂时不可用等情况,也可以实现将浮动IP地址绑定到迁移后的虚拟机上,从而可以无需等待容器编排系统恢复,可以有效保证浮动IP转移的时效性。
可以理解的是,为了使得集群中各物理节点都能够了解到每个浮动IP地址所绑定的虚拟机的相关信息,在集群中可以维护浮动IP地址关联的浮动IP资源信息。在此基础上,对于集群中任意一个物理节点而言,如果该物理节点上存在被迁移过来的虚拟机,那么浮动IP控制模块在物理节点上配置了该虚拟机与浮动IP地址的绑定关系之后,该浮动IP控制模块还需要更新该浮动IP地址对应的浮动IP资源信息。
基于此,在物理节点上的虚拟机控制模块检测到物理节点存在虚拟机迁移后,还需要将该虚拟机所在的物理节点的信息通知该浮动IP控制模块,以便浮动IP控制模块基于虚拟机所在的物理节点的信息,更新浮动IP地址对应的浮动IP资源信息。相应的,在本申请以上实施例中,虚拟机控制模块发出的超文本传输协议请求还可以包括:该物理节点的节点名称。
相应的,浮动IP控制模块在构建所述浮动IP地址与所述虚拟机的内网IP地址的关联关系之后,还可以将目标浮动IP资源信息中记录的历史节点名称更新为该物理节点的节点名称,该目标浮动IP资源信息为集群中维护的与该浮动IP地址关联的浮动IP资源信息。
其中,浮动IP地址关联的浮动IP资源信息中不仅记录有浮动IP地址绑定的该虚拟机所在的物理节点的节点名称,还可以记录有虚拟机的内网IP地址。
在实际应用中,虚拟机的热迁移技术也可以使得虚拟机迁移到其他物理节点之后,虚拟机的内网IP地址保持不断。当然,为了避免虚拟机的内网IP地址变化,导致浮动IP地址对应的浮动IP资源信息中虚拟机的内网IP地址变化,本申请浮动IP控制模块还可以基于该虚拟机的内网IP地址,更新目标浮动IP资源中记录的内网IP地址。
如,如果虚拟机的内网IP地址与该浮动IP地址关联的目标浮动IP资源信息中记录的虚拟机的内网IP地址一致,而无需变更目标浮动IP资源信息中虚拟机的内网IP地址;否则,可以将目标浮动IP资源信息中的内网IP地址更改为该虚拟机的内网IP地址。
可以理解的是,浮动IP地址关联的浮动IP资源信息中还可以记录有虚拟机的其他信息。如下表示出了浮动IP资源信息中涉及到的各种资源的一个示例:
字段 | 类型 | 说明 |
FloatingIPAddress | 字符型 | 浮动IP地址 |
FixedIPAddress | 字符型 | 虚拟机的内网IP地址 |
VmName | 字符型 | 虚拟机的名称 |
VmNameSpace | 字符型 | 虚拟机所在的命名空间 |
NodeName | 字符型 | 虚拟机所在的物理节点名称 |
Status | 字符型 | 资源配置完成状态 |
可以理解的是,在实际应用中,与虚拟机的内网IP地址相似,虚拟机热迁移后可以维持虚拟机的名称以及虚拟机所在的命名空间不变,因此,在浮动IP控制模块更改浮动IP地址对应的浮动IP资源信息时,可以无需改变虚拟机的名称以及虚拟机所在的命名空间。
当然,如果虚拟机迁移过程中,虚拟机的名称以及所在的命名空间会发生变化,那么虚拟机控制模块向浮动IP控制模块发送的HTTP请求中还可以包括:迁移过来的该虚拟机的名称以及所在的命名空间等信息,以便浮动IP控制模块基于虚拟机的名称以及所在的命名空间等,更新该浮动IP模块中浮动IP资源信息中的相关信息。
可以理解的是,虚拟机控制模块检测到其他虚拟机迁移到物理节点的虚拟机后就会通知浮动IP控制模块,但是此时虚拟机切换可能尚未完成或者尚未切换成功。如果虚拟机迁移不成功的情况下便更改了浮动IP地址关联的浮动IP资源信息,则可能导致集群中通信异常。基于此,浮动IP控制模块还可以在确定虚拟机已成功迁移的情况下,再更改该浮动IP地址关联的浮动IP资源信息。下面结合一个实施例进行说明。
如图2所示,其示出了本申请实施例提供的浮动IP转移方法的又一种流程示意图,本实施例应用于集群中的物理节点,该集群中容器编排系统,容器编排系统可以管理集群中各个物理节点上的虚拟机控制模块。
其中,容器编排系统可以是基于容器编排器技术的程序系统,也就是一种编排容器的工具,其可以用于自动化部署、扩展和管理容器化应用。容器编排系统可以为容器化的应用提供资源调度、部署运行、服务发现和扩缩容等多种服务功能。相应的,部署有容器编排系统的集群中各个物理节点可以上部署有至少一个容器,通过容器可以启动并运行虚拟机。
其中,该容器编排系统可以有多种可能,对此不加限制。例如,该容器编排系统可以为k8s系统等。
本实施例的方法可以包括:
S201,虚拟机控制模块检测到迁移至所述物理节点上的虚拟机,确定该虚拟机的属性信息、虚拟机所在的物理节点的节点名称以及待关联到该虚拟机上的浮动IP地址。
其中,该虚拟机的属性信息至少包括:虚拟机的内网IP地址。当然,该虚拟机的属性信息还可以包括虚拟机的名称和虚拟机所在的命名空间。
S202,虚拟机控制模块发出超文本传输协议请求。
该超文本传输协议请求包括:该虚拟机的属性信息、虚拟机所在的物理节点的节点名称以及该浮动IP地址。其中,该虚拟机的属性信息至少包括虚拟机的内网IP地址,当然还可以包括虚拟机的名称以及虚拟机所在的命名空间。
S203,浮动IP控制模块通过超文本传输服务器获得该超文本传输协议请求,为该物理节点的网卡配置该浮动IP地址,构建该浮动IP地址与该虚拟机的内网IP地址的IP转换关系。
S204,在通过网卡接收到目的地址为浮动IP地址的业务请求后,基于该IP转换关系将该业务请求传输给该虚拟机。
以上步骤S201到S204可以参见前面实施例的相关介绍,在此不再赘述。
S205,浮动IP控制模块向容器编排系统请求该虚拟机控制模块维护的虚拟机集合信息。
其中,虚拟机控制模块维护的虚拟机集合信息可以包括该虚拟机控制模块维护的该物理机下各个虚拟机的状态信息,如虚拟机的迁移是否成功,虚拟机迁移后所在的物理节点的节点名称等。该虚拟机集合信息也可以称为虚拟机实例vmi资源信息。
可以理解的是,如果集群中容器编排系统存在故障或者异常,例如容器编排系统由于故障,尚未从主物理节点转移到其他物理节点导致容器编排系统不可用等,那么浮动IP控制模块可以启动一个协程,通过该协程每隔一段时间向容器编排系统请求一次该虚拟机控制模块对应的虚拟机集合信息,直到容器编排系统恢复正常,使得该浮动IP控制模块收到该虚拟机集合信息。
当然,如果该容器编排系统不存在异常,那么浮动IP控制模块便可以很快获得该虚拟机集合信息。
需要说明的是,该步骤S205可以在该步骤S203之后执行,在实际应用中,在执行步骤S205之前可能尚未接收到该业务请求,则不会执行该步骤S204,因此,步骤S204和S205的顺序也并不限于图2所示。
S206,如果该虚拟机集合信息中记录的该虚拟机所在的目标物理节点的节点名称与该物理节点的节点名称相同,该浮动IP控制模块将与浮动IP地址关联的目标浮动IP资源信息中记录的历史节点名称更新为物理节点的节点名称。
其中,为了便于区分,将该虚拟机集合信息中记录的该虚拟机所在的物理节点称为目标物理节点。
可以理解的是,如果该虚拟机已经成功迁移到该物理节点,那么该物理节点的虚拟机控制模块中维护的该虚拟机所在的目标物理节点的节点名称必然是该物理节点的节点名称,在此情况下,浮动IP控制模块可以执行更新该浮动IP地址关联的目标浮动IP资源信息的操作。
其中,为了便于区分,虚拟机迁移前,该目标浮动IP资源信息中记录的物理节点的节点名称称为历史节点名称。
可以理解的是,如果虚拟机迁移过程中,虚拟机的名称、虚拟机所在的命名空间以及虚拟机的内网IP地址均不会发生变化,那么则需要更新该浮动IP地址关联的目标浮动IP资源信息中该虚拟机的名称,所在的命名空间以及内网IP地址。
当然,如果虚拟机迁移过程中会存在虚拟机的名称、所在的命名空间或者虚拟机的内网IP地址中至少一种变化,那么浮动IP控制模块还可以基于接收到的HTTP请求中的虚拟机的属性信息更新该目标浮动IP地址中相应的信息。
S207,浮动IP控制模块将目标浮动IP资源信息中资源配置状态设置为已完成变更,以使得变更后的目标浮动IP资源信息能够同步给该集群中各物理节点。
资源配置状态可以如前面表格中最后一行的资源配置完成状态,其可以表征该目标浮动IP资源信息是否完成变更。如,如果将资源配置状态更改为ready,则表示资源配置状态已完成变更。
在此基础上,由于目标浮动IP资源信息是由集群维护,集群中每个物理节点会同步更新浮动各个浮动IP地址关联的浮动IP资源信息,以使得各个物理节点上的浮动IP控制模块能够及时检测到存在信息变更的浮动IP资源信息。
可以理解的是,该步骤S207可以为一个可选步骤,在实际应用中,集群中各物理节点上的浮动IP控制模块也可以通过其他方式确认集群中存在更新的浮动IP资源信息。如,浮动IP控制模块在更新实浮动IP资源信息后,可以向物理节点中其他浮动IP控制模块发送该变更后的浮动IP资源信息等。
当然,基于集群中浮动IP管理机制的不同,还可以有其他使得浮动IP控制模块获得存在信息变更的浮动IP资源信息的方式,对此不加限制。
可以理解的是,在本申请中,集群中物理节点上的浮动IP控制模块在检测到浮动IP资源信息存在信息变更之后,浮动IP控制模块还需要基于信息变更的浮动IP资源信息判断是否需要解除物理节点的网卡中配置的浮动IP地址以及删除物理节点配置的与该浮动IP地址对应的IP关联信息,以避免同一个浮动IP地址绑定到多个不同物理节点上的情况。
相应的,在本申请以上任意一个实施例中,如果该物理节点上的浮动IP控制模块检测到该目标浮动IP资源信息存在信息变更,则需要判断该目标浮动IP资源信息中当前记录的当前节点名称是否为该物理节点的节点名称。
如果该目标浮动IP资源信息中当前记录的当前节点名称不同于该物理节点的节点名称,则说明该目标浮动IP资源信息中的浮动IP地址已经随着虚拟机的迁移而被绑定到其他物理节点的虚拟机上,因此,该浮动IP控制模块需要删除该物理节点的网卡中配置的该浮动IP地址以及该物理节点中存储的该浮动IP地址与该虚拟机的IP地址之间的IP转换关系。
当然,如果该物理节点上的浮动IP控制模块检测到该目标浮动IP资源信息存在信息变更,且该目标IP资源信息中当前记录的当前节点名称与该物理节点的节点名称相同,那么为了保证目标浮动IP资源信息确实已完成变更,该物理节点还可以检测该目标浮动IP资源信息中的资源配置状态是否为已完成变更,如果不是,则更新该资源配置状态信息为已完成变更。
而对于集群中该物理节点之外的其他任意一个物理节点而言,物理节点检测到该目标浮动IP资源信息之后,发现该目标浮动IP资源信息中记录的虚拟机所在的物理节点并不是自身,而且物理节点上也并非绑定该目标浮动IP资源信息关联的浮动IP地址,则可以不进行任何处理。
为了便于理解,结合一个例子进行说明,假设将第一物理节点上的虚拟机M迁移到第二物理节点的虚拟机N上。为了便于描述,假设虚拟机发生热迁移前后的虚拟机名称及内网IP地址均不发生变化,基于此,虚拟机M和虚拟机N的名称以及内网IP地址可以相同。在此基础上,浮动IP转移流程可以参见图3所示。
为了便于区分,将第一物理节点上部署的虚拟机控制模块称为第一虚拟机控制模块,将第一物理节点上部署的浮动IP控制模块称为第一浮动IP控制模块,而将第二物理节点上的虚拟机控制模块称为第二虚拟机控制模块,类似的,将第二物理节点上的浮动IP控制模块称为第二浮动IP控制模块。
图3示出了本申请实施例提供的浮动IP转移流程在一种应用场景中的流程示意图,本实施例可以包括:
S301,第二物理节点的第二虚拟机控制模块检测到第一物理节点上的虚拟机M迁移到该第二物理节点的虚拟机N上,确定该虚拟机N的内网IP地址、待从虚拟机M转移到虚拟机N上的浮动IP地址以及该虚拟机N所在的第二物理节点的节点名称。
S302,第二虚拟机控制模块向第二物理节点上的HTTP服务器发送HTTP请求。
其中,该HTTP请求包括该虚拟机N的内网IP地址、该浮动IP地址以及该得让物理节点的节点名称。
该HTTP服务器为该第二物理节点上的第二浮动IP控制模块预先创建的。
S303,第二物理节点的第二浮动IP控制模块通过其创建的该HTTP服务器获得该HTTP请求,为第二物理节点的网卡配置该浮动IP地址,在第二物理节点中构建并存储该浮动IP地址与该虚拟机N的内网IP地址之间的IP转换关系。
S304,第二浮动IP控制模块向容器编排系统请求该第二虚拟机控制模块维护的虚拟机集合信息。
S305,如果该虚拟机集合信息中记录的虚拟机N所在的物理节点的节点名称与该第二物理节点的节点名称相同,第二浮动IP控制模块将与浮动IP地址关联的目标浮动IP资源信息中记录的历史节点名称更新为第二物理节点的节点名称,将目标浮动IP资源信息中资源配置状态设置为已完成变更。
S306,第一物理节点上的第一浮动IP控制模块检测到该目标浮动IP资源信息存在信息变更,确认该第一物理节点上存储有与该目标浮动IP资源信息中的浮动IP地址对应的IP转换关系,且该目标浮动IP资源信息中记录的节点名称不是该第一物理节点的节点名称,删除第一物理节点的网卡中配置的该浮动IP地址以及第一物理节点中存储的与该浮动IP地址对应的IP转换关系。
对于第二物理节点而言,该第二浮动IP控制模块检测到该目标浮动IP资源信息存在信息变更,确定该第二物理节点上存储有与目标浮动IP资源信息中的浮动IP地址对应的IP转换关系,且该目标浮动IP资源信息中记录的节点名称为该第二物理节点的节点名称,则结束操作。
当然,第二浮动IP控制模块在确认该第二物理节点上存储有与目标浮动IP资源信息中的浮动IP地址对应的IP转换关系,且该目标浮动IP资源信息中记录的节点名称为该第二物理节点的节点名称的情况下,还可以进一步确认检测目标浮动IP资源信息中的资源配置状态是否为已完成变更,如果是,则无需进行其他处理;如果否,可以将目标浮动IP资源信息中的资源配置状态更新为已完成变更。
可以理解的是,如果后续第二物理节点上的虚拟机N迁移到其他物理节点,而导致该目标浮动IP资源信息发生信息变更,那么第二物理节点上的第二浮动IP控制模块可以执行与步骤S306中第一浮动IP控制模块进行相似的操作,在此不再赘述。
可以理解的是,在实际应用中,用户也可以为物理节点上的虚拟机配置浮动IP资源。具体的,用户向物理节点的容器编排系统输入浮动IP配置信息,该浮动IP配置信息包括:浮动IP地址、浮动IP地址所需绑定的虚拟机的名称以及该虚拟机的内网IP地址。
容器编排系统可以将浮动IP配置信息传输给物理节点的浮动IP控制模块。浮动IP控制模块可以按照前面实施例的介绍,为该物理节点的网卡配置用户设定的该浮动IP地址,并在物理节点上存储该浮动IP地址与该虚拟机的内网IP地址的IP转换关系。
另外,该浮动IP控制模块基于该虚拟机所在的物理节点的节点名称以及该浮动IP配置信息,向集群中存储该浮动IP地址对应的浮动IP资源信息。
在本申请中,在通过前面提到的任意一种方式为物理节点上的虚拟机绑定了浮动IP地址的前提下,如果虚拟机正常关闭或者由于其他异常原因导致虚拟机关机,那么浮动IP控制模块不仅会清除该物理节点中网卡配置的与该虚拟机绑定的浮动IP地址,还会删除该物理节点中存储的与该浮动IP地址对应的IP转换关系。在此基础上,虚拟机每次开机后,浮动IP控制模块都需要基于该虚拟机关联的浮动IP资源信息,重新在物理节点上配置该虚拟机与该浮动IP地址的绑定关系。
其中,虚拟机关联的浮动IP资源信息是指包含该虚拟机的名称以及虚拟机所在的命名空间的浮动IP资源信息。
在以上基础上,如果由于物理节点上的虚拟机出现异常导致虚拟机被迁移,那么被迁移的该虚拟机原本绑定的IP地址对应的浮动IP资源控制信息被更新后,该物理节点上的浮动IP控制模块也可以及时获得更新后的该浮动IP资源控制信息。在该虚拟机重新开机后,浮动IP控制模块基于更新后的浮动IP资源控制信息,可以判断出该浮动IP资源信息中当前记录的当前节点名称不是该物理节点,所以该浮动IP控制模块不会基于该更新后的浮动IP资源控制信息,重新为已迁移的该虚拟机重新绑定该浮动IP地址。
但是,如果由于物理节点出现故障而导致物理节点上的虚拟机发生迁移,那么在集群中更新了该虚拟机原本绑定的浮动IP地址对应的浮动IP资源信息后,物理节点上的浮动IP控制模块无法及时获得更新后的浮动IP资源信息。在此基础上,物理节点上的故障被修复而重新开机后,浮动IP控制模块仍可能会利用本地存储的尚未更新的浮动IP资源信息,为已迁移的虚拟机绑定该浮动IP地址,从而导致浮动IP地址绑定错误。
为了避免该问题,本申请中,在虚拟机开机后,本申请还会检测虚拟机是否属于已迁移的虚拟机,如果是,则不会再为基于该虚拟机关联的浮动IP资源信息重新为该虚拟机绑定浮动IP地址。
如,参见图4所示,其示出了本申请中虚拟机关闭与开启的情况下,浮动IP控制模块处理浮动IP地址的一种处理流程示意图,流程应用于集群中的物理节点,本流程可以包括:
S401,检测到关闭物理节点或者虚拟机的指令,浮动IP控制模块删除该物理节点的网卡中配置的与该虚拟机关联的浮动IP地址,删除该物理节点中存储的与该浮动IP地址对应的IP转换关系。
其中,该虚拟机可以为前面提到的迁移到该物理节点上的虚拟机。本实施例可以是在基于前面任意一个实施例为该虚拟机绑定了浮动IP地址的基础上,执行的操作。
S402,在该物理节点中该虚拟机开机后,浮动IP控制模块获得该物理节点上的虚拟机状态信息。
其中,该虚拟机状态信息用于表征虚拟机是否已被迁移。如,在虚拟机迁移是主虚拟机迁移到备虚拟机的情况下,该该虚拟机状态信息可以表征虚拟机是否仍为主虚拟机状态,如果是,则说明该虚拟机尚未被迁移,该虚拟机仍作为主虚拟机运行在该物理节点上。
S403,如果该虚拟机状态信息表征该虚拟机未被迁移,浮动IP控制模块依据目标浮动IP资源信息中的浮动IP地址以及虚拟机的内网IP地址,为物理节点的网卡配置该浮动IP地址,构建该浮动IP地址与该虚拟机的内网IP地址的IP转换关系。
由前面介绍可知,如果该虚拟机未被迁移,则不会存在由于虚拟机迁移而更新该虚拟机(或者说虚拟机绑定的浮动IP地址)关联的目标浮动IP资源信息的情况,因此,即使是由于物理节点故障导致该虚拟机出现关机,那么也不存在物理节点上的浮动IP控制模块没有及时更新目标浮动IP资源信息的情况,也就不出现由于目标浮动IP资源信息未及时更新而导致的浮动IP地址配置异常的情况。
当然,如果虚拟机状态信息表征该虚拟机已被迁移,此时则无需在该物理节点上为该虚拟机绑定浮动IP地址等操作,也就无需执行为网卡配置浮动IP以及构建相应的IP转换关系的操作。
对应本申请实施例提供的浮动IP转移方法,本申请实施例还提供了一种浮动IP转移装置。
如图5所示,其示出了本申请实施例提供的浮动IP转移装置的一种组成结构示意图,该装置应用于集群中的物理节点,所述物理节点上部署有虚拟机控制模块和浮动IP控制模块,所述装置包括:
信息确定单元501,用于通过所述虚拟机控制模块检测到迁移至所述物理节点上的虚拟机,确定所述虚拟机的内网IP地址以及待关联到所述虚拟机上的浮动IP地址;
请求发送单元502,用于通过所述虚拟机控制模块发出超文本传输协议请求,所述超文本传输协议请求包括:所述浮动IP地址和所述虚拟机的内网IP地址;
信息配置单元503,用于通过所述浮动IP控制模块通过超文本传输服务器获得所述超文本传输协议请求,为所述物理节点的网卡配置所述浮动IP地址,构建所述浮动IP地址与所述虚拟机的内网IP地址的IP转换关系;
业务处理单元504,用于通过所述网卡接收到目的地址为所述浮动IP地址的业务请求,基于所述IP转换关系将所述业务请求传输给所述虚拟机。
在一种可能的实现方式中,所述请求发送单元发出的超文本传输协议请求还包括:所述物理节点的节点名称;
该装置还包括:
信息更新单元,用于在所述信息配置单元构建所述浮动IP地址与所述虚拟机的内网IP地址的关联关系之后,通过所述浮动IP控制模块将目标浮动IP资源信息中记录的历史节点名称更新为所述物理节点的节点名称,所述目标浮动IP资源信息为所述集群中维护的与所述浮动IP地址关联的浮动IP资源信息。
在又一种可能的实现方式中,所述集群中部署有用于管理所述虚拟机控制模块的容器编排系统;
该装置还包括:
信息请求单元,用于在信息更新单元将目标浮动IP资源信息中记录的历史节点名称更新为所述物理节点的节点名称之前,通过该浮动IP控制模块向所述容器编排系统请求所述虚拟机控制模块维护的虚拟机集合信息;
该信息更新单元包括:
信息更新子单元,用于如果所述虚拟机集合信息中记录的所述虚拟机所在的目标物理节点的节点名称与所述物理节点的节点名称相同,通过所述浮动IP控制模块将目标浮动IP资源信息中记录的历史节点名称更新为所述物理节点的节点名称。
在又一种可能的实现方式中,该装置还包括:
服务器创建单元,用于在信息确定单元通过所述虚拟机控制模块检测到迁移至所述物理节点上的虚拟机之前,通过所述浮动IP控制模块在所述物理节点上创建超文本传输服务器。
在又一种可能的实现方式中,该装置还包括:
资源回收单元,用于在信息更新单元将目标浮动IP资源信息中记录的历史节点名称更新为所述物理节点的节点名称之后,通过所述浮动IP控制模块检测到所述目标浮动IP资源信息存在信息变更,且所述目标浮动IP资源信息中当前记录的当前节点名称不同于所述物理节点的节点名称,所述浮动IP控制模块删除所述物理节点的网卡中配置的所述浮动IP地址以及所述物理节点中存储的所述IP转换关系。
在又一种可能的实现方式中,该装置还包括:
状态修改单元,用于在信息更新单元将所述浮动IP地址关联的目标浮动IP资源信息中的节点名称更新为所述物理节点的节点名称之后,通过所述浮动IP控制模块将所述目标浮动IP资源信息中资源配置状态设置为已完成变更,以使得变更后的目标浮动IP资源信息能够同步给所述集群中各物理节点。
在又一种可能的实现方式中,地址更新单元,用于在信息更新单元将目标浮动IP资源信息中记录的历史节点名称更新为所述物理节点的节点名称的同时,通过浮动IP控制模块基于所述虚拟机的内网IP地址,更新所述目标浮动IP资源信息中记录的内网IP地址。
在又一种可能的实现方式中,该装置还包括:
配置清除单元,用于检测到关闭所述物理节点或者所述虚拟机的指令,通过所述浮动IP控制模块删除所述物理节点的网卡中配置的所述浮动IP地址以及所述物理节点中存储的所述IP转换关系;
状态获得单元,用于在所述物理节点中所述虚拟机开机后,通过浮动IP控制模块获得所述物理节点上的虚拟机状态信息;
重配置单元,用于如果所述虚拟机状态信息表征所述虚拟机未被迁移,通过所述浮动IP控制模块依据所述目标浮动IP资源信息中的浮动IP地址以及所述虚拟机的内网IP地址,为所述物理节点的网卡配置所述浮动IP地址,构建所述浮动IP地址与所述虚拟机的内网IP地址的IP转换关系。
又一方面,本申请还提供了一种电子设备,该电子设备可以为前面提到的物理节点。如图6所示,其示出了该电子设备的一种组成结构示意图,该电子设备可以为任意类型的电子设备,该电子设备至少包括处理器601和存储器602;
其中,处理器601用于执行如上任意一个实施例中的浮动IP转移方法。
该存储器602用于存储处理器执行操作所需的程序。
可以理解的是,该电子设备还可以包括显示单元603以及输入单元604。
当然,该电子设备还可以具有比图6更多或者更少的部件,对此不加限制。
另一方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上任意一个实施例所述的浮动IP转移方法。
本申请还提出了一种计算机程序,该计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机程序在电子设备上运行时,用于执行如上任意一个实施例中的浮动IP转移方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。同时,本说明书中各实施例中记载的特征可以相互替换或者组合,使本领域专业技术人员能够实现或使用本申请。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种浮动IP转移方法,应用于集群中的物理节点,所述物理节点上部署有虚拟机控制模块和浮动IP控制模块,所述方法包括:
所述虚拟机控制模块检测到迁移至所述物理节点上的虚拟机,确定所述虚拟机的内网IP地址以及待关联到所述虚拟机上的浮动IP地址;
所述虚拟机控制模块发出超文本传输协议请求,所述超文本传输协议请求包括:所述浮动IP地址和所述虚拟机的内网IP地址;
所述浮动IP控制模块通过超文本传输服务器获得所述超文本传输协议请求,为所述物理节点的网卡配置所述浮动IP地址,构建所述浮动IP地址与所述虚拟机的内网IP地址的IP转换关系;
通过所述网卡接收到目的地址为所述浮动IP地址的业务请求,基于所述IP转换关系将所述业务请求传输给所述虚拟机。
2.根据权利要求1所述的方法,所述超文本传输协议请求还包括:所述物理节点的节点名称;
在所述构建所述浮动IP地址与所述虚拟机的内网IP地址的关联关系之后,还包括:
所述浮动IP控制模块将目标浮动IP资源信息中记录的历史节点名称更新为所述物理节点的节点名称,所述目标浮动IP资源信息为所述集群中维护的与所述浮动IP地址关联的浮动IP资源信息。
3.根据权利要求2所述的方法,所述集群中部署有用于管理所述虚拟机控制模块的容器编排系统;
在将目标浮动IP资源信息中记录的历史节点名称更新为所述物理节点的节点名称之前,还包括:
所述浮动IP控制模块向所述容器编排系统请求所述虚拟机控制模块维护的虚拟机集合信息;
所述浮动IP控制模块将目标浮动IP资源信息中记录的历史节点名称更新为所述物理节点的节点名称,包括:
如果所述虚拟机集合信息中记录的所述虚拟机所在的目标物理节点的节点名称与所述物理节点的节点名称相同,所述浮动IP控制模块将目标浮动IP资源信息中记录的历史节点名称更新为所述物理节点的节点名称。
4.根据权利要求1所述的方法,在所述虚拟机控制模块检测到迁移至所述物理节点上的虚拟机之前,还包括:
所述浮动IP控制模块在所述物理节点上创建超文本传输服务器。
5.根据权利要求2或3所述的方法,在所述浮动IP控制模块将目标浮动IP资源信息中记录的历史节点名称更新为所述物理节点的节点名称之后,还包括:
所述浮动IP控制模块检测到所述目标浮动IP资源信息存在信息变更,且所述目标浮动IP资源信息中当前记录的当前节点名称不同于所述物理节点的节点名称,所述浮动IP控制模块删除所述物理节点的网卡中配置的所述浮动IP地址以及所述物理节点中存储的所述IP转换关系。
6.根据权利要求5所述的方法,在所述浮动IP控制模块将目标浮动IP资源信息中记录的历史节点名称更新为所述物理节点的节点名称之后,还包括:
所述浮动IP控制模块将所述目标浮动IP资源信息中资源配置状态设置为已完成变更,以使得变更后的目标浮动IP资源信息能够同步给所述集群中各物理节点。
7.根据权利要求2所述的方法,在所述浮动IP控制模块将目标浮动IP资源信息中记录的历史节点名称更新为所述物理节点的节点名称的同时,还包括:
浮动IP控制模块基于所述虚拟机的内网IP地址,更新所述目标浮动IP资源信息中记录的内网IP地址。
8.根据权利要求1或7所述的方法,还包括:
检测到关闭所述物理节点或者所述虚拟机的指令,所述浮动IP控制模块删除所述物理节点的网卡中配置的所述浮动IP地址以及所述物理节点中存储的所述IP转换关系;
在所述物理节点中所述虚拟机开机后,浮动IP控制模块获得所述物理节点上的虚拟机状态信息;
如果所述虚拟机状态信息表征所述虚拟机未被迁移,所述浮动IP控制模块依据所述目标浮动IP资源信息中的浮动IP地址以及所述虚拟机的内网IP地址,为所述物理节点的网卡配置所述浮动IP地址,构建所述浮动IP地址与所述虚拟机的内网IP地址的IP转换关系。
9.一种浮动IP转移装置,应用于集群中的物理节点,所述物理节点上部署有虚拟机控制模块和浮动IP控制模块,所述装置包括:
信息确定单元,用于通过所述虚拟机控制模块检测到迁移至所述物理节点上的虚拟机,确定所述虚拟机的内网IP地址以及待关联到所述虚拟机上的浮动IP地址;
请求发送单元,用于通过所述虚拟机控制模块发出超文本传输协议请求,所述超文本传输协议请求包括:所述浮动IP地址和所述虚拟机的内网IP地址;
信息配置单元,用于通过所述浮动IP控制模块通过超文本传输服务器获得所述超文本传输协议请求,为所述物理节点的网卡配置所述浮动IP地址,构建所述浮动IP地址与所述虚拟机的内网IP地址的IP转换关系;
业务处理单元,用于通过所述网卡接收到目的地址为所述浮动IP地址的业务请求,基于所述IP转换关系将所述业务请求传输给所述虚拟机。
10.根据权利要求9所述的装置,所述请求发送单元发出的超文本传输协议请求还包括:所述物理节点的节点名称;
还包括:
资源信息更新单元,用于在所述信息配置单元构建所述浮动IP地址与所述虚拟机的内网IP地址的关联关系之后,通过所述浮动IP控制模块将目标浮动IP资源信息中记录的历史节点名称更新为所述物理节点的节点名称,所述目标浮动IP资源信息为所述集群中维护的与所述浮动IP地址关联的浮动IP资源信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211694960.3A CN116095049A (zh) | 2022-12-28 | 2022-12-28 | 浮动ip转移方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211694960.3A CN116095049A (zh) | 2022-12-28 | 2022-12-28 | 浮动ip转移方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116095049A true CN116095049A (zh) | 2023-05-09 |
Family
ID=86213062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211694960.3A Pending CN116095049A (zh) | 2022-12-28 | 2022-12-28 | 浮动ip转移方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116095049A (zh) |
-
2022
- 2022-12-28 CN CN202211694960.3A patent/CN116095049A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11360867B1 (en) | Re-aligning data replication configuration of primary and secondary data serving entities of a cross-site storage solution after a failover event | |
JP5548829B2 (ja) | 計算機システム、データ管理方法及びデータ管理プログラム | |
US9582386B2 (en) | System and method for maintaining a copy of a cloud-based computing environment and restoration thereof | |
US11445013B2 (en) | Method for changing member in distributed system and distributed system | |
CN108369544A (zh) | 计算系统中延期的服务器恢复 | |
WO2018137520A1 (zh) | 一种业务恢复方法及装置 | |
GB2291228A (en) | Information duplicate distribution over a network | |
US20210089379A1 (en) | Computer system | |
CN105049504A (zh) | 一种大数据中转传输同步及存储方法 | |
JPH08212095A (ja) | クライアントサーバ制御システム | |
JP5446405B2 (ja) | イベント検出制御方法及びシステム | |
CN112035062B (zh) | 云计算的本地存储的迁移方法、计算机设备及存储介质 | |
CN116095049A (zh) | 浮动ip转移方法和装置 | |
JP2002009791A (ja) | Ipアドレスを動的に割り当てるdhcpサーバシステム及びipアドレスを動的に割り当てるdhcpサーバ | |
JP4645435B2 (ja) | 情報処理装置、通信負荷分散方法及び通信負荷分散プログラム | |
JP4806382B2 (ja) | 冗長化システム | |
CN116260827A (zh) | 一种集群中领导者的选举方法、选举系统及相关装置 | |
JP2007249659A (ja) | システム切替方法、その計算機システム及びプログラム | |
JP2009245118A (ja) | アプリケーションサービス提供システム、及び方法、並びにアプリケーション移行方法 | |
JP3718273B2 (ja) | メンテナンスデータ管理方法 | |
CN113890875B (zh) | 任务分配方法及装置 | |
JP6273916B2 (ja) | 冗長処理方法、冗長処理システム及び情報処理装置 | |
CN114466026B (zh) | 应用程序接口的更新方法、装置、存储介质和计算设备 | |
CN112839068B (zh) | 一种采用nfv部件部署的网络节点的管理方法及装置 | |
JP2016051256A (ja) | Dbシステム及びデータ要求信号のプロキシ方法 |
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 |