CN115098301B - 一种云原生场景下有状态应用的快照生成方法和*** - Google Patents

一种云原生场景下有状态应用的快照生成方法和*** Download PDF

Info

Publication number
CN115098301B
CN115098301B CN202210821925.7A CN202210821925A CN115098301B CN 115098301 B CN115098301 B CN 115098301B CN 202210821925 A CN202210821925 A CN 202210821925A CN 115098301 B CN115098301 B CN 115098301B
Authority
CN
China
Prior art keywords
snapshot
resource file
stateful application
instruction
generation
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.)
Active
Application number
CN202210821925.7A
Other languages
English (en)
Other versions
CN115098301A (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.)
Shanghai Daoke Network Technology Co ltd
Original Assignee
Shanghai Daoke Network Technology 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 Shanghai Daoke Network Technology Co ltd filed Critical Shanghai Daoke Network Technology Co ltd
Priority to CN202210821925.7A priority Critical patent/CN115098301B/zh
Publication of CN115098301A publication Critical patent/CN115098301A/zh
Application granted granted Critical
Publication of CN115098301B publication Critical patent/CN115098301B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • 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/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/45595Network integration; Enabling network access in virtual machine instances
    • 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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种云原生场景下有状态应用的快照生成方法和***,快照生成方法运行在快照控制器上,包括:在接收到的对有状态应用生成快照的指令后,向容器存储接口驱动和资源文件快照生成器分别下发第一快照生成指令和第二快照生成指令;用于在指定时间点生成有状态应用的数据快照,以及在指定时间点同步生成有状态应用的资源文件快照;在接收到数据快照生成成功的信息和资源文件快照生成成功的信息后,确定有状态应用的快照生成成功。由此,实现了在执行时间点同步生成有状态应用的数据快照和资源文件快照,在有状态应用的资源文件和数据都被损坏时,使用同步生成的数据快照和资源文件快照进行还原,能够保证还原后的资源文件和数据的一致性。

Description

