CN115480893A - 异构化节点间的应用迁移方法、系统及集群 - Google Patents

异构化节点间的应用迁移方法、系统及集群 Download PDF

Info

Publication number
CN115480893A
CN115480893A CN202211082281.0A CN202211082281A CN115480893A CN 115480893 A CN115480893 A CN 115480893A CN 202211082281 A CN202211082281 A CN 202211082281A CN 115480893 A CN115480893 A CN 115480893A
Authority
CN
China
Prior art keywords
application
migration
migrated
heterogeneous
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.)
Granted
Application number
CN202211082281.0A
Other languages
English (en)
Other versions
CN115480893B (zh
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.)
Jiangsu Anchao Cloud Software Co Ltd
Original Assignee
Jiangsu Anchao Cloud Software Co 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 Jiangsu Anchao Cloud Software Co Ltd filed Critical Jiangsu Anchao Cloud Software Co Ltd
Priority to CN202211082281.0A priority Critical patent/CN115480893B/zh
Publication of CN115480893A publication Critical patent/CN115480893A/zh
Application granted granted Critical
Publication of CN115480893B publication Critical patent/CN115480893B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种异构化节点间的应用迁移方法、系统及集群,该异构化节点间的应用迁移方法,包括:获取应用迁移请求并确定被执行迁移的待迁移应用;对异构化服务器集群的所有异构化节点下发属性标签;获取待迁移应用所包含的应用属性,以确定对待迁移应用执行迁移的应用预检信息;对待迁移应用执行在异构化节点间执行迁移操作,侦测接收应用的异构化节点的资源状态并监测待迁移应用的迁移状态,以在待迁移应用在迁移过程发生异常时,对待迁移应用执行回滚操作,并恢复至待迁移应用在被执行迁移操作前的状态。本申请实现了应用在迁移过程中能够持续地对外提供服务,且确保了对应用执行迁移操作的迁移成功率及迁移效率。

Description

异构化节点间的应用迁移方法、系统及集群
技术领域
本发明涉及计算机技术领域,尤其涉及一种异构化节点间的应用迁移方法、系统及集群。
背景技术
Pod是Kubernetes集群中的最小调度单元,一个Pod封装一个或者多个容器,Pod中的容器共享存储、网络等资源。同时,可将Pod视为虚拟机(Virtual Machine),然后每个容器相当于运行在虚拟机的进程。同一个Pod里的所有容器都被集群予以统一安排和调度。
随着国产化架构服务器技术的发展,对多CPU架构的国产化架构服务器提出了更高的技术要求。具体体现在多CPU架构所组建的服务器所构建的多节点场景中对应用执行迁移予以可靠地实现,且在集群基于灾难恢复、服务器维护或者负载均衡等诸多场景中,均需要对应用执行迁移操作。然而,在不同架构的CPU所组建的服务器集群中,对应用执行迁移过程中会因为异构化CPU架构的服务器集群产生由于不同架构CPU所导致的兼容性问题(例如国产物理CPU之间或者国产物理CPU与Intel X86架构物理CPU之间或者X86架构物理CPU与AMR架构物理CPU之间),并由此导致对应用在异构化CPU所组建的服务器集群所包含的异构化节点之间迁移存在一定缺陷。
有鉴于此,有必要对现有技术中的异构化节点间的应用迁移方法予以改进,以解决上述问题。
发明内容
本发明的目的在于揭示一种异构化节点间的应用迁移方法、应用迁移系统及异构化服务器集群,用以克服前述技术缺陷,尤其是为了提高在容器集群中对待迁移应用在异构化节点之间实施迁移操作的迁移成功率及迁移效率。
为实现上述目的之一,本发明提供了一种异构化节点间的应用迁移方法,包括:
获取应用迁移请求并确定被执行迁移的待迁移应用;
对异构化服务器集群的所有异构化节点下发属性标签;
获取待迁移应用所包含的应用属性,以确定对待迁移应用执行迁移的应用预检信息;
对待迁移应用执行在异构化节点间执行迁移操作,侦测接收应用的异构化节点的资源状态并监测待迁移应用的迁移状态,以在待迁移应用在迁移过程发生异常时,对待迁移应用执行回滚操作,并恢复至待迁移应用在被执行迁移操作前的状态。
作为本发明的进一步改进,所述获取被执行迁移的待迁移应用所包含的应用属性包括:获取被执行迁移的待迁移应用在迁移过程所涉及的节点所对应的异构化节点属性标签,并确定获取被执行迁移的待迁移应用的应用预检信息,以根据所述应用预检信息确定被执行迁移的待迁移应用在执行迁移过程中是否正常。
作为本发明的进一步改进,所述异构化节点属性标签为描述节点所具有的类别标签,所述应用迁移方法还包括:根据所述异构化节点属性标签将异构化服务器集群所部署的异构化节点予以分类。
作为本发明的进一步改进,所述应用预检信息由状态信息、副本数、异构化节点的健康状态、异构化节点的剩余资源状态或者被执行迁移的待迁移应用的预期资源消耗值中的一种或者几种任意的组合;其中,所述副本数为被执行迁移的待迁移应用的副本数量。
作为本发明的进一步改进,所述状态信息包括有状态信息与无状态信息,以将被执行迁移的待迁移应用区分为有状态应用与无状态应用,所述应用迁移方法还包括:通知有状态管理工具对有状态应用执行迁移,并基于迁移逻辑对无状态应用执行异构化节点间的迁移操作。
作为本发明的进一步改进,所述应用迁移方法还包括:判断无状态应用是否为单副本;
若是,扩展被执行迁移应用以形成被执行迁移应用副本,并将被执行迁移应用副本从既有部署的异构化节点迁移至逻辑上独立于既有部署的异构化节点的当前部署的异构化节点;
若否,删除被执行迁移应用;
其中,所述既有部署的异构化节点与当前部署的异构化节点独立部署于逻辑上独立的两个异构化节点资源池。
作为本发明的进一步改进,所述应用迁移方法还包括:
侦测待迁移应用的可用性和/或时延性以判断待迁移应用是否为正常;
若是,认定待迁移应用被迁移成功;
若否,认定待迁移应用被迁移失败,执行回滚操作将待迁移应用回滚至既有部署的异构化节点,并恢复至待迁移应用在被执行迁移操作前的状态。
作为本发明的进一步改进,所述被执行迁移的待迁移应用部署于Pod中,通过删除Pod以删除被执行迁移的所述待迁移应用或者通过调度Pod以实现被执行迁移的待迁移应用在异构化节点间执行迁移操作。
作为本发明的进一步改进,所述对异构化服务器集群的所有异构化节点下发属性标签由上层管理系统执行,所述上层管理系统为基于Kubernetes所组建的异构化服务器集群中的Kubelet或者控制节点。
基于相同发明思想,本发明还揭示了一种异构化节点间的应用迁移系统,对待迁移应用在异构化节点间执行迁移操作,包括:预检组件,迁移组件及监测组件;
在获取应用迁移请求并确定被执行迁移的待迁移应用后,由所述预检组件对异构化服务器集群的所有异构化节点下发属性标签,并获取待迁移应用所包含的应用属性,以确定对待迁移应用执行迁移的应用预检信息;所述迁移组件对待迁移应用执行在异构化节点间执行迁移操作,并由所述监测组件侦测接收应用的异构化节点的资源状态并监测待迁移应用的迁移状态,以在待迁移应用在迁移过程发生异常时,由所述迁移组件对待迁移应用执行回滚操作,并恢复至待迁移应用在被执行迁移操作前的状态。
作为本发明的进一步改进,所述应用迁移系统挂载至至少两个异构化节点资源池,所述异构化节点资源池由至少一个异构化节点部署所形成。
作为本发明的进一步改进,所述预检组件,迁移组件或者监测组件均被独立配置为无状态多副本应用,并整体地或者独立地部署于Pod中。
最后,本申请还揭示了一种异构化服务器集群,包括:
异构化节点间的应用迁移系统,至少两个异构化节点资源池,以及上层管理系统;所述异构化节点间的应用迁移系统执行如前述任一项发明创造所揭示的异构化节点间的应用迁移方法中的步骤。
与现有技术相比,本发明的有益效果是:
在本申请中,在异构化服务器集群的所有异构化节点间对待迁移应用执行在异构化节点间执行迁移操作时,通过侦测接收应用的异构化节点的资源状态并监测待迁移应用的迁移状态,从而实现了在同一个异构化服务器集群所包含的多个异构化节点间,并尤其在异构化节点存在变动的场景中保证了应用在迁移过程中能够持续地对外提供服务,并在待迁移应用在迁移过程发生异常时,对待迁移应用执行回滚操作,并恢复至待迁移应用在被执行迁移操作前的状态,从而确保了对应用执行迁移操作的迁移成功率及迁移效率。
附图说明
图1为本发明异构化节点间的应用迁移方法整体流程图;
图2为本发明异构化节点间的应用迁移系统的整体拓扑图;
图3为图2所示出的异构化服务器集群对应用在X86节点与非X86节点之间执行应用迁移的详细流程图,其中X86节点与非X86节点视为异构化服务器集群的两个异构化节点;
图4为基于图1所示出的异构化节点间的应用迁移方法的异构化服务器集群的拓扑图。
具体实施方式
下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
简要而言,本申请所揭示的异构化节点间的应用迁移方法、应用迁移系统及异构化服务集群旨在实现异构化节点间的对执行迁移操作的应用(即,待迁移应用)执行迁移操作,并确保在对待迁移用在迁移操作过程中保证被执行迁移的待迁移应用能够始终对外提供服务,并在迁移发生失败时通过执行回滚操作的方式确保待迁移应用不会发生应用丢失或者灭失。迁移操作例如从基于X86节点向非X86节点执行迁移或者从非X86节点向X86节点执行迁移,或者从非X86节点向MIPS节点,或者MIPS节点向ARM节点等异构化节点之间对待迁移应用执行迁移操作的迁移场景。触发对待迁移应用执行迁移操作可基于用户在上层管理系统200中以下发指令形式予以触发,也可由于任意一个资源池中新增加了异构化节点或者某个异构化节点不可用时予以触发。X86节点及诸如MISP节点等非X86节点均为基于不同架构的物理CPU所组建而成的物理计算机或者物理服务器。
参图1至图4所示,本实施例首先揭示了一种异构化节点间的应用迁移方法(以下或简称“应用迁移方法”)的一种具体实施例。该应用迁移方法包括以下步骤S1~步骤S4。
步骤S1、获取应用迁移请求并确定被执行迁移的待迁移应用。其中,被执行迁移的待迁移应用部署于Pod中,通过删除Pod以删除被执行迁移的所述待迁移应用或者通过调度Pod以实现被执行迁移的待迁移应用在异构化节点间执行迁移操作。
步骤S2、对异构化服务器集群的所有异构化节点下发属性标签。例如,对异构化服务器集群的所有异构化节点下发属性标签由上层管理系统200执行,所述上层管理系统200为基于Kubernetes所组建的异构化服务器集群中的Kubelet或者控制节点。
步骤S3、获取待迁移应用所包含的应用属性,以确定对待迁移应用执行迁移的应用预检信息。
步骤S4、对待迁移应用执行在异构化节点间执行迁移操作,侦测接收应用的异构化节点的资源状态并监测待迁移应用的迁移状态,以在待迁移应用在迁移过程发生异常时,对待迁移应用执行回滚操作,并恢复至待迁移应用在被执行迁移操作前的状态。
同时,该应用迁移方法整体上作为一个完整逻辑,可被完整且独立地部署并运行于一个资源池中(例如,图2中的X86节点资源池),且运行并实现该应用迁移方法的下述实施例所揭示的应用迁移系统100及其所包含的预检组件10,迁移组件20及监测组件30均为无状态多副本的应用,并支持以本实施例所揭示的异构化节点间的应用迁移方法予以在异构化节点之间执行迁移操作。示例性地,在图2中,X86节点中包含应用1~应用n,参数n取大于或者等于1的正整数,由此使得X86节点中包含n个应用,任意一个应用都可被视为执行迁移操作的待迁移应用,以被该应用迁移方法迁移至位于另一个异构化节点中,该异构化节点只要不属于X86节点或者不属于基于相同CPU所组建的X86节点即可。同理,在实际运行环境中,异构化节点中也可部署并运行应用1~应用m,参数m取大于或者等于1的正整数,由此使得异构化节点中包含m个应用,并也可被迁移至X86节点。同时,图2中的一个或者多个X86节点定义X86节点资源池,一个或者多个异构化节点定义异构化节点资源池。同时,图4中的异构化节点a与异构化节点b泛指两种异构化节点的不同实例,例如,将异结构化节点a理解为X86节点,将异结构化节点b理解为MIPS节点。因此异构化节点a与异构化节点b视为两种不同类型的异构化节点,并分别属于不同的资源池。应用1~应用n及应用1~应用m均为通过Pod形式部署在基于Kubernetes架构的容器集群中。
结合图3与图4所示,本实施例示出了该应用迁移方法的一种具体过程。
开始。
在本实施例中,获取被执行迁移的待迁移应用所包含的应用属性包括:获取被执行迁移的待迁移应用在迁移过程所涉及的节点所对应的异构化节点属性标签,并确定获取被执行迁移的待迁移应用的应用预检信息,以根据应用预检信息确定被执行迁移的待迁移应用在执行迁移过程中是否正常。
异构化节点属性标签为描述节点所具有的类别标签,应用迁移方法还包括:根据异构化节点属性标签将异构化服务器集群1000(参图4所示)所部署的异构化节点予以分类,图4中的异构化节点a与异构化节点b均属于异构化节点。
应用预检信息由状态信息、副本数、异构化节点的健康状态、异构化节点的剩余资源状态或者被执行迁移的待迁移应用的预期资源消耗值中的一种或者几种任意的组合;其中,副本数为被执行迁移的待迁移应用的副本数量。结合图4所示,应用预检信息由预检组件10向异构化节点a中予以收集,并将预检结果发送至迁移组件20,并由迁移组件20根据预检结果对待迁移应用执行迁移操作,迁移操作触发结果(即,对待迁移应用执行迁移操作的结果)发送至监测组件30。监测组件30发送迁移结果至迁移组件20以确定是否要执行回滚操作。
状态信息包括有状态信息与无状态信息,以将被执行迁移的待迁移应用区分为有状态应用与无状态应用。因此,在对待迁移应用的应用属性收集后,进一步判断待迁移应用是否属于有状态应用,若是,则通知有状态管理工具(例如,VueX)并由有状态管理工具对有状态应用执行迁移,并基于迁移逻辑对无状态应用执行异构化节点间的迁移操作;若否,则被认定为无状态应用,并跳转执行判断待迁移应用是否为单副本的判断逻辑。迁移逻辑所包含的计算机程序由图4中的迁移组件20与监测组件30共同执行,也可仅由迁移组件20单独执行。因为判断待迁移应用在执行迁移后是否正常可由监测组件30单独执行,并构成判断逻辑。对于携带有状态信息的待迁移应用,由有状态管理工具对待迁移应用执行迁移,对于携带有状态信息的待迁移应用而言,通常体现为有状态服务,用户对应用发起的访问请求所形成的数据之间存在继承及依赖关系,因此有状态信息的待迁移应用由有状态管理工具执行迁移,而仅仅对无状态应用通过判断是否为单副本应用而最终触发对待迁移应用的迁移操作事件。
示例性地,参图3所示,应用迁移方法还包括如下迁移逻辑。
判断无状态应用是否为单副本;
若是(即,无状态应用是单副本应用),扩展被执行迁移应用以形成被执行迁移应用副本,并将被执行迁移应用副本从既有部署的异构化节点(例如,从图4中的异构化节点a)迁移至逻辑上独立于既有部署的异构化节点的当前部署的异构化节点(例如,从图4中的异构化节点b);
若否(即,无状态应用是多副本应用),删除被执行迁移应用,例如,将图4中异构化节点a中属于待迁移应用的一个副本予以删除,并仅保留图4中异构化节点b中属于待迁移应用的另一个副本,且副本在本实施例中的含义是应用影子;
其中,所述既有部署的异构化节点(例如,异构化节点a)与当前部署的异构化节点(例如,异构化节点b)独立部署于逻辑上独立的两个异构化节点资源池。前述删除被执行迁移应用还被理解为将非单副本的异构化节点驱逐到异构化资源池中,并将该待迁移应用由Kubele以调度Pod方式从X86节点资源池调度至另一个位于同一容器集群的异构化节点资源池中的一个指定的异构化节点。
然后,由监测组件30判断待迁移应用是否正常并获取应用监测信息,例如,可通过对侦测待迁移应用的可用性和/或时延性以由监测组件30判断待迁移应用是否为正常,其中,可用性是指待迁移应用被执行迁移操作至对另一个资源池的一个异构化节点中后,该应用是否能够正常地响应用户发起的访问请求,时延性是指应用被迁移至另一个资源池的一个异构化节点中后响应用户发起的访问请求所体现的响应延时性指标,例如,可将延时20ms以内的应用认定为待迁移应用正常,否则认定为不正常从而需要触发后续的回滚操作;
若是,认定待迁移应用被迁移成功;
若否,认定待迁移应用被迁移失败,从而对迁移失败的待迁移应用执行回滚操作(例如,将拟向图2中右侧的异构化节点执行迁移操作的待迁移应用回滚至左侧的X86节点中),以将待迁移应用回滚至既有部署的异构化节点,并恢复至待迁移应用在被执行迁移操作前的状态,从而最终认定该待迁移应用迁移失败并通知上层管理系统200。
结束。
例如,当一个待迁移应用从异构化节点a迁移至异构化节点b过程中发生迁移失败时,则将该待迁移应用回滚至异构化节点a中。由此使得在如图4所示出的异构化服务器集群1000的所有异构化节点间对待迁移应用执行在异构化节点间执行迁移操作时,通过侦测接收应用的异构化节点的资源状态并监测待迁移应用的迁移状态,从而实现了在同一个异构化服务器集群1000所包含的多个异构化节点间,并尤其在异构化节点存在变动的场景中保证了应用在迁移过程中能够持续地对外提供服务,并在待迁移应用在迁移过程发生异常时,对待迁移应用执行回滚操作,并恢复至待迁移应用在被执行迁移操作前的状态,从而确保了对应用执行迁移操作的迁移成功率及迁移效率。前述异常是指接纳待迁移应用的异构化节点(例如,图4中的异构化节点b)发生系统崩溃、宕机、断电、代码逻辑错误、数据溢出等导致Pod向上无法为用户提供基于应用自身代码逻辑所形成的服务的实例场景。
基于前述应用迁移方法,本实施例还揭示了一种异构化节点间的应用迁移系统100(以下简称“应用迁移系统100”),以由应用迁移系统100对待迁移应用在异构化节点间执行迁移操作。具体地,该应用迁移系统100包括:预检组件10,迁移组件20及监测组件30。
在获取应用迁移请求并确定被执行迁移的待迁移应用后,由预检组件10对异构化服务器集群1000的所有异构化节点下发属性标签,并获取待迁移应用所包含的应用属性,以确定对待迁移应用执行迁移的应用预检信息。迁移组件20对待迁移应用执行在异构化节点间执行迁移操作,并由监测组件30侦测接收应用的异构化节点的资源状态并监测待迁移应用的迁移状态,以在待迁移应用在迁移过程发生异常时,由迁移组件20对待迁移应用执行回滚操作,并恢复至待迁移应用在被执行迁移操作前的状态。
应用迁移系统100挂载至至少两个异构化节点资源池,异构化节点资源池由至少一个异构化节点部署所形成。异构化节点资源池被上层管理系统200所纳管,并向上向用户反馈待迁移应用的执行迁移操作的结果。
预检组件10,迁移组件20或者监测组件30均被独立配置为无状态多副本应用,并整体地或者独立地部署于Pod中,应用迁移系统100运行于异构化服务器集群1000中,且异构化服务器集群1000可视为容器集群。
本实施例所揭示的应用迁移系统100为前述应用迁移方法的系统项实现,并由依赖于应用迁移方法的计算机代码予以完成,并包含相同发明思想。本实施例所揭示的异构化节点间的应用迁移系统与前述实施例所揭示的应用迁移方法中所含的相同技术方案,参前文所述,在此不再赘述。
最后,本实施例还揭示了一种异构化服务器集群1000,包括:
异构化节点间的应用迁移系统100,至少两个异构化节点资源池,异构化节点资源池被应用迁移系统100所纳管,以及上层管理系统200,该上层管理系统200控制待迁移应用在不同资源池的异构化节点间执行应用迁移操作。异构化节点间的应用迁移系统100执行如前述实施例所揭示的一种异构化节点间的应用迁移方法中的步骤。异构化服务器集群1000与前述应用迁移系统或者应用迁移方法所包含的相同部分的技术方案,前参前文所述,在此不再赘述。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