一种云原生场景下有状态应用的快照生成方法和***
技术领域
本发明涉及云原生技术领域,尤其涉及一种云原生场景下有状态应用的快照生成方法和***。
背景技术
快照是存储数据卷的常见功能,用于对存储数据卷在某个时间点存储的数据和信息进行记录,并在存储数据卷遭受破坏或者出现写入错误时,让存储数据卷还原到该时间点的状态,从而对存储数据卷中存储的数据和信息进行保护。目前Kubernetes***仅提供了对后端存储***中的存储数据卷生成快照的机制。也就是说,Kubernetes***仅能够对有状态应用运行过程中产生的数据生成快照,而无法对有状态应用对应的资源文件生成快照。
如果出现有状态应用对应的资源文件和运行产生的数据都被损坏的情况,那么应用管理员在Kubernetes***中调用容器存储接口驱动提供的快照还原方法将有状态应用对应的存储数据卷中的数据进行还原后,只能手动对资源文件进行还原,并重新将资源文件与存储数据卷进行绑定,但难以保证还原后的资源文件和数据的一致性,即无法保证还原后的资源文件和数据相匹配,使得还原后的有状态应用无法正常运行。
发明内容
本申请实例提供了一种云原生场景下有状态应用的快照生成方法和***,本方案同时对有状态应用对应的资源文件和用于存储运行产生的数据的存储数据卷生成快照,技术方案如下:
第一方面,一种云原生场景下有状态应用的快照生成方法,其中,方法运行在快照控制器上,方法包括:
响应于接收到的对有状态应用生成快照的指令,向容器存储接口驱动和资源文件快照生成器分别下发第一快照生成指令和第二快照生成指令;对有状态应用生成快照的指令中包含有状态应用的标识信息,第一快照生成指令用于指示容器存储接口驱动在指定时间点生成有状态应用的数据快照,第二快照生成指令用于指示资源文件快照生成器在指定时间点同步生成有状态应用的资源文件快照;
响应于接收到数据快照生成成功的信息和资源文件快照生成成功的信息,确定有状态应用的快照生成成功。
在接收到对有状态应用生成快照的指令之后,方法还包括:
根据有状态应用的标识信息,通过容器云平台的统一访问接口获取有状态应用对应的资源文件;资源文件包括存储数据卷声明文件,存储数据卷声明文件中记载有有状态应用对应的存储数据卷的标识信息和存储数据卷的访问地址。
第一快照生成指令中包含存储数据卷的访问地址,以便容器存储接口驱动根据存储数据卷的访问地址对后端存储***中有状态应用对应的存储数据卷生成数据快照;
第二快照生成指令中包含有状态应用对应的资源文件的标识信息,以便资源文件快照生成器根据资源文件的标识信息对有状态应用对应的资源文件中的全量数据信息生成资源文件快照。
数据快照生成成功的信息,是在容器存储接口驱动在对后端存储***中有状态应用对应的存储数据卷生成数据快照,并将生成的数据快照存储至后端存储***中的数据快照存储区域中之后,由容器存储接口驱动向快照控制器反馈的信息;
资源文件快照生成成功的信息,是在资源文件快照生成器对有状态应用对应的资源文件中的全量数据信息生成资源文件快照,并将生成的资源文件快照存储至后端存储***中的资源文件快照存储区域中之后,由资源文件快照生成器向快照控制器反馈的信息。
第二方面,一种云原生场景下有状态应用的快照还原方法,其中,方法运行在快照控制器上,包括:
响应于接收到对有状态应用还原快照的指令,向容器存储接口驱动和资源文件快照生成器分别下发第一快照还原指令和第二快照还原指令;对有状态应用还原快照的指令中包含有状态应用的标识信息和快照生成时间点,第一快照还原指令用于指示容器存储接口驱动使用快照生成时间点对应的数据快照对有状态应用对应的存储数据卷进行还原,第二快照还原指令用于指示资源文件快照生成器使用快照生成时间点对应的资源文件快照对有状态应用对应的资源文件进行还原;
响应于接收到存储数据卷还原成功的信息和资源文件还原成功的信息,检测还原后的有状态应用是否运行正常;
响应于有状态应用运行正常,确定有状态应用对应的存储数据卷和资源文件还原成功。
第一快照还原指令用于指示容器存储接口驱动使用快照生成时间点对应的数据快照对有状态应用对应的存储数据卷进行还原,具体为:
第一快照还原指令用于指示容器存储接口驱动在后端存储***中的数据快照存储区域找到快照生成时间点对应的数据快照,并使用数据快照对有状态应用对应的存储数据卷进行还原;
对应地,
第二快照还原指令用于指示资源文件快照生成器使用快照生成时间点对应的资源文件快照对有状态应用对应资源文件进行还原,具体为:
第二快照还原指令用于指示资源文件快照生成器在后端存储***中的资源文件快照存储区域找到快照生成时间点对应的资源文件快照;
资源文件快照生成器根据资源文件快照确定有状态应用对应资源文件在快照生成时间点的全量数据信息,并使用全量数据信息对有状态应用对应的资源文件进行还原。
第三方面,一种云原生场景下有状态应用的快照生成***,包括:
快照控制器,用于响应接收到的对有状态应用生成快照的指令,向容器存储接口驱动和资源文件快照生成器分别下发第一快照生成指令和第二快照生成指令,以及根据接收到的数据快照生成成功的信息和资源文件快照生成成功的信息,确定有状态应用的快照生成成功;对有状态应用生成快照的指令中包含有状态应用的标识信息;
容器接口存储驱动,用于响应接收到的第一快照生成指令,在指定时间点生成有状态应用的数据快照,将生成的数据快照存储至后端存储***中的数据快照存储区域中,并向快照控制器反馈数据快照生成成功信息;
资源文件快照生成器,用于响应接收到的第二快照生成指令,在指定时间点同步生成有状态应用的资源文件快照,将生成的资源文件快照存储至后端存储***中的资源文件快照存储区域中,并向快照控制器反馈资源文件快照生成成功信息。
第四方面,一种云原生场景下有状态应用的快照还原***,包括:
快照控制器,用于响应接收到的对有状态应用还原快照的指令,向容器存储接口驱动和资源文件快照生成器分别下发第一快照还原指令和第二快照还原指令,以及响应接收到的存储数据卷还原成功的信息和资源文件还原成功的信息,检测还原后的有状态应用是否运行正常;根据有状态应用已运行正常,确定有状态应用对应的存储数据卷和资源文件还原成功;对有状态应用还原快照的指令中包含有状态应用的标识信息和快照生成时间点;
容器存储接口驱动,用于响应接收到的第一快照还原指令,使用快照生成时间点对应的数据快照对有状态应用对应的存储数据卷进行还原,并向快照控制器反馈数据还原成功的信息;
资源文件快照生成器,用于响应接收到的第二快照还原指令,使用快照生成时间点对应的资源文件快照对有状态应用对应的资源文件进行还原,并向快照控制器反馈资源文件快照还原成功的信息。
第五方面,一种计算机可读存储介质,其上存储有计算机程序,程序用于执行任一上述云原生场景下有状态应用的快照生成或还原方法。
第六方面,一种电子设备,包括:存储器、处理器以及存储在存储器中并可在处理器上运行的程序,处理器执行程序时实现任一上述云原生场景下有状态应用的快照生成或还原方法。
本申请实施例提供的方案带来的有益效果是:
本申请实施例中提供一种云原生场景下有状态应用的快照生成方法和***。能够在容器云平台如Kubernetes***中引入了快照控制器和资源文件快照生成器,其中快照控制器主要用于获取有状态应用对应的资源文件(包括一般资源文件和PV/PVC文件),并向容器存储接口驱动和资源文件快照生成器分别下发第一快照生成指令和第二快照生成指令。容器存储接口驱动在接收到第一快照生成指令后,在指定时间点对有状态应用对应的存储数据卷生成数据快照。资源文件快照生成器在接收到第二快照生成指令后,在指定时间点同步对有状态应用对应的资源文件生成资源文件快照。在有状态应用的资源文件和数据都被损坏时,能够使用同步生成的数据快照和资源文件快照对有状态应用进行还原,能够保证还原后的资源文件和数据的一致性,确保还原后的有状态应用能够正常运行。
附图说明
为了更清楚的说明本申请实施例中的一种云原生场景下有状态应用的快照生成方法和***,下面将对实施例描述中所需要使用的附图作简单的介绍。
图1是现有相关技术快照生成结构示意图;
图2是本申请实施例提供的一种云原生场景下有状态应用的快照生成方法流程图;
图3是本申请实施例提供的一种云原生场景下有状态应用快照生成方法完整流程图;
图4是本申请实施例提供的一种云原生场景下有状态应用的快照还原方法流程图;
图5是本申请实施例提供的一种云原生场景下有状态应用的快照还原方法完整流程图;
图6是本申请实施例提供的一种云原生场景下有状态应用的快照生成***示意图;
图7是本申请实施例提供的一种云原生场景下有状态应用的快照生成***示例图;
图8是本申请实施例提供的一种云原生场景下有状态应用的快照还原***示意图;
图9是本申请实施例提供的一种云原生场景下有状态应用的快照还原***示例图;
图10是本申请实施例提供的一种电子设备的结构示意图;
图11是本申请实施例提供的一种电子设备的硬件示意图。
其中,附图标记如下:
处理器1001、计算机程序1002、处理器1101、通信接口1102、计算机可读介质1103和通信总线1104。
具体实施方式
为了使发明实现的技术手段、创造特征、达成目的和功效易于明白了解,下结合具体图示,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。
基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
须知,本说明书所附图式所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。同时,本说明书中所引用的如“上”、“下”、“左”、“右”、“中间”及“一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
为了更加清楚地对本发明实施例所提出的一种云原生场景下有状态应用的快照生成方法和***进行说明,需要先对本申请实施例中的技术名词进行详细说明,具体如下:
Kubernetes***:Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。Kubernetes***能够将多个节点中的容器组纳入同一集群进行管理,安装有Kubernetes***的集群即被称作Kubernetes集群。
ETCD组件:兼顾一致性与高可用性的分布式键值数据库,用于保存整个Kubernetes集群的状态。
API-Server组件:用于提供Kubernetes集群资源指令的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制。
容器存储接口(Container Storage Interface)驱动:简称CSI驱动,与Kubernetes***对接,管理员能够在Kubernetes***中通过容器存储接口(CSI)驱动实现对后端存储***中的数据信息进行指令。
有状态应用:有状态应用是指需要将数据进行持久化存储的应用。
为了更加清楚的对本申请实施例所提出的一种云原生场景下有状态应用的快照生成方法和***进行说明,需要对本申请所要解决的问题进行说明。
在云原生场景下,应用可以分为有状态应用和无状态应用。在部署有状态应用时,除了需要在Kubernetes集群中部署该有状态应用对应的应用描述文件(如Deployment),配置文件(如ConfigMap)等一般资源文件(即Yaml文件),还需要通过持久化卷(PV)/持久化卷声明(PVC)文件这一特殊资源文件来将有状态应用与后端存储***中的存储数据卷进行绑定,以将该有状态应用运行过程中产生的数据持久化存储至后端存储***中的存储数据卷中。为了预防后端存储***中的存储数据卷损坏或丢失,现行普遍做法是将存储数据卷生成数据快照,例如,管理员通过容器存储接口(CSI)驱动对后端存储***中的存储数据卷进行快照生成。
具体来说,图1为相关技术快照生成结构示意图。如图1所示,Kubernetes***提供了容器存储的标准接口规范(CSI,Container Storage Interface,能够将后端存储***暴露给Kubernetes***中的应用,能够将后端存储***暴露给Kubernetes***中的应用),以供存储厂商开发相应的容器存储接口(CSI)驱动与Kubernetes***进行对接。应用管理员只需在Kubernetes***中调用后端存储***提供的容器存储接口(CSI)驱动即可实现对后端存储***中的存储数据卷生成快照。具体是通过生成新的Volume Snapshot资源文件(其中包括要生成快照的存储数据卷对应的PV/PVC文件),来调用容器存储接口(CSI)驱动提供的快照生成方法,对后端存储***中的存储数据卷生成数据快照,并将生成的数据快照存储在后端存储***中的指定位置。当后端存储***中的某个存储数据卷遭受破坏或者出现写入错误时,管理员只需在Kubernetes***中调用容器存储接口(CSI)驱动提供的快照还原方法,即可在后端存储***中找到该存储数据卷的全部数据快照,并将该存储数据卷的状态还原到任一快照生成的时间点。
但是,相关技术中,Kubernetes***仅能够对有状态应用运行过程中产生的数据生成快照,而无法对有状态应用对应的资源文件生成快照。如果出现有状态应用对应的资源文件和运行产生的数据都被损坏的情况,那么管理员在Kubernetes***中调用容器存储接口(CSI)驱动提供的快照还原方法将有状态应用对应的存储数据卷中的数据进行还原后,只能手动对资源文件进行还原,并重新将资源文件与存储数据卷进行绑定,但难以保证还原后的资源文件和数据的一致性,即无法保证还原后的资源文件和数据相匹配。
具体来说,对存储数据卷中的数据进行还原是将存储数据卷的状态还原至生成数据快照的时间点,而管理员难以确定该时间点的资源文件的状态信息,只能不断地尝试让资源文件的状态与存储数据卷的状态相匹配,不仅运维操作成本很高,而且容易导致对该应用的还原失败,使应用无法正常运行。
申请人经过对生产实践的使用场景进行深入分析后,为了能够在有状态应用对应的资源文件和运行产生的数据都被损坏时,确保还原后的资源文件和数据具有一致性,本申请试图在对有状态应用运行产生的数据生成快照的同时,对有状态应用对应的资源文件也生成快照。
基于此,本申请在Kubernetes***中引入了快照控制器和资源文件快照生成器,其中快照控制器主要用于获取有状态应用对应的资源文件(包括一般资源文件和PV/PVC文件),并向容器存储接口(CSI)驱动和资源文件快照生成器下发对有状态应用生成快照的指令。由容器存储接口(CSI)驱动使用预设的快照生成方法对后端存储***中该有状态应用对应的存储数据卷生成数据快照,由资源文件快照生成器对有状态应用对应的资源文件生成资源文件快照。
图2为本申请实施例一种云原生场景下有状态应用的快照生成方法的流程图。
如图2所示的一种云原生场景下有状态应用的快照生成方法运行在快照控制器上,该方法包括以下步骤:
步骤S101,响应于接收到的对有状态应用生成快照的指令,向容器存储接口(CSI)驱动和资源文件快照生成器分别下发第一快照生成指令和第二快照生成指令。
其中,对有状态应用生成快照的指令中包含有状态应用的标识信息,第一快照生成指令用于指示容器存储接口(CSI)驱动在指定时间点生成有状态应用的数据快照,第二快照生成指令用于指示资源文件快照生成器在指定时间点同步生成有状态应用的资源文件快照。
可以理解,有状态应用的标识信息通常是指有状态应用的名称,也可以是有状态应用的编号,通过有状态应用名称或者编号可以唯一确定该有状态应用,进而确定该有状态应用对应的资源文件。
可以理解,为保证数据快照和资源文件快照能够同步生成,本申请实施例中可以有两种实现方式:一是快照控制器接收到对有状态应用生成快照的指令,立即同时分别向容器存储接口(CSI)驱动和资源文件快照生成器发送第一快照生成指令和第二快照生成指令,容器存储接口(CSI)驱动和资源文件快照生成器一收到相应的快照生成指令后立即执行相应的快照生成指令。由于快照控制器同时向容器存储接口(CSI)驱动和资源文件快照生成器发送相应的快照生成指令,容器存储接口(CSI)驱动和资源文件快照生成器一收到相应的快照生成指令后立即执行相应的快照生成指令,从而实现在快照控制器收到对有状态应用生成快照的指令的时间点(即指定时间点)同时生成数据快照和资源文件快照。二是快照控制器接收到对有状态应用生成快照的指令(该指令中包含尚未到来的指定时间点),立即分别向容器存储接口(CSI)驱动和资源文件快照生成器发送第一快照生成指令和第二快照生成指令(分别发送的两条指令中同样包含该尚未到来的指定时间点),容器存储接口(CSI)驱动和资源文件快照生成器在收到相应的快照生成指令后,等到指定时间点到来时立即执行相应的快照生成指令,从而实现在指定时间点同时生成数据快照和资源文件快照。例如,对有状态应用生成快照的指令中包含中午12点,那么在中午12点到来时,容器存储接口(CSI)驱动和资源文件快照生成器将对该有状态应用同时生成数据快照和资源文件快照。进一步地,还可以在指令中设置在中午12点生成快照的次数,默认是一次,可以通过参数设置多次,或者是永久,即每当中午12点来临,容器存储接口(CSI)驱动和资源文件快照生成器都将对该有状态应用同时生成数据快照和资源文件快照。
步骤S102,响应于接收到数据快照生成成功的信息和资源文件快照生成成功的信息,确定有状态应用的快照生成成功。
可以理解,数据快照生成成功后,由容器存储接口(CSI)驱动向快照控制器反馈成功信息,资源文件快照生成后由资源文件快照生成器向快照控制器反馈成功信息,只有当两者都反馈快照生成成功的信息时,代表整个快照生成指令完成,否则快照控制器需要重新向容器存储接口(CSI)驱动和资源文件快照生成器下发对有状态应用生成快照的指令,直至两者都反馈快照生成成功为止。
在一种可能的实现中,在上述步骤S101中,快照控制器接收到对有状态应用生成快照的指令之后,该方法还包括:
根据有状态应用的标识信息,通过容器云平台的统一访问接口获取有状态应用对应的资源文件。
其中,资源文件包括存储数据卷声明文件,存储数据卷声明文件中记载有该有状态应用对应的存储数据卷的标识信息和存储数据卷的访问地址。
可以理解,有状态应用的标识信息,通常指有状态应用的名称或者编号,快照控制器可以根据有状态应用的名称或者编号,通过容器云平台的统一访问接口(比如Kubernetes集群的API-Server组件)访问容器云平台的数据库(比如Kubernetes集群的ETCD组件),以获取该有状态应用对应的资源文件,具体包括应用描述文件(如Deployment),配置文件(如ConfigMap)等一般资源文件(即Yaml文件)和存储数据卷声明文件(PV/PVC文件)这一特殊资源文件。
对存储数据卷声明文件的内容进行解析,即可获取后端存储***中该有状态应用对应的存储数据卷的标识信息和访问地址。
在一种可能的实现中,第一快照生成指令中包含存储数据卷的访问地址,以便容器存储接口(CSI)驱动根据存储数据卷的访问地址对后端存储***中有状态应用对应的存储数据卷生成数据快照;第二快照生成指令中包含有状态应用对应的资源文件的标识信息,以便资源文件快照生成器根据资源文件的标识信息对有状态应用对应的资源文件中的全量数据信息生成资源文件快照。
其中,资源文件的标识信息通常是资源文件的名称,也可以是资源文件的编号,还可以是资源文件的访问路径,资源文件快照生成器可以通过资源文件的名称、编号或者访问路径来找到该资源文件,进而对资源文件中的全量数据信息生成资源文件快照。
可以理解,资源文件的全量数据信息是指与快照生成时间对应的同一时刻的有状态应用的所有资源文件,例如所有资源文件不仅包括前述的存储数据卷声明文件,还包括有状态应用对应的应用描述文件(Deployment),配置文件(ConfigMap)等一般资源文件(即Yaml文件)。
需要说明的是,容器存储接口(CSI)驱动对后端存储***中的存储数据卷生成数据快照的方式有多种,既可以是对存储数据卷进行全量快照,即每次对存储数据卷中存储的全部数据进行快照记录,也可以是对存储数据卷进行增量快照,即每次仅对存储数据卷中上一次生成快照后修改的数据进行快照记录。
需要特别说明的是,步骤S102中快照控制器接收到的数据快照生成成功的信息和资源文件快照生成成功的信息是容器存储接口(CSI)驱动和资源文件快照生成器分别成功完成对应的全部快照生成工作后向快照控制器反馈的信息。
具体来说,数据快照生成成功的信息,是在容器存储接口(CSI)驱动在对后端存储***中有状态应用对应的存储数据卷生成数据快照,并将生成的数据快照存储至后端存储***中的数据快照存储区域中之后,由容器存储接口(CSI)驱动向快照控制器反馈的信息。
类似地,资源文件快照生成成功的信息,是在资源文件快照生成器对有状态应用对应的资源文件中的全量数据信息生成资源文件快照,并将生成的资源文件快照存储至后端存储***中的资源文件快照存储区域中之后,由资源文件快照生成器向快照控制器反馈的信息。
图3为本申请提供的有状态应用快照生成完整流程图。如图3所示,包括以下步骤:
步骤S301,快照控制器接收管理员输入的有状态应用快照生成指令。
步骤S302,快照控制器访问ETCD组件获取后端存储数据卷对应的PV/PVC文件。
步骤S303,快照控制器生成第一快照生成指令和第二快照生成指令,然后同步执行步骤S304A和步骤S304B。
步骤S304A,快照控制器向容器存储接口(CSI)驱动发送第一快照生成指令。
步骤S304B,快照控制器向资源文件快照生成器发送第二快照生成指令。
步骤S305A,容器存储接口(CSI)驱动接收第一快照生成指令后生成数据快照。
步骤S305B,资源文件快照生成器接收第二快照生成指令后生成资源文件快照。其中,步骤S305A和步骤S305B应当是同时执行的,也就是资源文件快照和数据快照是在同一时间点生成的。
步骤S306A,容器存储接口(CSI)驱动向快照控制器反馈数据快照生成成功的信息。
步骤S306B,资源文件快照生成器向快照控制器反馈资源文件快照生成成功的信息。
步骤S307,快照控制器在预设时间内接收到数据快照生成成功和资源文件快照生成成功的反馈信息后,确认有状态应用快照生成成功。在步骤S307中,如果快照控制器只接收到其中一个快照生成成功的反馈信息,或者没有接收到任何快照生成成功的反馈信息,快照控制器会返回步骤S303,并重新向CSI驱动和资源文件快照生成器下发对有状态应用生成快照的指令,直到确认有状态应用快照生成成功为止。
本申请实施例提供的上述快照生成方法,引入了快照控制器对有状态应用的快照生成进行全局控制,能统一下发生成快照的指令,使得数据快照和资源文件快照同时生成,确保具有一致性。在有状态应用对应的资源文件和运行产生的数据同时损坏时,能同时还原数据快照和资源文件快照,确保还原后的资源文件和数据具有一致性。
如图4所示,本申请实施例提供一种云原生场景下有状态应用的快照还原方法,该方法运行在快照控制器上,包括以下步骤:
步骤S401,响应于接收到对有状态应用还原快照的指令,向容器存储接口(CSI)驱动和资源文件快照生成器分别下发第一快照还原指令和第二快照还原指令。
其中,对有状态应用还原快照的指令中包含有状态应用的标识信息和快照生成时间点,第一快照还原指令用于指示容器存储接口(CSI)驱动使用快照生成时间点对应的数据快照对有状态应用对应的存储数据卷进行还原,第二快照还原指令用于指示资源文件快照生成器使用快照生成时间点对应的资源文件快照对有状态应用对应的资源文件进行还原。
可以理解,还原快照指令中的标识信息包含该有状态应用快照在后端存储***中的存储位置及识别信息。快照控制器生成的第一快照还原指令和第一快照还原指令包含快照在后端存储***中的存储位置及识别信息。
步骤S402,响应于接收到存储数据卷还原成功的信息和资源文件还原成功的信息,检测还原后的有状态应用是否运行正常。
步骤S403,响应于有状态应用运行正常,确定有状态应用对应的存储数据卷和资源文件还原成功。
进一步地,第一快照还原指令用于指示容器存储接口(CSI)驱动使用快照生成时间点对应的数据快照对有状态应用对应的存储数据卷进行还原,具体为:
第一快照还原指令用于指示容器存储接口(CSI)驱动在后端存储***中的数据快照存储区域找到快照生成时间点对应的数据快照,并使用数据快照对有状态应用对应的存储数据卷进行还原。
对应地,第二快照还原指令用于指示资源文件快照生成器使用快照生成时间点对应的资源文件快照对有状态应用对应资源文件进行还原,具体为:
第二快照还原指令用于指示资源文件快照生成器在后端存储***中的资源文件快照存储区域找到快照生成时间点对应的资源文件快照;资源文件快照生成器根据资源文件快照确定有状态应用对应资源文件在快照生成时间点的全量数据信息,并使用全量数据信息对有状态应用对应的资源文件进行还原。
应当理解,有状态应用对应资源文件中包括应用描述文件(如Deployment),配置文件(如ConfigMap)等一般资源文件(即Yaml文件)和存储数据卷声明文件(PV/PVC文件)这一特殊资源文件,PV/PVC文件在快照生成时间点的全量数据信息中记载有有状态应用在快照生成时间点对应的存储数据卷的标识信息和存储数据卷的访问地址。
在完成对有状态应用对应的存储数据卷和资源文件进行还原后,容器存储接口(CSI)驱动将根据PV/PVC文件记载的内容将有状态应用与对应的存储数据卷自动重新进行绑定。
如图5所示,当有状态应用对应的资源文件和运行产生的数据同时损坏的情况,只需要应用管理员向快照控制器输入该有状态应用的快照还原指令。该快照还原指令包含有状态应用的标识信息和指定要还原的快照生成时间点。快照控制器向容器存储接口(CSI)驱动和资源文件快照生成器下发对有状态应用还原的指令,以将有状态应用的状态还原至指定的快照生成时间点。该还原方法的具体步骤为:
步骤S501,快照控制器接收管理员输入的有状态应用快照还原指令。指令中包含有状态应用的标识信息和快照生成时间点。
步骤S502,快照控制器生成第一快照还原指令和第二快照还原指令,然后同步执行步骤S503A和步骤S503B。
步骤S503A,快照控制器向容器存储接口(CSI)驱动发送第一快照还原指令。
步骤S503B,快照控制器向资源文件快照生成器发送第二快照还原指令。
步骤S504A,容器存储接口(CSI)驱动接收第一快照生成指令后对对应的存储数据卷进行还原。具体地,容器存储接口(CSI)驱动从后端存储***中的数据快照存储区域查询指定的快照生成时间点对应的数据快照,并使用预设的快照还原方法和数据快照将有状态应用对应的存储数据卷的状态还原至指定的快照生成时间点。
步骤S504B,资源文件快照生成器接收第二快照还原指令后对对应的资源文件进行还原。具体地,资源文件快照生成器从后端存储***中的资源文件快照存储区域查询指定的快照生成时间点对应的资源文件快照,并通过资源文件快照获取指定的快照生成时间点对应的资源文件的全量数据信息,生成快照生成时间点对应的资源文件。
步骤S505A,容器存储接口(CSI)驱动向快照控制器反馈存储数据卷还原成功的信息。
步骤S505B,资源文件快照生成器向快照控制器反馈资源文件还原成功的信息。
步骤S506,快照控制器在预设时间内接收到存储数据卷还原成功的信息和资源文件还原成功的信息,检测还原后的有状态应用运行是否正常。
步骤S507,快照控制器检测到有状态应用运行正常,确认有状态应用对应的存储数据卷和资源文件还原成功。
本申请实施例提供的上述快照还原方法,因为数据快照和对应的资源文件快照同时生成,可以保证还原后的资源文件和存储数据的一致性。能够直接使用配套的数据快照和资源文件快照对有状态应用进行还原,可以实现资源文件快照和数据快照的自动匹配和绑定,大大降低了手动还原和手动匹配的工作量,降低了运维操作成本。
此外,应用管理员对有状态应用进行还原时,可以通过指令中的快照生成时间点来选择将有状态应用还原至任意的快照生成时间点。
如图6所示,本申请提供一种云原生场景下有状态应用的快照生成***,包括:
快照控制器,用于响应接收到的对有状态应用生成快照的指令,向容器存储接口(CSI)驱动和资源文件快照生成器分别下发第一快照生成指令和第二快照生成指令,以及根据接收到的数据快照生成成功的信息和资源文件快照生成成功的信息,确定有状态应用的快照生成成功;对有状态应用生成快照的指令中包含有状态应用的标识信息。
容器接口存储驱动,用于响应接收到的第一快照生成指令,在指定时间点生成有状态应用的数据快照,将生成的数据快照存储至后端存储***中的数据快照存储区域中,并向快照控制器反馈数据快照生成成功信息。
资源文件快照生成器,用于响应接收到的第二快照生成指令,在指定时间点同步生成有状态应用的资源文件快照,将生成的资源文件快照存储至后端存储***中的资源文件快照存储区域中,并向快照控制器反馈资源文件快照生成成功信息。
进一步地,快照控制器接收到对有状态应用生成快照的指令之后,方法还包括:
根据有状态应用的标识信息,通过容器云平台的统一访问接口获取有状态应用对应的资源文件;资源文件包括存储数据卷声明文件,存储数据卷声明文件中记载有有状态应用对应的存储数据卷的标识信息和存储数据卷的访问地址。
进一步地,第一快照生成指令中包含存储数据卷的访问地址,以便容器存储接口(CSI)驱动根据存储数据卷的访问地址对后端存储***中有状态应用对应的存储数据卷生成数据快照。
第二快照生成指令中包含有状态应用对应的资源文件的标识信息,以便资源文件快照生成器根据资源文件的标识信息对有状态应用对应的资源文件中的全量数据信息生成资源文件快照。
进一步地,容器存储接口(CSI)驱动在对后端存储***中有状态应用对应的存储数据卷生成数据快照,并将生成的数据快照存储至后端存储***中的数据快照存储区域中之后,向快照控制器反馈述数据快照生成成功的信息。
进一步地,资源文件快照生成器对有状态应用对应的资源文件中的全量数据信息生成资源文件快照,并将生成的资源文件快照存储至后端存储***中的资源文件快照存储区域中之后,向快照控制器反馈资源文件快照生成成功的信息。
具体的,以Kubernetes***为例进行说明,如图7所示,Kubernetes***中部署有应用A、应用B、应用C三个有状态应用,分别对应于资源文件1、资源文件2、资源文件3,其中,资源文件1包括PV/PVC1,资源文件2包括PV/PVC2,资源文件3包括PV/PVC3,PV/PVC1用于将应用A和存储数据卷1进行绑定,PV/PVC2用于将应用B和存储数据卷2进行绑定,PV/PVC3用于将应用C和存储数据卷3进行绑定。
通过在Kubernetes***中引入了快照控制器和资源文件快照生成器,当应用管理员要对Kubernetes***中部署的某个有状态应用(比如应用A)生成快照时,只需向快照控制器输入该有状态应用的标识信息,快照控制器将根据该有状态应用的标识信息,通过访问Kubernetes***的API-Server组件,从ETCD中获取该有状态应用对应的资源文件(比如资源文件1),其中既包括应用描述文件(Deployment),配置文件(ConfigMap)等一般资源文件,还包括PV/PVC文件这一特殊资源文件(比如PV/PVC1)。需要说明的是,PV/PVC文件的存储字段的内容记载有该有状态应用对应的存储数据卷,以及存储数据卷的访问地址。
快照控制器向容器存储接口(CSI)驱动和资源文件快照生成器下发对有状态应用生成快照的指令,具体是向容器存储接口(CSI)驱动下发对有状态应用对应的存储数据卷生成快照的指令(其中包括存储数据卷的访问地址),向资源文件快照生成器下发对有状态应用对应的资源文件生成快照的指令。
容器存储接口(CSI)驱动根据存储数据卷的访问地址,使用预设的快照生成方法对后端存储***中该有状态应用对应的存储数据卷生成数据快照,并存储至后端存储***中的数据快速存储区域中。
资源文件快照生成器对有状态应用对应的资源文件的全量数据信息进行快照拷贝,并将生成的资源文件快照存储至后端存储***中的资源文件快照存储区域中。
如果数据快照生成成功,则由容器存储接口(CSI)驱动向快照控制器反馈数据快照生成成功的信息,如果资源文件快照生成成功,则由资源文件快照生成器向快照控制器反馈资源文件快照生成成功的信息。应当理解,使用本方案对有状态应用生成快照只有当数据快照和资源文件快照都被成功生成时,才算快照生成成功,否则快照控制器需要重新向容器存储接口(CSI)驱动和资源文件快照生成器下发对有状态应用生成快照的指令。
本申请实施例提供的上述快照生成***,在容器云平台如Kubernetes***中引入了快照控制器和资源文件快照生成器,其中快照控制器主要用于获取有状态应用对应的资源文件(包括一般资源文件和PV/PVC文件),并向容器存储接口驱动和资源文件快照生成器分别下发第一快照生成指令和第二快照生成指令。容器存储接口驱动在接收到第一快照生成指令后,在指定时间点对有状态应用对应的存储数据卷生成数据快照。资源文件快照生成器在接收到第二快照生成指令后,在指定时间点同步对有状态应用对应的资源文件生成资源文件快照。在有状态应用的资源文件和数据都被损坏时,能够使用同步生成的数据快照和资源文件快照对有状态应用进行还原,能够保证还原后的资源文件和数据的一致性,确保还原后的有状态应用能够正常运行。
如图8所示,本申请实施例提供一种云原生场景下有状态应用的快照还原***,其特征在于,包括:
快照控制器,用于响应接收到的对有状态应用还原快照的指令,向容器存储接口(CSI)驱动和资源文件快照生成器分别下发第一快照还原指令和第二快照还原指令,以及响应接收到的存储数据卷还原成功的信息和资源文件还原成功的信息,检测还原后的有状态应用是否运行正常;根据有状态应用已运行正常,确定有状态应用对应的存储数据卷和资源文件还原成功;对有状态应用还原快照的指令中包含有状态应用的标识信息和快照生成时间点;
容器存储接口(CSI)驱动,用于响应接收到的第一快照还原指令,使用快照生成时间点对应的数据快照对有状态应用对应的存储数据卷进行还原,并向快照控制器反馈存储数据卷还原成功的信息;
资源文件快照生成器,用于响应接收到的第二快照还原指令,使用快照生成时间点对应的资源文件快照对有状态应用对应的资源文件进行还原,并向快照控制器反馈资源文件还原成功的信息。
容器存储接口(CSI)驱动,具体用于:根据第一快照还原指令,在后端存储***中的数据快照存储区域找到快照生成时间点对应的数据快照,并使用数据快照对有状态应用对应的存储数据卷进行还原;
对应地,
资源文件快照生成器,具体用于:根据第二快照还原指令,在后端存储***中的资源文件快照存储区域找到快照生成时间点对应的资源文件快照;根据资源文件快照确定有状态应用对应资源文件在快照生成时间点的全量数据信息,并使用全量数据信息对有状态应用对应资源文件进行还原。
如图9所示,以Kubernetes***为例进行说明,当有状态应用A对应的资源文件1和运行产生的数据卷1同时损坏的情况,只需要应用管理员向快照控制器输入该有状态应用的快照还原指令。该快照还原指令包含有状态应用的标识信息和指定要还原的快照生成时间点。快照控制器接收快照还原指令,向容器存储接口(CSI)驱动和资源文件快照生成器下发对有状态应用还原快照的指令,具体是向容器存储接口(CSI)驱动下发对有状态应用对应的存储数据卷进行还原的指令(其中包括有状态应用对应的数据快照的访问地址),向资源文件快照生成器下发对有状态应用对应的资源文件进行还原的指令(其中包括有状态应用对应的资源文件快照的访问地址)。
容器存储接口(CSI)驱动根据数据快照的访问地址,使用预设的数据快照还原方法对后端存储***中该有状态应用对应的数据快照1对对应的数据卷1进行还原。
资源文件快照生成器使用预设的数据快照还原方法,对后端存储***中该有状态应用对应的资源文件快照1还原成对应的资源文件1。
如果数据快照还原成功,则由容器存储接口(CSI)驱动向快照控制器反馈存储数据卷1还原成功的信息,如果资源文件快照1还原成功,则由资源文件快照生成器向快照控制器反馈资源文件1还原成功的信息。应当理解,使用本方案对有状态应用生成快照只有当数据快照和资源文件快照都被还原成功时,才算快照还原成功,否则快照控制器需要重新向容器存储接口(CSI)驱动和资源文件快照生成器下发对有状态应用还原快照的指令。当快照控制器接收到数据快照和资源文件快照还原成功的反馈信号后,快照控制器开始检测有状态应用运行状态,如运行成功,则确认快照还原的操作完成。
本申请实施例提供的上述快照还原***,因为数据快照和对应的资源文件快照同时生成,可以保证还原后的资源文件和存储数据的一致性。能够直接使用配套的数据快照和资源文件快照对有状态应用进行还原,可以实现资源文件快照和数据快照的自动匹配和绑定,大大降低了手动还原和手动匹配的工作量,降低了运维操作成本。
此外,应用管理员对有状态应用进行还原时,可以通过指令中的快照生成时间点来选择将有状态应用还原至任意的快照生成时间点。
图10为本发明一种电子设备的结构示意图。如图10所示的一种电子设备,包括:一个或多个处理器1001;以及计算机可读介质,可以配置为存储一个或多个程序1002,
一个或多个处理器1001执行一个或多个程序1002时,实现如下步骤:响应于接收到的对有状态应用生成快照的指令,向容器存储接口(CSI)驱动和资源文件快照生成器分别下发第一快照生成指令和第二快照生成指令。对有状态应用生成快照的指令中包含有状态应用的标识信息。第一快照生成指令用于指示容器存储接口(CSI)驱动在指定时间点生成有状态应用的数据快照,第二快照生成指令用于指示资源文件快照生成器在指定时间点同步生成有状态应用的资源文件快照。响应于接收到数据快照生成成功的信息和资源文件快照生成成功的信息,确定有状态应用的快照生成成功。
一个或多个处理器1001执行一个或多个程序1002时,还可实现如下步骤:
快照控制器接收到对有状态应用还原快照的指令,向容器存储接口(CSI)驱动和资源文件快照生成器分别下发第一快照还原指令和第二快照还原指令;对有状态应用还原快照的指令中包含有状态应用的标识信息和快照生成时间点,第一快照还原指令用于指示容器存储接口(CSI)驱动使用快照生成时间点对应的数据快照对有状态应用对应的存储数据卷进行还原,第二快照还原指令用于指示资源文件快照生成器使用快照生成时间点对应的资源文件快照对有状态应用对应的资源文件进行还原;
快照控制器接收到存储数据卷还原成功的信息和资源文件还原成功的信息,检测还原后的有状态应用是否运行正常;快照控制器检测有状态应用运行正常,确定有状态应用对应的存储数据卷和资源文件还原成功。
图11为本发明一种电子设备的硬件示意图。如图11所示,该电子设备的硬件结构可以包括:处理器1101、通信接口1102、计算机可读介质1103和通信总线1104。
其中,处理器1101、通信接口1102、计算机可读介1103通过通信总线1104完成相互间的通信。
可选地,通信接口1102可以为通信模块的接口,如GSM模块的接口。
其中,处理器1101具体可以配置为:响应于接收到的对有状态应用生成快照的指令,向容器存储接口(CSI)驱动和资源文件快照生成器分别下发第一快照生成指令和第二快照生成指令。对有状态应用生成快照的指令中包含有状态应用的标识信息。第一快照生成指令用于指示容器存储接口(CSI)驱动在指定时间点生成有状态应用的数据快照,第二快照生成指令用于指示资源文件快照生成器在指定时间点同步生成有状态应用的资源文件快照。响应于接收到数据快照生成成功的信息和资源文件快照生成成功的信息,确定有状态应用的快照生成成功。
其中,处理器1101具体还可以配置为:快照控制器接收到对有状态应用还原快照的指令,向CSI驱动和资源文件快照生成器分别下发第一快照还原指令和第二快照还原指令;对有状态应用还原快照的指令中包含有状态应用的标识信息和快照生成时间点,第一快照还原指令用于指示CSI驱动使用快照生成时间点对应的数据快照对有状态应用对应的存储数据卷进行还原,第二快照还原指令用于指示资源文件快照生成器使用快照生成时间点对应的资源文件快照对有状态应用对应的资源文件进行还原;
快照控制器接收到存储数据卷还原成功的信息和资源文件还原成功的信息,检测还原后的有状态应用是否运行正常;快照控制器检测有状态应用运行正常,确定有状态应用对应的存储数据卷和资源文件还原成功。
处理器可以是通用处理器,包括中央处理器(central processing unit,简称CPU)、网络处理器(Network Processor,简称NP)等,还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本申请实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如:IPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如Ipad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如:iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、***总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子装置。
需要指出,根据实施的需要,可将本申请实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可以将两个或多个部件/步骤或者部件/步骤的部分指令组合成新的部件/步骤,以实现本申请实施例的目的。
上述根据本申请实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器存储介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的多集群环境下的应用同步方法。此外,当通用计算机访问用于实现在此示出的方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和涉及约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。
尤其,对于设备及***实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述得设备及***实施例仅仅是示意性的,其中作为分离不见说明的单元可以使或者也可以不是物理上分开的,作为单元提示的不见可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上仅为本申请的优选实施例,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种云原生场景下有状态应用的快照生成方法,其特征在于,方法运行在快照控制器上,方法包括:
响应于接收到的对有状态应用生成快照的指令,向容器存储接口驱动和资源文件快照生成器分别下发第一快照生成指令和第二快照生成指令;对有状态应用生成快照的指令中包含有状态应用的标识信息,第一快照生成指令用于指示容器存储接口驱动在指定时间点生成有状态应用的数据快照,第二快照生成指令用于指示资源文件快照生成器在所述指定时间点同步生成有状态应用的资源文件快照;
响应于接收到数据快照生成成功的信息和资源文件快照生成成功的信息,确定有状态应用的快照生成成功。
2.根据权利要求1的快照生成方法,其特征在于,在接收到对有状态应用生成快照的指令之后,方法还包括:
根据有状态应用的标识信息,通过容器云平台的统一访问接口获取有状态应用对应的资源文件;资源文件包括存储数据卷声明文件,存储数据卷声明文件中记载有有状态应用对应的存储数据卷的标识信息和存储数据卷的访问地址。
3.根据权利要求2的快照生成方法,其特征在于,
第一快照生成指令中包含存储数据卷的访问地址,以便容器存储接口驱动根据存储数据卷的访问地址对后端存储***中有状态应用对应的存储数据卷生成数据快照;
第二快照生成指令中包含有状态应用对应的资源文件的标识信息,以便资源文件快照生成器根据资源文件的标识信息对有状态应用对应的资源文件中的全量数据信息生成资源文件快照。
4.根据权利要求3的快照生成方法,其特征在于,
数据快照生成成功的信息,是在容器存储接口驱动在对后端存储***中有状态应用对应的存储数据卷生成数据快照,并将生成的数据快照存储至后端存储***中的数据快照存储区域中之后,由容器存储接口驱动向快照控制器反馈的信息;
资源文件快照生成成功的信息,是在资源文件快照生成器对有状态应用对应的资源文件中的全量数据信息生成资源文件快照,并将生成的资源文件快照存储至后端存储***中的资源文件快照存储区域中之后,由资源文件快照生成器向快照控制器反馈的信息。
5.一种云原生场景下有状态应用的快照还原方法,其特征在于,所述快照由权利要求1-4中任一项所述快照生成方法所生成,所述快照还原方法运行在快照控制器上,包括:
响应于接收到对有状态应用还原快照的指令,向容器存储接口驱动和资源文件快照生成器分别下发第一快照还原指令和第二快照还原指令;对有状态应用还原快照的指令中包含有状态应用的标识信息和快照生成时间点,第一快照还原指令用于指示容器存储接口驱动使用所述快照生成时间点对应的数据快照对有状态应用对应的存储数据卷进行还原,第二快照还原指令用于指示资源文件快照生成器使用所述快照生成时间点对应的资源文件快照对有状态应用对应的资源文件进行还原;
响应于接收到存储数据卷还原成功的信息和资源文件还原成功的信息,检测还原后的有状态应用是否运行正常;
响应于有状态应用运行正常,确定有状态应用对应的存储数据卷和资源文件还原成功。
6.根据权利要求5的快照还原方法,其特征在于,
第一快照还原指令用于指示容器存储接口驱动使用快照生成时间点对应的数据快照对有状态应用对应的存储数据卷进行还原,具体为:
第一快照还原指令用于指示容器存储接口驱动在后端存储***中的数据快照存储区域找到快照生成时间点对应的数据快照,并使用数据快照对有状态应用对应的存储数据卷进行还原;
对应地,
第二快照还原指令用于指示资源文件快照生成器使用快照生成时间点对应的资源文件快照对有状态应用对应资源文件进行还原,具体为:
第二快照还原指令用于指示资源文件快照生成器在后端存储***中的资源文件快照存储区域找到快照生成时间点对应的资源文件快照;
资源文件快照生成器根据资源文件快照确定有状态应用对应资源文件在快照生成时间点的全量数据信息,并使用全量数据信息对有状态应用对应的资源文件进行还原。
7.一种云原生场景下有状态应用的快照生成***,其特征在于,包括:
快照控制器,用于响应接收到的对有状态应用生成快照的指令,向容器存储接口驱动和资源文件快照生成器分别下发第一快照生成指令和第二快照生成指令,以及根据接收到的数据快照生成成功的信息和资源文件快照生成成功的信息,确定有状态应用的快照生成成功;对有状态应用生成快照的指令中包含有状态应用的标识信息;
容器接口存储驱动,用于响应接收到的第一快照生成指令,在指定时间点生成有状态应用的数据快照,将生成的数据快照存储至后端存储***中的数据快照存储区域中,并向快照控制器反馈数据快照生成成功信息;
资源文件快照生成器,用于响应接收到的第二快照生成指令,在所述指定时间点同步生成有状态应用的资源文件快照,将生成的资源文件快照存储至后端存储***中的资源文件快照存储区域中,并向快照控制器反馈资源文件快照生成成功信息。
8.一种云原生场景下有状态应用的快照还原***,其特征在于,所述快照由权利要求7所述快照生成***所生成,所述快照还原***包括:
快照控制器,用于响应接收到的对有状态应用还原快照的指令,向容器存储接口驱动和资源文件快照生成器分别下发第一快照还原指令和第二快照还原指令,以及响应接收到的存储数据卷还原成功的信息和资源文件还原成功的信息,检测还原后的有状态应用是否运行正常;根据有状态应用已运行正常,确定有状态应用对应的存储数据卷和资源文件还原成功;对有状态应用还原快照的指令中包含有状态应用的标识信息和快照生成时间点;
容器存储接口驱动,用于响应接收到的第一快照还原指令,使用所述快照生成时间点对应的数据快照对有状态应用对应的存储数据卷进行还原,并向快照控制器反馈存储数据卷还原成功的信息;
资源文件快照生成器,用于响应接收到的第二快照还原指令,使用所述快照生成时间点对应的资源文件快照对有状态应用对应的资源文件进行还原,并向快照控制器反馈资源文件还原成功的信息。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,程序用于执行如权利要求1-6中任一项所述的方法。
10.一种电子设备,其特征在于,包括:存储器、处理器以及存储在存储器中并可在处理器上运行的程序,处理器执行程序时实现如权利要求1-6中任一项所述的方法。
CN202210821925.7A 2022-07-13 2022-07-13 一种云原生场景下有状态应用的快照生成方法和*** Active CN115098301B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210821925.7A CN115098301B (zh) 2022-07-13 2022-07-13 一种云原生场景下有状态应用的快照生成方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210821925.7A CN115098301B (zh) 2022-07-13 2022-07-13 一种云原生场景下有状态应用的快照生成方法和***