Claims (13)

1.异构化节点间的应用迁移方法,其特征在于,包括:
获取应用迁移请求并确定被执行迁移的待迁移应用;
对异构化服务器集群的所有异构化节点下发属性标签;
获取待迁移应用所包含的应用属性,以确定对待迁移应用执行迁移的应用预检信息;
对待迁移应用执行在异构化节点间执行迁移操作,侦测接收应用的异构化节点的资源状态并监测待迁移应用的迁移状态,以在待迁移应用在迁移过程发生异常时,对待迁移应用执行回滚操作,并恢复至待迁移应用在被执行迁移操作前的状态。
2.根据权利要求1所述的应用迁移方法,其特征在于,所述获取被执行迁移的待迁移应用所包含的应用属性包括:获取被执行迁移的待迁移应用在迁移过程所涉及的节点所对应的异构化节点属性标签,并确定获取被执行迁移的待迁移应用的应用预检信息,以根据所述应用预检信息确定被执行迁移的待迁移应用在执行迁移过程中是否正常。
3.根据权利要求2所述的应用迁移方法,其特征在于,所述异构化节点属性标签为描述节点所具有的类别标签,所述应用迁移方法还包括:根据所述异构化节点属性标签将异构化服务器集群所部署的异构化节点予以分类。
4.根据权利要求2所述的应用迁移方法,其特征在于,所述应用预检信息由状态信息、副本数、异构化节点的健康状态、异构化节点的剩余资源状态或者被执行迁移的待迁移应用的预期资源消耗值中的一种或者几种任意的组合;其中,所述副本数为被执行迁移的待迁移应用的副本数量。
5.根据权利要求4所述的应用迁移方法,其特征在于,所述状态信息包括有状态信息与无状态信息,以将被执行迁移的待迁移应用区分为有状态应用与无状态应用,所述应用迁移方法还包括:通知有状态管理工具对有状态应用执行迁移,并基于迁移逻辑对无状态应用执行异构化节点间的迁移操作。
6.根据权利要求5所述的应用迁移方法,其特征在于,所述应用迁移方法还包括:判断无状态应用是否为单副本;
若是,扩展被执行迁移应用以形成被执行迁移应用副本,并将被执行迁移应用副本从既有部署的异构化节点迁移至逻辑上独立于既有部署的异构化节点的当前部署的异构化节点;
若否,删除被执行迁移应用;
其中,所述既有部署的异构化节点与当前部署的异构化节点独立部署于逻辑上独立的两个异构化节点资源池。
7.根据权利要求6所述的应用迁移方法,其特征在于,所述应用迁移方法还包括:
侦测待迁移应用的可用性和/或时延性以判断待迁移应用是否为正常;
若是,认定待迁移应用被迁移成功;
若否,认定待迁移应用被迁移失败,执行回滚操作将待迁移应用回滚至既有部署的异构化节点,并恢复至待迁移应用在被执行迁移操作前的状态。
8.根据权利要求6所述的应用迁移方法,其特征在于,所述被执行迁移的待迁移应用部署于Pod中,通过删除Pod以删除被执行迁移的所述待迁移应用或者通过调度Pod以实现被执行迁移的待迁移应用在异构化节点间执行迁移操作。
9.根据权利要求1所述的应用迁移方法,其特征在于,所述对异构化服务器集群的所有异构化节点下发属性标签由上层管理系统执行,所述上层管理系统为基于Kubernetes所组建的异构化服务器集群中的Kubelet或者控制节点。
10.异构化节点间的应用迁移系统,对待迁移应用在异构化节点间执行迁移操作,其特征在于,包括:预检组件,迁移组件及监测组件;
在获取应用迁移请求并确定被执行迁移的待迁移应用后,由所述预检组件对异构化服务器集群的所有异构化节点下发属性标签,并获取待迁移应用所包含的应用属性,以确定对待迁移应用执行迁移的应用预检信息;所述迁移组件对待迁移应用执行在异构化节点间执行迁移操作,并由所述监测组件侦测接收应用的异构化节点的资源状态并监测待迁移应用的迁移状态,以在待迁移应用在迁移过程发生异常时,由所述迁移组件对待迁移应用执行回滚操作,并恢复至待迁移应用在被执行迁移操作前的状态。
11.根据权利要求10所述的应用迁移系统,其特征在于,所述应用迁移系统挂载至至少两个异构化节点资源池,所述异构化节点资源池由至少一个异构化节点部署所形成。
12.根据权利要求10所述的应用迁移系统,其特征在于,所述预检组件,迁移组件或者监测组件均被独立配置为无状态多副本应用,并整体地或者独立地部署于Pod中。
13.一种异构化服务器集群,其特征在于,包括:
异构化节点间的应用迁移系统,至少两个异构化节点资源池,以及上层管理系统;所述异构化节点间的应用迁移系统执行如权利要求1至9中任一项所述异构化节点间的应用迁移方法中的步骤。
CN202211082281.0A 2022-09-06 2022-09-06 异构化节点间的应用迁移方法、系统及集群 Active CN115480893B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211082281.0A CN115480893B (zh) 2022-09-06 2022-09-06 异构化节点间的应用迁移方法、系统及集群

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211082281.0A CN115480893B (zh) 2022-09-06 2022-09-06 异构化节点间的应用迁移方法、系统及集群

Publications (2)

Publication Number Publication Date
CN115480893A true CN115480893A (zh) 2022-12-16
CN115480893B CN115480893B (zh) 2023-07-21

Family

ID=84423649

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211082281.0A Active CN115480893B (zh) 2022-09-06 2022-09-06 异构化节点间的应用迁移方法、系统及集群

Country Status (1)

Country Link
CN (1) CN115480893B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103873534A (zh) * 2012-12-18 2014-06-18 中国移动通信集团公司 一种应用集群迁移方法及装置
CN108614688A (zh) * 2016-12-30 2018-10-02 上海华讯网络系统有限公司 应用于混合云环境的可视化应用编排及方法
CN109582459A (zh) * 2017-09-29 2019-04-05 阿里巴巴集团控股有限公司 应用的托管进程进行迁移的方法及装置
US20200034193A1 (en) * 2018-07-24 2020-01-30 Hewlett Packard Enterprise Development Lp Migration of containerized applications
CN113535411A (zh) * 2021-09-17 2021-10-22 阿里云计算有限公司 资源调度方法、设备及系统
CN113852693A (zh) * 2021-09-26 2021-12-28 北京邮电大学 一种边缘计算服务的迁移方法
CN114168286A (zh) * 2021-12-06 2022-03-11 成都傲梅科技有限公司 一种基于Windows的应用软件的迁移方法
CN114528086A (zh) * 2022-02-26 2022-05-24 苏州浪潮智能科技有限公司 池化异构云计算应用的热迁移的方法、装置、设备及介质
CN114564288A (zh) * 2022-01-29 2022-05-31 南京匡吉信息科技有限公司 一种从x86处理器架构到ARM处理器架构异构应用迁移方法
CN114697191A (zh) * 2022-03-29 2022-07-01 浪潮云信息技术股份公司 一种资源迁移方法、装置、设备及存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103873534A (zh) * 2012-12-18 2014-06-18 中国移动通信集团公司 一种应用集群迁移方法及装置
CN108614688A (zh) * 2016-12-30 2018-10-02 上海华讯网络系统有限公司 应用于混合云环境的可视化应用编排及方法
CN109582459A (zh) * 2017-09-29 2019-04-05 阿里巴巴集团控股有限公司 应用的托管进程进行迁移的方法及装置
US20200034193A1 (en) * 2018-07-24 2020-01-30 Hewlett Packard Enterprise Development Lp Migration of containerized applications
CN113535411A (zh) * 2021-09-17 2021-10-22 阿里云计算有限公司 资源调度方法、设备及系统
CN113852693A (zh) * 2021-09-26 2021-12-28 北京邮电大学 一种边缘计算服务的迁移方法
CN114168286A (zh) * 2021-12-06 2022-03-11 成都傲梅科技有限公司 一种基于Windows的应用软件的迁移方法
CN114564288A (zh) * 2022-01-29 2022-05-31 南京匡吉信息科技有限公司 一种从x86处理器架构到ARM处理器架构异构应用迁移方法
CN114528086A (zh) * 2022-02-26 2022-05-24 苏州浪潮智能科技有限公司 池化异构云计算应用的热迁移的方法、装置、设备及介质
CN114697191A (zh) * 2022-03-29 2022-07-01 浪潮云信息技术股份公司 一种资源迁移方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN115480893B (zh) 2023-07-21