Publications (2)

Publication Number Publication Date
CN115098301A CN115098301A (zh) 2022-09-23
CN115098301B true CN115098301B (zh) 2023-06-27

Family

ID=83296447

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210821925.7A Active CN115098301B (zh) 2022-07-13 2022-07-13 一种云原生场景下有状态应用的快照生成方法和***

Country Status (1)

Country Link
CN (1) CN115098301B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116166471B (zh) * 2023-01-04 2024-03-22 安超云软件有限公司 快照回滚方法、容器化云平台及计算机可读介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1690974A (zh) * 2004-04-28 2005-11-02 国际商业机器公司 最小化备份***故障后重新同步时间的***与方法
US10353603B1 (en) * 2016-12-27 2019-07-16 EMC IP Holding Company LLC Storage container based replication services
CN111078368A (zh) * 2019-12-26 2020-04-28 浪潮电子信息产业股份有限公司 云计算平台虚拟机的内存快照方法、装置及可读存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10044795B2 (en) * 2014-07-11 2018-08-07 Vmware Inc. Methods and apparatus for rack deployments for virtual computing environments
US10564893B2 (en) * 2017-02-23 2020-02-18 Arrikto Inc. Multi-platform data storage system supporting peer-to-peer sharing of containers
CN112099989A (zh) * 2020-08-28 2020-12-18 中国—东盟信息港股份有限公司 一种Kubernetes云原生应用灾备、迁移与恢复的方法
CN113391952B (zh) * 2021-06-07 2022-03-11 北京同创永益科技发展有限公司 一种云原生环境基于lvm快照的自动化备份方法
CN114237498B (zh) * 2021-12-02 2023-08-11 上海道客网络科技有限公司 一种云原生存储数据卷的快照生成方法与***
CN114398208A (zh) * 2022-01-17 2022-04-26 上海道客网络科技有限公司 一种无状态应用的跨集群备份方法、***、介质和设备
CN114546725A (zh) * 2022-02-23 2022-05-27 上海道客网络科技有限公司 一种有状态应用的跨集群备份方法、***、介质和电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1690974A (zh) * 2004-04-28 2005-11-02 国际商业机器公司 最小化备份***故障后重新同步时间的***与方法
US10353603B1 (en) * 2016-12-27 2019-07-16 EMC IP Holding Company LLC Storage container based replication services
CN111078368A (zh) * 2019-12-26 2020-04-28 浪潮电子信息产业股份有限公司 云计算平台虚拟机的内存快照方法、装置及可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Virtual Infrastructures on the Move: Containers and Virtual Network Migration;Euclides Cardoso等;《2018 XLIV Latin American Computer Conference (CLEI)》;第688-697页 *
容器热迁移的快速内存同步技术;游强志等;《计算机与现代化》;第17-22页 *

Also Published As

Publication number Publication date
CN115098301A (zh) 2022-09-23

Similar Documents

Publication Publication Date Title
US11016878B2 (en) System and method for data collection and analysis of information relating to mobile applications
CN109716331B (zh) 符合应用程序数据共享和决策服务平台模式的应用程序部署
US9542302B2 (en) System and method for remote debugging of an application in an image forming apparatus over a network
CN108427616B (zh) 后台程序监控方法及监控装置
US20150067167A1 (en) Hot pluggable extensions for access management system
US20120084355A1 (en) Method and apparatus for maintaining operability with a cloud computing environment
CN110989926B (zh) 故障磁盘槽位定位方法、装置及电子设备
US7536599B2 (en) Methods and systems for validating a system environment
CN114237498B (zh) 一种云原生存储数据卷的快照生成方法与***
WO2019084843A1 (zh) 固件升级方法、电子设备、相机***和无人飞行器
CN115328752B (zh) 一种用于Kubernetes控制面测试的集群模拟方法及***
CN115098301B (zh) 一种云原生场景下有状态应用的快照生成方法和***
CN111818145B (zh) 一种文件传输方法、装置、***、设备及存储介质
CN111459524A (zh) 软件的升级方法、装置、***
WO2021129331A1 (zh) 一种实现在多***中运行应用程序的控制方法、控制装置
CN109495298B (zh) 在OpenStack***中管理节点的方法和装置
CN115098297B (zh) 一种云原生存储数据卷的一致性快照生成方法和***
CN110688130A (zh) 物理机部署方法、装置、可读存储介质及电子设备
CN114546725A (zh) 一种有状态应用的跨集群备份方法、***、介质和电子设备
KR101418390B1 (ko) 원격 응용 프로그래밍 디버깅시스템 및 그 제어방법
CN114398208A (zh) 一种无状态应用的跨集群备份方法、***、介质和设备
CN111953803A (zh) Bmc启动方法、设备、***及存储介质
CN114201240B (zh) 配置helm chart的方法和装置
CN117978792B (zh) 应用程序与Web端的交互方法、装置、设备及介质
JP2021503657A (ja) 電子装置を介したオペレーティングシステムの修復

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