Similar Documents

Publication Publication Date Title
JP4721195B2 (ja) マルチノード分散データ処理システムにおいてリモート・アクセス可能なリソースを管理する方法
JP4920391B2 (ja) 計算機システムの管理方法、管理サーバ、計算機システム及びプログラム
US9697053B2 (en) System and method for managing excessive distribution of memory
CN109656742B (zh) 一种节点异常处理方法、装置及存储介质
CN103414712B (zh) 一种分布式虚拟桌面管理系统和方法
CA2686384C (en) Dynamic cli mapping for clustered software entities
CN111176783A (zh) 容器治理平台的高可用方法、装置及电子设备
CN113067850A (zh) 一种多云场景下的集群编排系统
CN110958311A (zh) 一种基于yarn的共享集群弹性伸缩系统及方法
CN109582459A (zh) 应用的托管进程进行迁移的方法及装置
CN110990119A (zh) 一种基于容器技术提升Iaas云平台服务能力的方法
CN117130730A (zh) 面向联邦Kubernetes集群的元数据管理方法
CN113835834A (zh) 一种基于k8s容器集群计算节点的扩容方法及系统
CN112737934A (zh) 一种集群式物联网边缘网关装置及方法
CN109725916B (zh) 流处理的拓扑结构更新系统和方法
US20100085871A1 (en) Resource leak recovery in a multi-node computer system
CN110046064B (zh) 一种基于故障漂移的云服务器容灾实现方法
WO2024041363A1 (zh) 无服务器架构分布式容错系统、方法、装置、设备及介质
US8537662B2 (en) Global detection of resource leaks in a multi-node computer system
CN112243030A (zh) 分布式存储系统的数据同步方法、装置、设备及介质
CN115480893B (zh) 异构化节点间的应用迁移方法、系统及集群
US10853178B1 (en) Code function checkpoint and restore
CN114598591A (zh) 嵌入式平台节点故障恢复系统及方法
Kumari et al. Checkpointing algorithms for fault-tolerant execution of large-scale distributed applications in cloud
CN115250227A (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
GR01 Patent grant
GR01 Patent grant