CN111488241B - 在容器编排平台实现无代理备份与恢复操作的方法和系统 - Google Patents
在容器编排平台实现无代理备份与恢复操作的方法和系统 Download PDFInfo
- Publication number
- CN111488241B CN111488241B CN202010065121.XA CN202010065121A CN111488241B CN 111488241 B CN111488241 B CN 111488241B CN 202010065121 A CN202010065121 A CN 202010065121A CN 111488241 B CN111488241 B CN 111488241B
- Authority
- CN
- China
- Prior art keywords
- backup
- workload
- container
- cluster
- job
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000011084 recovery Methods 0.000 title description 9
- 230000002085 persistent effect Effects 0.000 claims description 123
- 230000006870 function Effects 0.000 description 22
- 238000009434 installation Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 15
- 238000012545 processing Methods 0.000 description 14
- 238000004590 computer program Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 10
- 239000003795 chemical substances by application Substances 0.000 description 9
- 238000007781 pre-processing Methods 0.000 description 9
- 238000013500 data storage Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000012805 post-processing Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 208000037820 vascular cognitive impairment Diseases 0.000 description 3
- 230000002618 waking effect Effects 0.000 description 3
- 230000004931 aggregating effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 2
- 238000013144 data compression Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1456—Hardware arrangements for backup
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
涉及在容器编排平台实现无代理备份与恢复操作的方法和系统。具体地说,本文中所公开的方法和系统可能需要在容器化环境中促进备份(或恢复)工作负载的实施而无需于其中共通执行辅助存储代理,所述辅助存储代理传统上管理这些备份(或恢复)操作。
Description
技术领域
本公开涉及用于在容器编排平台上实现无代理备份与恢复操作的方法和系统。
背景技术
对于大多数现有数据保护(或备份存储)系统,需要安装和执行系统关联的代理,以及寻求备份或恢复的给定有状态应用程序。然而,系统关联的代理不一定适合于容器化环境。
发明内容
本公开涉及一种用于实施无代理工作负载的方法,其包括:接收寻求实施的无代理工作负载以及作业配置信息(JCI);从所述JCI中提取容器图像标识符(ID);检索与所述容器图像ID相关联的容器图像;以及为实施所述无代理工作负载而使作业舱集实例化,所述作业舱集包括根据所述容器图像创建的容器,其中所述容器执行任务集以完成所述无代理工作负载。
本公开还涉及一种系统,其包括:从节点,其包括第一计算机处理器;以及容器运行时间,其在所述第一计算机处理器上执行且经编程以:接收寻求实施的无代理工作负载以及作业配置信息(JCI);从所述JCI中提取容器图像标识符(ID);检索与所述容器图像ID相关联的容器图像;以及为实施所述无代理工作负载而使作业舱集实例化,所述作业舱集包括根据所述容器图像创建的容器,其中所述容器经编程以执行任务集以完成所述无代理工作负载。
附图说明
图1示出根据本发明的一个或多个实施例的系统。
图2示出根据本发明的一个或多个实施例的主节点。
图3示出根据本发明的一个或多个实施例的从节点。
图4示出描述根据本发明的一个或多个实施例的用于处理卷创建请求的方法的流程图。
图5A和5B示出描述根据本发明的一个或多个实施例的用于处理备份或恢复作业请求的方法的流程图。
图6示出描述根据本发明的一个或多个实施例的用于执行无代理备份操作的方法的流程图。
图7示出描述根据本发明的一个或多个实施例的用于执行无代理恢复操作的方法的流程图。
图8示出根据本发明的一个或多个实施例的计算系统。
具体实施方式
现在将参考附图详细描述本发明的特定实施例。在本发明的实施例的以下详细描述中,阐述了许多特定细节以便提供对本发明的更透彻理解。然而,对于本领域的普通技术人员来说将显而易见的是,本发明可以在没有这些特定细节的情况下实践。在其它实例中,为了避免不必要地使描述复杂化,未对公知的特征进行详细描述。
在图1到8的以下描述中,在本发明的各种实施例中,关于一个图描述的任一组件可等效于关于任一其它图描述的一个或多个相似命名的组件。为简洁起见,将不相对于每一图来重复这些组件的描述。因此,每一图的组件的每个实施例以引用的方式并入,且假定为任选地存在于具有一个或多个相似命名的组件的每一其它图内。另外,根据本发明的各种实施例,对图的组件的任何描述应解释为任选实施例,其可除了相对于任一其它图中的对应的相似命名的组件描述的实施例外再实施、与所述实施例一起实施或代替所述实施例加以实施。
在整个申请中,序数(例如第一、第二、第三等)可用作元件(即,申请中的任何名词)的形容词。除非明确地公开,例如通过使用术语“之前”、“之后”、“单一”和其它这类术语,否则序数的使用不一定暗示或创建元件的任何特定次序,也不将任何元件限制为仅单个元件。实际上,使用序数是为了区分元件。举例来说,第一元件不同于第二元件,且第一元件可涵盖多于一个元件并在元件的次序中接续(或先于)第二元件。
在整个申请中,短语‘以操作方式连接’可用以描述组件之间的连接。如下文中所使用,上述短语可指代任何直接(例如在两个或更多个组件之间的直接有线)或间接(例如在任何数目的组件之间的有线和/或无线连接与可操作连接组件连接)连接。
一般来说,本发明的实施例涉及一种用于在容器编排平台上实现无代理备份与恢复操作的方法和系统。具体地说,本发明的一个或多个实施例可需要在容器化环境中促进备份(或恢复)工作负载的实施而无需于其中共同执行辅助存储代理,所述辅助存储代理传统上管理这些备份(或恢复)操作。
对于大多数现有数据保护(或备份存储)系统,需要安装和执行系统关联的代理,以及寻求备份或恢复的给定有状态应用程序。系统关联的代理可表示计算机程序,所述计算机程序可包含以下功能:向其关联的数据保护(或备份存储)系统注册;在给定有状态应用程序与其关联的数据保护(或备份存储)系统之间建立并维持接口;以及促进涉及与有状态应用程序相关的数据和/或状态的备份和/或恢复操作。此外,当考虑使用往往会呈现较长寿命(例如数周或数月)的虚拟机来执行给定有状态应用程序时,与有状态应用程序一起的系统关联的代理的所需共同执行并非难事。另一方面,容器本质上通常为短暂的,这意味着任何给定容器的存在或寿命可能极短(例如小于一小时),且因此可根据需要上自旋(spun up)并按需删除。由于这种性质,容器可能仍然满足执行有状态应用程序的要求,但容器通常不适合于经由系统关联的代理于其中执行备份和/或恢复操作。因此,本发明的实施例实施实现无代理备份和/或恢复操作以供用于持久化有状态应用程序数据和/或状态的备份和/或恢复服务。此外,本发明的一个或多个实施例可消除应用程序对代理的兼容性问题,并减少计算资源(例如计算机处理器、存储器、整个输入输出、网络带宽等)的消耗,所述消耗已知会损害系统性能。
图1示出根据本发明的一个或多个实施例的系统。系统(100)可包含以操作方式连接到容器注册表(102)、管理员客户端(104)、集群存储系统(CSS)(118)和备份存储系统(BSS)(120)的集群(106)。下文描述这些系统(100)组件中的每一个。
在本发明的一个实施例中,上述组件可通过网络(未示出)(例如局域网(LAN)、例如因特网的广域网(WAN)、移动网络等)彼此直接或间接连接。可使用有线和/或无线连接的任何组合来实施网络。在上述组件间接连接的实施例中,可能存在可便于通信、信息交换和/或资源共享的其它网络连接组件或系统(例如交换机、路由器、网关等)。此外,上述组件可使用有线和/或无线通信协议的任何组合彼此交互。
在本发明的一个实施例中,集群(106)可表示容器编排系统。容器(未示出)可指代独立的轻量型虚拟化环境,所述独立的轻量型虚拟化环境允许在容器内运行应用程序或操作系统,而不存在对容器主机(例如任何物理计算系统(参见例如图8))的基础硬件执行管理程序(即,专用于管理例如虚拟机的虚拟化对象的计算机程序)的额外开销。另一方面,容器编排系统可指代容器生命周期管理平台,所述容器生命周期管理平台可包含管理跨计算节点集群部署的多容器工作负载的功能。容器编排系统的实例可包含但不限于DockerSwarm、Google Kubernetes和Apache Mesos。
在本发明的一个实施例中,集群(106)可包含以操作方式连接到一个或多个从节点(110A到110N)的主节点(108)、持久性卷池(112)、CSS插件(114)和BSS插件(116)。下文描述这些集群(106)子组件中的每一个。
在本发明的一个实施例中,主节点(108)可表示专用于管理集群(106)(即容器编排系统)的物理计算系统。就这一程度来说,主节点(108)可包含但不限于以下功能:接收工作负载(即,作业)请求;在一个或多个从节点(110A到110N)上部署代表接收到的工作负载请求的工作负载;使实际集群(106)状态与期望集群(106)状态一致;接收并处理卷创建请求以生成持久性卷(下文描述)(参见例如图4);以及执行与集群(106)相关的分析。普通技术人员将理解,在不脱离本发明的范围的情况下,主节点(108)可执行其它功能。主节点(108)的实例可包含但不限于桌上型计算机、膝上型计算机、平板计算机、服务器、大型主机或与图8中示出的示例性计算系统类似的任何其它计算系统。下文参照图2进一步详细描述主节点(108)。
在本发明的一个实施例中,一个/每一从节点(110A到110N)可表示专用于执行呈现给集群(106)(即容器编排系统)的工作负载的物理计算系统。就这一程度来说,一个/每一从节点(110A到110N)可包含但不限于以下功能:接收由主节点(108)部署的工作负载;使用一个或多个容器(上文所描述)来实施接收到的工作负载;提供资源以支持容器的执行;监测并报告容器状态;聚合与集群(106)分析相关的度量和/或元数据;以及实质上实施根据本发明的实施例的无代理备份与恢复操作(参见例如图5A到7)。普通技术人员将理解,在不脱离本发明的范围的情况下,一个/每一从节点(110A到110N)可执行其它功能。一个/每一从节点(110A到110N)的实例可包含但不限于桌上型计算机、膝上型计算机、平板计算机、服务器、大型主机或与图8中示出的示例性计算系统类似的任何其它计算系统。下文参照图3进一步详细描述一个/每一从节点(110A到110N)。
在本发明的一个实施例中,持久性卷池(112)可表示存储容量的逻辑或虚拟聚合,可从所述存储容量的逻辑或虚拟聚合中供应一个或多个持久性卷(未示出)。持久性卷可指代集群(106)资源,可通过所述集群资源将持久性(即,非易失性)存储提供给实施有状态工作负载的容器。有状态工作负载可指代一种应用程序,所述应用程序可包含从持久性磁盘存储中读取(即,检索)数据和状态和将数据和状态写入(即,存储)到所述持久性磁盘存储的功能。在容器化环境中执行的数据库应用程序可以是有状态工作负载的实例。此外,持久性卷池(112)可由一个或多个物理存储装置(未示出)形成。这些物理存储装置可例如驻存在以操作方式连接到集群(106)并且独立于集群(106)的联网的存储系统中,所述联网的存储系统例如CSS(118)和/或BSS(120)。
在本发明的一个实施例中,CSS插件(114)可表示便于集群(106)与CSS(118)之间的交换的计算机程序。具体地说,CSS插件(114)可表示装置驱动器或装置接口,可通过所述装置驱动器或装置接口分别调用和存取CSS(118)功能和资源。就这一程度来说,CSS插件(114)可包含但不限于以下功能:使从持久性卷池(112)供应的一个或多个持久性卷(上文所描述)与CSS(118)介接;以及将来自集群(106)的输入输出(IO)(即,读取和/或写入)请求转移到CSS(118)。普通技术人员将理解,在不脱离本发明的范围的情况下,CSS插件(114)可执行其它功能。此外,为了使CSS插件(114)在集群(106)上执行,可能需要一个或多个从节点(110A到110N)中的至少每一个具有安装在其上并在其上执行的CSS插件(114)。
在本发明的一个实施例中,BSS插件(116)可表示便于集群(106)与BSS(120)之间的交换的计算机程序。具体地说,BSS插件(116)可表示装置驱动器或装置接口,可通过所述装置驱动器或装置接口分别调用和存取BSS(120)功能和资源。就这一程度来说,BSS插件(116)可包含但不限于以下功能:使从持久性卷池(112)供应的一个或多个持久性卷(上文所描述)与BSS(120)介接;以及将来自集群(106)的输入输出(IO)(即,读取和/或写入)请求转移到BSS(120)。普通技术人员将理解,在不脱离本发明的范围的情况下,BSS插件(116)可执行其它功能。此外,为了使BSS插件(116)在集群(106)上执行,可能需要一个或多个从节点(110A到110N)中的至少每一个具有安装在其上并在其上执行的BSS插件(116)。
在本发明的一个实施例中,容器注册表(102)可表示专用于合并容器图像的存储服务。容器图像可表示用于给定工作负载或应用程序类型的基础快照(例如template),寻求实施的所部署工作负载可基于所述基础快照。举例来说,若将数据备份工作负载部署到集群(106)上,则可从容器注册表(102)中检索现有数据备份容器图像且所述现有数据备份容器图像可用作用于实施容器化环境(即,容器)的模板,数据备份应用程序可在所述容器化环境中执行。因此,容器图像可包含对于实施任何给定工作负载可能为必需的所有内容,例如相关代码和相依项(例如系统工具、系统库和设置等)。此外,容器注册表(102)可实施于一个或多个服务器(未示出)上。每一服务器可以是物理服务器(即,驻存在数据中心内)或虚拟服务器(即,驻存在云计算环境中)。另外或替代地,容器注册表(102)可实施于与图8中示出的示例性计算系统类似的一个或多个其它计算系统上。
在本发明的一个实施例中,管理员客户端(104)可表示物理计算系统,从所述物理计算系统可监视集群(106)操作且可发布用户的工作负载请求。就这一程度来说,管理员客户端(104)可包含但不限于以下功能:与集群(106)的主节点(108)介接;经由主节点(108)配置集群(106);以及经由主节点(108)发布工作负载请求以供用于在集群(106)上实施用户定义的工作负载。普通技术人员将理解,在不脱离本发明的范围的情况下,管理员客户端(104)可执行其它功能。管理员客户端(104)的实例可包含但不限于桌上型计算机、膝上型计算机、平板计算机、服务器、大型主机、智能手机或与图8中示出的示例性计算系统类似的任何其它计算系统。
在本发明的一个实施例中,CSS(118)可表示专用于合并集群(106)相关数据(例如由一个或多个容器存取的用户和/或应用程序数据)的联网存储系统。CSS(118)可实施于一个或多个服务器(未示出)上。每一服务器可以是物理服务器(即,驻存在数据中心内)或虚拟服务器(即,驻存在云计算环境中)。另外或替代地,CSS(118)可实施于与图8中示出的示例性计算系统类似的一个或多个其它计算系统上。此外,CSS(118)可包含一个或多个物理存储装置和/或介质。一个或多个物理存储装置和/或介质可以是或可以不是相同类型,和/或可以或可以不共置于相同地点处。在本发明的一个实施例中,CSS(118)可包含并提供持久性(即,非易失性)数据存储。持久性数据存储的实例包含但不限于光学存储、磁性存储、NAND快闪存储器、NOR快闪存储器、磁性随机存取存储器(M-RAM)、自旋力矩磁性RAM(ST-MRAM)、相变存储器(PCM)或定义为非易失性存储器类存储器(SCM)的任何其它存储。
在本发明的一个实施例中,BSS(120)可表示联网数据备份、存档和/或容灾存储系统。BSS(120)可专用于合并集群(106)相关数据的备份副本(或快照),例如由一个或多个容器存取的用户和/或应用程序数据的备份副本。BSS(120)可实施于一个或多个服务器(未示出)上。每一服务器可以是物理服务器(即,驻存在数据中心内)或虚拟服务器(即,驻存在云计算环境中)。另外或替代地,BSS(120)可实施于与图8中示出的示例性计算系统类似的一个或多个其它计算系统上。此外,BSS(120)可包含一个或多个物理存储装置和/或介质。一个或多个物理存储装置和/或介质可以是或可以不是相同类型,和/或可以或可以不共置于相同地点处。在本发明的一个实施例中,BSS(120)可包含并提供持久性(即,非易失性)数据存储。持久性数据存储的实例包含但不限于光学存储、磁性存储、NAND快闪存储器、NOR快闪存储器、磁性随机存取存储器(M-RAM)、自旋力矩磁性RAM(ST-MRAM)、相变存储器(PCM)或定义为非易失性存储器类存储器(SCM)的任何其它存储。
虽然图1示出组件的配置,但在不脱离本发明的范围的情况下,可以使用其它系统配置。
图2示出根据本发明的一个或多个实施例的主节点。主节点(200)可包含以操作方式连接到集群配置存储库(202)、工作负载调度程序(204)和备份恢复控制器(206)的主节点接口(208)。下文描述这些主节点(200)子组件中的每一个。
在本发明的一个实施例中,主节点接口(208)可表示集群(212)(例如容器编排系统)的应用程序编程接口(API)。就这一程度来说,主节点接口(208)可采用一组子例程定义、协议和/或工具以实现集群(212)与外部实体(例如管理员客户端(214))之间的通信。主节点接口(208)也可便于主节点(200)与集群(212)的一个或多个从节点(210A到210N)之间的通信。此外,主节点接口(208)可包含但不限于以下额外功能:维护和/或更新集群配置存储库(202);基于接收到的卷创建请求供应持久性卷(上文所描述);调用工作负载调度程序(204)(参见例如图5A);将工作负载部署到一个或多个从节点(210A到210N);以及从外部实体和/或备份恢复控制器(206)中接收并验证工作负载请求。普通技术人员将理解,在不脱离本发明的范围的情况下,主节点接口(208)可执行其它功能。
在本发明的一个实施例中,集群配置存储库(202)可表示专用于合并集群(212)配置信息的数据存储。集群(212)配置信息可指代详述在任何给定时间点的集群(212)的状态的数据。举例来说,集群(212)配置信息可包含但不限于:标识至少部分地建立集群(212)的一个或多个从节点(210A到210N)的信息;标识在集群(212)上实施的各种工作负载和/或执行的容器的信息;以及标识从节点(210A到210N)可托管哪些工作负载和/或容器的信息。此外,可使用代表主节点(200)上的数据存储的一个或多个物理存储装置和/或介质来实施集群配置存储库(202)。所述一个或多个物理存储装置和/或介质可以是或可以不是相同类型。在本发明的一个实施例中,集群配置存储库(202)可使用持久性(即,非易失性)数据存储来实施。持久性数据存储的实例包含但不限于光学存储、磁性存储、NAND快闪存储器、NOR快闪存储器、磁性随机存取存储器(M-RAM)、自旋力矩磁性RAM(ST-MRAM)、相变存储器(PCM)或定义为非易失性存储器类存储器(SCM)的任何其它存储。
在本发明的一个实施例中,工作负载调度程序(204)可表示专用于将寻求实施的工作负载绑定(或分配)到集群(212)的从节点(210A到210N)的计算机程序。就这一程度来说,工作负载调度程序(204)可包含但不限于以下功能:在主节点接口(208)的要求下,从其中获得涉及寻求实施的工作负载的工作负载需求;监测一个或多个从节点(210A到210N)中的每一个上的资源(例如计算、存储器、存储、虚拟化等的可用性);基于所获得工作负载需求和所监测的资源的可用性,确定在其上部署寻求实施的工作负载的适当从节点(210A-210N);以及告知主节点接口(208)所确定的工作负载到从节点分配。普通技术人员将理解,在不脱离本发明的范围的情况下,工作负载调度程序(204)可执行其它功能。
在本发明的一个实施例中,备份恢复控制器(206)可表示专用于使集群(212)上的无代理备份和/或恢复操作实例化的计算机程序。就这一程度来说,备份恢复控制器(206)可包含但不限于以下功能:基于主动(或反应性)容灾编程向主节点接口(208)发布备份(或恢复)工作负载请求;在备份(或恢复)工作负载的实施和完成之后,接收备份(或恢复)工作负载元数据;以及使用至少接收到的备份(或恢复)工作负载元数据进行分析。普通技术人员将理解,在不脱离本发明的范围的情况下,备份恢复控制器(206)可执行其它功能。
图3示出根据本发明的一个或多个实施例的从节点。从节点(300)可包含从节点管理器(302)、容器运行时间(304)、集群持久性卷安装(312)和备份持久性卷安装(314)。下文描述这些从节点(300)子组件中的每一个。
在本发明的一个实施例中,从节点管理器(302)可表示专用于管理从节点(300)的计算机程序。就这一程度来说,从节点管理器(302)可包含但不限于以下功能:与集群(326)的主节点(328)进行交互,例如接收寻求实施的工作负载、报告从节点(300)相关状态信息等;管理持久性卷安装(例如集群持久性卷安装(312)和备份持久性卷安装(314))的生命周期;以及控制和/或调用容器运行时间(304)以实施接收到的工作负载、寻求实施以及聚合工作负载元数据。普通技术人员将理解,在不脱离本发明的范围的情况下,从节点管理器(302)可执行其它功能。
在本发明的一个实施例中,容器运行时间(304)可表示专用于实施工作负载的计算机程序。就这一程度来说,容器运行时间(304)可包含但不限于以下功能:在从节点管理器(302)的要求下,从其中获得寻求实施的工作负载;通过一个或多个作业舱集(306)(下文描述)的生命周期管理来实施所获得的工作负载;分配从节点(300)资源(例如计算、存储器、存储、虚拟化等)以支持所获得的工作负载的实施;将容器图像请求发布到容器注册表(330)并从其中接收容器图像;向从节点管理器(302)报告与一个或多个作业舱集(306)相关的状态信息;以及为从节点管理器(302)聚集工作负载元数据。普通技术人员将理解,在不脱离本发明的范围的情况下,容器运行时间(304)可执行其它功能。
在本发明的一个实施例中,作业舱集(306)可指代一个或多个舱(308A到308N)的逻辑集合,其可实现给定工作负载的实施和完成。也就是说,当实施给定工作负载时,可创建一个或多个舱(308A到308N)以执行并确保与给定工作负载相关联的任务的成功完成。创建的舱(308A到308N)可将这些任务作为非并行(即,串行)过程执行,或作为多个并行过程执行。作为非并行过程,任何单一舱(308A到308N)可被实例化并在任何给定时间执行这些任务。当实例化舱(308A到308N)失效时,出于多种原因,可使新单一舱(308A到308N)实例化以执行任务。若这一新单一舱(308A到308N)也失效,则可使另一新单一舱(308A到308N)实例化以替代它,以此类推。任务的这种非并行处理继续进行,直到与给定工作负载相关联的任务成功地完成为止。另一方面,作为并行过程,两个或更多个舱(308A到308N)的任何集合可被实例化并在任何给定时间执行上述任务。可通过不同度量定义任务的成功完成,即以相等的指定数目的舱(308A到308N)的指定数目的成功完成。可追踪任务的每一成功完成直到达到指定数目的成功完成为止,此时任务的并行处理正式完成并终止。当任何给定舱(308A到308N)失效时,可使一个或多个新舱(308A到308N)实例化以替代失效舱(308A到308N)。
在本发明的一个实施例中,舱(308A到308N)可指代一个或多个容器(310A到310N)的逻辑集合(上文所描述)。尽管可将任何给定舱(308A到308N)导向全部执行给定工作负载,但可将给定舱(308A到308N)的任何给定容器(310A到310N)导向执行与给定工作负载相关联的所需任务(即,过程或例项)的任何子集。举一个简化实例,可通过三个不同任务(或过程)来定义工作负载,所述三个不同任务例如:一个主要过程,其可处理大部分工作负载;以及两个辅助过程,其可集中于执行次要职责。随后,在本发明的一个实施例中,可使第一容器实例化以执主要过程,而可使第二容器实例化以执行两个辅助过程。在本发明的另一实施例中,可使三个单独的容器实例化以分别执行每一不同任务(或过程)。此外,类似于任何给定舱(308A到308N)的任何给定容器(310A到310N)可出于多种原因而失效。当发生失效时,可使另一新容器(310A到310N)实例化以承担失效容器(310A到310N)负责的任务(或过程)的子集。
在本发明的一个实施例中,集群持久性卷安装(312)可表示逻辑或虚拟抽象对象,所述逻辑或虚拟抽象对象充当给定集群持久性卷(318)的接口,所述给定集群持久性卷可能已由集群(326)的持久性卷池(316)(上文所描述)(参见例如图1)供应。随后,集群持久性卷(318)可表示由集群存储系统(CSS)(334)备份或与所述集群存储系统介接的持久性卷(上文所描述)。集群持久性卷(318)与CSS(334)之间的介接可由CSS插件(322)管理。此外,集群持久性卷安装(312)可指向代表CSS(334)上的磁盘位置的特定目录(或目录集),在所述特定目录中,相关数据(对于一个或多个作业舱集(306))可驻存。另外,虽然示出一个集群持久性卷安装(312),但可在从节点(300)上使多个集群持久性卷安装(312)实例化。在这一情境中,每一集群持久性卷安装(312)可指向CSS(334)上的目录的不同子集,其可由任何一个作业舱集(306)或多个作业舱集(306)存取。
在本发明的一个实施例中,备份持久性卷安装(314)可表示逻辑或虚拟抽象对象,所述逻辑或虚拟抽象对象充当给定备份持久性卷(320)的接口,所述给定备份持久性卷可能已由集群(326)的持久性卷池(316)(上文所描述)(参见例如图1)供应。随后,备份持久性卷(320)可表示由备份存储系统(BSS)(332)备份或与所述备份存储系统介接的持久性卷(上文所描述)。备份持久性卷(320)与BSS(332)之间的介接可由BSS插件(324)管理。此外,备份持久性卷安装(314)可指向代表BSS(332)上的磁盘位置的特定目录(或目录集),在所述特定目录中,相关数据(对于一个或多个作业舱集(306))可驻存。另外,虽然示出一个备份持久性卷安装(314),但可在从节点(300)上使多个备份持久性卷安装(314)实例化。在这一情境中,每一备份持久性卷安装(314)可指向BSS(332)上的目录的不同子集,其可由任何一个作业舱集(306)或多个作业舱集(306)存取。
图4示出描述根据本发明的一个或多个实施例的用于处理卷创建请求的方法的流程图。以下概述的各个步骤可由主节点结合集群的备份存储系统(BSS)插件(参见例如图1)执行。此外,虽然依序呈现和描述流程图中的各个步骤,但普通技术人员将了解,步骤中的一些或全部可以不同次序执行、可组合或省略,且可并行地执行一些或全部步骤。此外,在本发明的一个实施例中,以下概述的各个步骤可取决于预先跨集群安装的BSS插件。
转而参看图4,在步骤400中,主节点的主节点接口(参见例如图2)接收卷创建请求。在本发明的一个实施例中,卷创建请求可涉及供应持久性卷(上文所描述),且可能已由管理员客户端提交。此外,卷创建请求可包含卷配置信息(VCI)。总体地,VCI可详述待供应的持久性卷的属性需求。这些属性需求可包含但不限于:存储大小(或容量)、存取模式(例如单一从节点的只读可存取性、多个从节点的只读可存取性、单一从节点的读取写入可存取性或多个从节点的读取写入可存取性);对于待供应的持久性卷唯一的标识符;性能需求(例如时延、每秒输入输出操作(IOPS)、吞吐量等)集合;以及与物理存储系统相关联的后端参考,待供应的持久性卷应与所述后端参考介接。
在步骤402中,主节点接口响应于接收到卷创建请求(在步骤400中)而生成或供应备份持久性卷。具体地说,在本发明的一个实施例中,备份持久性卷可基于所获得的VCI的至少一部分由持久性卷池(即,物理存储容量的逻辑或虚拟聚合)供应。可能与备份持久性卷的供应相关的VCI子集可包含但不限于:存储大小(或容量)、存取模式和唯一标识符。
在步骤404中,备份持久性卷的供应(在步骤402中)随后触发BSS插件的调用。在本发明的一个实施例中,与任何其它存储插件相比,BSS插件的调用可至少基于在VCI(在步骤400中获得)中指定的后端参考。此外,BSS插件的调用可能需要:唤醒BSS插件;以及将VCI的至少一部分传递到BSS插件。可能与BSS插件的操作相关的VCI子集可包含但不限于:性能需求集合。
在步骤406中,BSS插件在其调用之后将备份持久性卷(在步骤402中供应)连接(或介接)到与其相关联的物理存储系统,即BSS(参见例如图1)。具体地说,在本发明的一个实施例中,且在将备份持久性卷与BSS介接时,BSS插件可:建立与BSS的网络启用连接;标识满足性能需求集合的BSS分区;以及将备份持久性卷链接到标识的BSS分区。上述BSS分区可表示在BSS上提供数据存储的各种物理存储装置和/或介质中的物理存储装置和/或介质,其可呈现匹配或超出期望性能需求集合的属性。
图5A和5B示出描述根据本发明的一个或多个实施例的用于处理备份或恢复作业请求的方法的流程图。以下概述的各个步骤可由主节点结合集群的从节点(参见例如图1)执行。此外,虽然依序呈现和描述流程图中的各个步骤,但普通技术人员将了解,步骤中的一些或全部可以不同次序执行、可组合或省略,且可并行地执行一些或全部步骤。
转而参看图5A,在步骤500中,主节点的备份恢复控制器(参见例如图2)生成并提交备份(或恢复)作业请求。在本发明的一个实施例中,备份(或恢复)作业请求可涉及寻求实施的无代理备份(或恢复)操作(即,工作负载),并且可导向主节点的主节点接口(参见例如图2)。无代理备份(或恢复)操作可能需要将与一个或多个容器内的有状态应用程序执行相关的数据和/或状态备份到备份存储系统(BSS)(参见例如图1)上(或从所述备份存储系统中恢复),而无需存在也于容器内执行的BSS关联的代理。有状态应用程序可指代可能需要数据和/或状态的持续存在的应用程序(或计算机程序),相比之下,无状态应用程序可指代与数据和/或状态的持续存在无关的应用程序(或计算机程序)。
此外,在本发明的一个实施例中,备份(或恢复)作业请求可包含作业配置信息(JCI)和作业资源需求(JRR)。总起来说,JCI可详述寻求实施的工作负载的实施参数。这些实施参数可包含但不限于:作业类型(例如非并行处理与并行处理(上文所描述)(参见例如图3));容器图像(上文所描述)(参见例如图1)的容器图像标识符(ID),待实例化以供用于执行备份(或恢复)作业的一个或多个容器可基于所述容器图像标识符;与所供应备份持久性卷相关联的备份持久性卷ID;识别所供应备份持久性卷的目录(或多个目录)的备份持久性卷安装路径,其中有状态应用程序数据和/或状态的备份副本可存储于其中或从其中恢复;与所供应集群持久性卷相关联的集群持久性卷ID;以及识别所供应集群持久性卷的目录(或多个目录)的集群持久性卷安装路径,其中可在备份操作期间从其中读取有状态应用程序数据和/或状态,或可在恢复操作期间向其中写入有状态应用程序数据和/或状态。同时,JRR可详述支持寻求实施的工作负载的实施所需的各种节点资源的最小阈值。这些节点资源可包含但不限于:计算机处理器,其可按计算机处理器核心的基本单元分配;以及存储器,其可按字节的基本单元分配。
在步骤502中,一旦从备份恢复控制器中接收备份(或恢复)作业请求,主节点的主节点接口(参见例如图2)便调用工作负载调度程序(其也属于主节点)。在本发明的一个实施例中,工作负载调度程序可表示专用于将寻求实施的工作负载(例如备份(或恢复)操作工作负载)绑定或分配到集群的从节点的计算机程序。此外,工作负载调度程序的调用可能需要:唤醒工作负载调度程序;以及将至少JRR(利用备份(或恢复)作业请求接收)传递到工作负载调度程序。
在步骤504中,工作负载调度程序响应于经调用而在给定时间选择被认为最适当的从节点来托管寻求实施的无代理备份(或恢复)操作工作负载。在本发明的一个实施例中,工作负载调度程序可基于涉及JRR的最佳拟合确定来实现选择以供用于无代理备份(或恢复)操作工作负载,并实时监控集群的每个从节点上的可用节点资源。然后,工作负载调度程序可例如通过提交对于选定从节点唯一的从节点标识符(ID)来告知主节点接口所述选择。
在步骤506中,一旦告知从节点选择,主节点接口便将寻求实施的无代理备份(或恢复)操作工作负载委派(或部署)到从节点(在步骤504中由工作负载调度程序选择)。在本发明的一个实施例中,将无代理备份(或恢复)操作工作负载部署到上述从节点可基本上需要向从节点提供JCI(在步骤502中经由备份(或恢复)作业请求获得)。
在步骤508中,选定从节点的从节点管理器(参见例如图3)从主节点接口中接收部署的无代理备份(或恢复)操作工作负载。在本发明的一个实施例中,一旦接收无代理备份(或恢复)操作工作负载,从节点管理器便可基于所获得的JCI的至少一部分在选定从节点上创建集群持久性卷安装和备份持久性卷安装。可与集群和备份持久性卷安装的创建相关的JCI子集可包含但不限于:与所供应集群持久性卷相关联的集群持久性卷ID;识别所供应集群持久性卷的目录(或多个目录)的集群持久性卷安装路径,其中可在备份操作期间从其中读取有状态应用程序数据和/或状态或可在恢复操作期间向其中写入有状态应用程序数据和/或状态;与所供应备份持久性卷相关联的备份持久性卷ID;以及所供应备份持久性卷的识别目录(或多个目录)的备份持久性卷安装路径,其中有状态应用程序数据和/或状态的备份副本可存储于其中或从其中恢复。
在步骤510中,从节点管理器随后调用选定从节点的容器运行时间(参见例如图3)以实施无代理备份(或恢复)操作工作负载(在步骤508中获得)。在本发明的一个实施例中,容器运行时间可表示专用于实施工作负载的计算机程序,所述工作负载例如无代理备份(或恢复)操作工作负载。此外,调用容器运行时间以实施无代理备份(或恢复)操作工作负载可能需要:唤醒容器运行时间;以及将JCI的至少一部分以及对集群和备份持久性卷安装(在步骤508中创建)的参考传递到容器运行时间。可与无代理备份(或恢复)操作工作负载的实施(由容器运行时间进行)相关的JCI子集可包含但不限于:作业类型(例如非并行处理与并行处理(上文所描述)(参见例如图3));以及容器图像(上文所描述)(参见例如图1)的容器图像ID,待实例化以供用于实施备份(或恢复)操作工作负载的一个或多个容器可基于所述容器图像ID。
在步骤512中,容器运行时间响应于经调用而将容器图像请求发布到容器注册表(参见例如图1)。在本发明的一个实施例中,容器注册表可表示专用于合并容器图像的存储服务。因此,容器图像请求可涉及获得与无代理备份(或恢复)操作工作负载的实施相关的基本(或模板)容器图像。此外,容器图像请求可至少包含在JCI子集(在步骤510中传递到容器运行时间)中指定的容器图像ID。
在步骤514中,一旦从容器运行时间中接收容器图像请求,容器注册表便使用封闭的容器图像ID来识别上述基本(或模板)容器图像。随后,在本发明的一个实施例中,容器注册表可发布代表对接收到的容器图像请求的回复并导向回到容器运行时间的容器图像响应。容器图像响应可包含先前标识的基本(或模板)容器图像。此外,标识的基本(或模板)容器图像可指定实施无代理备份(或恢复)操作工作负载可能为必需的所有内容,例如相关代码和相依项(例如系统工具、系统库和设置等)。在下文中,过程进行到步骤520(参见例如图5B)。
转而参看图5B,在步骤520中,在从容器注册表中接收容器图像响应之后,容器运行时间使作业舱集(参见例如图3)实例化。在本发明的一个实施例中,作业舱集可指代一个或多个舱的逻辑集合,其可实现给定工作负载(例如无代理备份(或恢复)操作工作负载)的实施和完成。此外,作业舱集的实例化可能需要但不限于:使用来自JCI子集(在步骤510中与容器运行时间的调用一起传递)的基本(或模板)容器图像(借助于容器图像响应接收)和作业类型(例如非并行处理与并行处理(上文所描述)(参见例如图3))来配置作业舱集;使用集群持久性卷安装(在步骤508中由从节点管理器产生)来使作业舱集与所供应集群持久性卷介接;以及使用备份持久性卷安装(也在步骤508中由从节点管理器产生)来使作业舱集与所供应备份持久性卷介接。此后,一旦作业舱集经实例化,容器运行时间便告知从节点管理器所述作业舱集状态,即待决状态,其可反映作业舱集的成功创建,且还反映作业舱集并未主动地运行(或执行)。
在步骤522中,响应于被告知作业舱集状态(在步骤520中由容器运行时间实例化),从节点管理器调用容器运行时间以开始(或运行)实例化的作业舱集。此后,一旦再次被调用,容器运行时间便通过启动(或执行)实例化作业舱集来响应,且随后重新告知从节点管理器新的作业舱状态,即运行状态,其可反映作业舱集主动地执行,由此执行与无代理备份(或恢复)操作工作负载相关联的任务。
在步骤524中,作业舱集在其整个执行中执行与无代理备份(或恢复)操作工作负载相关联的任务(或过程)。在本发明的一个实施例中,任务的执行可能需要经由集群和备份持久性卷安装分别与集群和备份持久性卷介接。下文相对于图6进一步描述针对执行无代理备份操作而概述的涉及有状态应用程序数据和/或状态的任务。替代地,下文相对于图7进一步详细描述针对执行无代理恢复操作而概述的涉及有状态应用程序数据和/或状态的任务。
在步骤526中,基于在容器运行时间的执行之后的作业舱集的终止,所述容器运行时间检测无代理备份(或恢复)操作工作负载的成功完成。随后,在本发明的一个实施例中,容器运行时间重新告知从节点管理器所述新作业舱状态,即成功状态,其可反映与无代理备份(或恢复)操作工作负载相关联的任务的成功完成,且还反映作业舱集当前为非主动的但尚未删除。
在步骤528中,响应于被告知新作业舱集状态,从节点管理器重新调用容器运行时间(这一时间),以公开在无代理备份(或恢复)操作工作负载期间并针对所述无代理备份(或恢复)操作工作负载聚合的工作负载元数据刚好完成。响应于被重新调用,容器运行时间与从节点管理器共享聚合的工作负载元数据。在本发明的一个实施例中,对应于无代理备份(或恢复)操作工作负载的工作负载元数据可包含但不限于:存储大小(或容量),其在备份操作期间由合并于其中的有状态应用程序数据和/或状态在备份存储系统(BSS)上耗费;完成时间戳,其编码反映无代理备份(或恢复)操作工作负载的成功完成的日期和/或时间;持续时间,其反映针对执行和完成备份(或恢复)操作消耗的时间的长度;重复数据删除比率,其反映备份操作的重复数据删除效率;租户标识符,其与租户相关联;备份保持周期;备份目标标识符;备份地点标识符;以及备份目录路径名称。
在步骤530中,一旦从容器运行时间接收工作负载元数据,从节点管理器便发布备份(或恢复)作业报告。在本发明的一个实施例中,备份(或恢复)作业报告可涉及详细描述无代理备份(或恢复)操作工作负载(在步骤508中获得)的实施。此外,备份(或恢复)作业报告可导向主节点的主节点接口(参见例如图2),且可至少包含用于无代理备份(或恢复)操作工作负载的工作负载元数据(在步骤528中聚合)。
在步骤532中,在发布备份(或恢复)作业报告之后,从节点管理器继续移除集群和备份持久性卷安装(在步骤508中于选定从节点上创建)。随后,在步骤534中,从节点管理器调用容器运行时间以删除作业舱集(在步骤520中实例化)。在本发明的一个实施例中,容器运行时间通过删除上述作业舱集来对调用进行响应。
在步骤536中,一旦从选定从节点的从节点管理器中接收备份(或恢复)作业报告,主节点的主节点接口便提取封闭于其中的工作负载元数据。所提取的工作负载元数据可随后转送到备份恢复控制器,所述备份恢复控制器已发布备份(或恢复)作业请求(在步骤500中)。在本发明的一个实施例中,备份恢复控制器随后可记录和/或使用工作负载元数据以执行与涉及有状态应用程序数据和/或状态的无代理备份(或恢复)操作相关的分析。
图6示出描述根据本发明的一个或多个实施例的用于执行无代理备份操作的方法的流程图。以下概述的各个步骤可由集群的从节点(参见例如图1)执行。此外,虽然依序呈现和描述流程图中的各个步骤,但普通技术人员将了解,步骤中的一些或全部可以不同次序执行、可组合或省略,且可并行地执行一些或全部步骤。
转而参看图6,在步骤600中,在负责执行无代理备份操作的作业舱集(上文所描述)(参见例如图3)内实例化的容器(或多个容器)获得与有状态应用程序相关的有状态应用程序数据和/或状态。在本发明的一个实施例中,容器可通过经由集群持久性卷安装存取集群持久性卷且随后从其中读取有状态应用程序数据和/或状态来获得有状态应用程序数据和/或状态。此外,集群持久性卷安装可表示充当上述集群持久性卷的接口的逻辑或虚拟抽象对象,所述集群持久性卷可能已由集群的持久性卷池(参见例如图1)供应。随后,集群持久性卷可表示由集群存储系统(CSS)备份或与所述集群存储系统介接的持久性卷(上文所描述)。
在步骤602中,容器随后复制有状态应用程序数据和/或状态(在步骤600中获得)。在本发明的一个实施例中,通过这种复制,容器可获得所获得的有状态应用程序数据和/或状态的副本。
在步骤604中,在上述复制之后,容器使用一个或多个备份数据预处理算法来对所获得的有状态应用程序数据和/或状态副本进行预处理。在本发明的一个实施例中,每一采用的备份数据预处理算法可在合并在备份存储系统(BSS)上之前以根据算法的功能和配置的某一方式制备有状态应用程序数据和/或状态副本。举例来说,备份数据预处理算法可涉及数据重复删除。数据重复删除可指代一种数据压缩技术,所述数据压缩技术涉及消除重复的(或冗余的)数据块或组块,由此减少存储额外开销。借助于另一实例,备份数据预处理算法可涉及数据加密。此外,一旦已应用备份数据预处理算法,容器便可获得处理的有状态应用程序数据和/或状态副本。
在步骤606中,在应用上述预处理之后,容器将处理的有状态应用程序数据和/或状态副本(在步骤604中获得)存储在BSS中。具体地说,在本发明的一个实施例中,容器可经由备份持久性卷安装存取备份持久性卷,且随后向其中写入处理的有状态应用程序数据和/或状态副本。此外,备份持久性卷安装可表示充当上述备份持久性卷的接口的逻辑或虚拟抽象对象,所述备份持久性卷可能已由集群的持久性卷池(参见例如图1)供应。随后,备份持久性卷可表示由BSS备份或与所述BSS介接的持久性卷(上文所描述)。
图7示出描述根据本发明的一个或多个实施例的用于执行无代理恢复操作的方法的流程图。以下概述的各个步骤可由集群的从节点(参见例如图1)执行。此外,虽然依序呈现和描述流程图中的各个步骤,但普通技术人员将了解,步骤中的一些或全部可以不同次序执行、可组合或省略,且可并行地执行一些或全部步骤。
转而参看图7,在步骤700中,在负责执行无代理恢复操作的作业舱集(上文所描述)(参见例如图3)内实例化的容器(或多个容器)获得与有状态应用程序的恢复相关的处理的有状态应用程序数据和/或状态副本。在本发明的一个实施例中,容器可通过经由备份持久性卷安装存取备份持久性卷且随后从其中读取处理的有状态应用程序数据和/或状态副本来获得有状态应用程序数据和/或状态。此外,备份持久性卷安装可表示充当上述备份持久性卷的接口的逻辑或虚拟抽象对象,所述备份持久性卷可能已由集群的持久性卷池(参见例如图1)供应。随后,备份持久性卷可表示由备份存储系统(BSS)备份或与所述备份存储系统介接的持久性卷(上文所描述)。
在步骤702中,容器随后使在先前执行的无代理备份操作(参见例如图6)期间应用的预处理反向,所述预处理可能已产生处理的有状态应用程序数据和/或状态副本。在本发明的一个实施例中,上述预处理反向可能需要应用一个或多个备份数据后处理算法。在本发明的一个实施例中,每一采用的备份数据后处理算法可在其在集群存储系统(CSS)上重新整合之前以根据算法的功能和配置的某一方式制备处理的有状态应用程序数据和/或状态副本。举例来说,备份数据后处理算法可涉及反向数据重复删除。数据重复删除可指代一种数据压缩技术,所述数据压缩技术涉及消除重复的(或冗余的)数据块或组块,由此减少存储额外开销。随后,数据重复删除的反向可能需要将重复数据删除后的数据和/或状态恢复到先前的解压缩性质。借助于另一实例,备份数据后处理算法可涉及反向数据加密,即数据解密。此外,一旦已应用备份数据后处理算法,容器便可获得有状态应用程序数据和/或状态副本。
在步骤704中,在应用上述预处理反向(或后处理)之后,容器在CSS上恢复有状态应用程序数据和/或状态副本(在步骤702中获得)。具体地说,在本发明的一个实施例中,容器可经由集群持久性卷安装存取集群持久性卷,且随后向其中写入有状态应用程序数据和/或状态副本。此外,集群持久性卷安装可表示充当上述集群持久性卷的接口的逻辑或虚拟抽象对象,所述集群持久性卷可能已由集群的持久性卷池(参见例如图1)供应。随后,集群持久性卷可表示由CSS备份或与所述CSS介接的持久性卷(上文所描述)。
图8示出根据本发明的一个或多个实施例的计算系统。计算装置(800)可包含一个或多个计算机处理器(802);非持久性存储装置(804)(例如易失性存储器,例如随机存取存储器(RAM)、高速缓存存储器);持久性存储装置(806)(例如硬盘、例如压缩光盘(CD)驱动器或数字通用光盘(DVD)驱动器的光学驱动器、快闪存储器等);通信接口(812)(例如蓝牙接口、红外线接口、网络接口、光学接口等);输入装置(810);输出装置(808)和众多其它元件(未示出)和功能性。下文描述这些组件中的每一个。
在本发明的一个实施例中,计算机处理器(802)可以是用于处理指令的集成电路。举例来说,计算机处理器可以是处理器的一个或多个核心或微核心。计算系统(800)还可包含一个或多个输入装置(810),例如触摸屏、键盘、鼠标、麦克风、触控板、电子笔或任何其它类型的输入装置。此外,通信接口(812)可包含集成电路,所述集成电路用于将计算系统(800)连接到网络(未示出)(例如局域网(LAN)、例如因特网的广域网(WAN)、移动网络或任何其它类型的网络)和/或连接到另一装置,例如另一计算装置。
在本发明的一个实施例中,计算系统(800)可包含一个或多个输出装置(808),例如屏幕(例如液晶显示器(LCD)、等离子显示器、触摸屏、阴极射线管(CRT)监测器、投影仪或其它显示装置)、打印机、外部存储器或任何其它输出装置。输出装置中的一个或多个可与输入装置相同或不同。输入和输出装置可本地或远程地连接到计算机处理器(802)、非持久性存储装置(504)和持久性存储装置(806)。存在许多不同类型的计算系统,且上述输入和输出装置可采取其它形式。
用以执行本发明的实施例的呈计算机可读程序代码形式的软件指令可整体或部分地暂时或持久存储在非暂时性计算机可读介质上,所述非暂时性计算机可读介质例如CD、DVD、存储装置、磁盘、磁带、快闪存储器、物理存储器或任何其它计算机可读存储介质。具体地说,软件指令可对应于计算机可读程序代码,在由处理器执行时,所述计算机可读程序代码配置成执行本发明的一个或多个实施例。
虽然已关于有限数目的实施例描述本发明,但是具有本公开权益的所属领域的技术人员应了解,可以设计不脱离如本文所公开的本发明的范围的其它实施例。因此,本发明的范围应仅由随附的权利要求书来限制。
Claims (6)
1.一种实现无代理备份与恢复操作的系统,其包括:
从节点,其包括具有从节点管理器和容器运行时间的第一计算机处理器;
其中无代理工作负载和作业配置信息(JCI)是所述从节点管理器向所述容器运行时间委派的,
其中所述无代理工作负载是备份作业或恢复作业;以及
主节点,其包括具有主节点接口、工作负载调度程序和备份恢复控制器的第二计算机处理器;
其中当在所述第一计算机处理器上执行时,所述容器运行时间被编程以执行如下方法,该方法包括如下步骤:
接收所述无代理工作负载以及所述作业配置信息(JCI);
从所述作业配置信息(JCI)中提取容器图像标识符(ID);
检索与所述容器图像标识符(ID)相关联的容器图像;以及
为实施所述无代理工作负载而使作业舱集实例化,所述作业舱集包括根据所述容器图像创建的容器,
其中所述容器经编程以执行任务集以完成所述无代理工作负载,
其中所述无代理工作负载和所述作业配置信息(JCI)从所述主节点接口部署到所述从节点,
其中所述无代理工作负载和所述作业配置信息(JCI)到来自多个从节点的所述从节点的部署由所述工作负载调度程序使用与所述无代理工作负载相关联的至少一组作业资源需求(JRR)来确定,并且
其中所述作业配置信息(JCI)和作业资源需求(JRR)由所述备份恢复控制器使用涉及实施所述无代理工作负载的作业请求提交到所述主节点接口。
2.根据权利要求1所述的系统,其进一步包括:
容器注册表,其以操作方式连接到所述从节点,
其中从所述容器注册表中检索所述容器图像。
3.根据权利要求1所述的系统,其进一步包括:
集群,其包括所述主节点、所述多个从节点和持久性卷池,
其中所述持久性卷池包括以操作方式连接到至少所述从节点的集群持久性卷,
其中所述从节点包括集群持久性卷安装,所述容器通过所述集群持久性卷安装存取所述集群持久性卷以执行所述任务集。
4.根据权利要求3所述的系统,其进一步包括:
集群存储系统(CSS),其以操作方式连接到所述集群,
其中所述集群进一步包括集群存储系统(CSS)插件,所述集群存储系统(CSS)插件将所述集群持久性卷映射到所述集群存储系统(CSS)。
5.根据权利要求3所述的系统,其中所述持久性卷池进一步包括以操作方式连接到至少所述从节点的备份持久性卷,其中所述从节点进一步包括备份持久性卷安装,所述容器通过所述备份持久性卷安装存取所述备份持久性卷以进一步执行所述任务集。
6.根据权利要求5所述的系统,其进一步包括:
备份存储系统(BSS),其以操作方式连接到所述集群,
其中所述集群进一步包括备份存储系统(BSS)插件,所述备份存储系统(BSS)插件将所述备份持久性卷映射到所述备份存储系统(BSS)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/259,504 | 2019-01-28 | ||
US16/259,504 US10831399B2 (en) | 2019-01-28 | 2019-01-28 | Method and system for enabling agentless backup and restore operations on a container orchestration platform |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111488241A CN111488241A (zh) | 2020-08-04 |
CN111488241B true CN111488241B (zh) | 2024-03-12 |
Family
ID=69174312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010065121.XA Active CN111488241B (zh) | 2019-01-28 | 2020-01-20 | 在容器编排平台实现无代理备份与恢复操作的方法和系统 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10831399B2 (zh) |
EP (1) | EP3686739B1 (zh) |
CN (1) | CN111488241B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210011816A1 (en) | 2019-07-10 | 2021-01-14 | Commvault Systems, Inc. | Preparing containerized applications for backup using a backup services container in a container-orchestration pod |
US11586507B2 (en) * | 2019-07-12 | 2023-02-21 | Trilio Data, Inc. | Scalable cloud-based backup method |
US11604672B2 (en) * | 2020-04-02 | 2023-03-14 | Vmware, Inc. | Operational health of an integrated application orchestration and virtualized computing system |
US11321351B2 (en) * | 2020-09-08 | 2022-05-03 | International Business Machines Corporation | Adaptable legacy stateful workload |
CN112181720A (zh) * | 2020-09-11 | 2021-01-05 | 济南浪潮数据技术有限公司 | 一种基于云管理平台的虚拟数据中心备份方法及装置 |
US11474873B2 (en) * | 2020-09-22 | 2022-10-18 | Rockwell Automation Technologies, Inc. | Implementing serverless functions using container orchestration systems and operational technology devices |
US12066804B2 (en) | 2020-09-22 | 2024-08-20 | Rockwell Automation Technologies, Inc. | Integrating container orchestration systems with operational technology devices |
US11755590B2 (en) | 2020-11-04 | 2023-09-12 | Netapp, Inc. | Data connector component for implementing integrity checking, anomaly detection, and file system metadata analysis |
US11625306B2 (en) | 2020-11-04 | 2023-04-11 | Netapp, Inc. | Data connector component for implementing data requests |
CN112671601B (zh) * | 2020-12-11 | 2023-10-31 | 航天信息股份有限公司 | 一种基于Zookeeper的接口监控系统及方法 |
US11782747B2 (en) * | 2021-01-20 | 2023-10-10 | Decisionforce Llc | System and method for notebook processing to handle job execution in cross-cloud environment |
CN115114077A (zh) * | 2021-03-17 | 2022-09-27 | 伊姆西Ip控股有限责任公司 | 管理备份数据的方法、电子设备和计算机程序产品 |
US11630599B2 (en) | 2021-04-30 | 2023-04-18 | Red Hat, Inc. | Pre-population of persistent volumes in container based cluster |
US11880282B2 (en) * | 2021-09-15 | 2024-01-23 | Trilio Data, Inc. | Container-based application data protection method and system |
US20230091573A1 (en) * | 2021-09-23 | 2023-03-23 | International Business Machines Corporation | Recycling container storage objects at a storage controller |
CN114328007B (zh) * | 2021-11-19 | 2024-03-22 | 苏州浪潮智能科技有限公司 | 一种容器备份还原方法、装置及其介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106598789A (zh) * | 2016-11-30 | 2017-04-26 | 成都华为技术有限公司 | 容器服务容灾的方法、装置、生产站点和灾备站点 |
CN107506258A (zh) * | 2016-06-14 | 2017-12-22 | 伊姆西公司 | 用于数据备份的方法和设备 |
US10013189B1 (en) * | 2015-12-14 | 2018-07-03 | EMC IP Holding Company LLC | Storage volume backup management for multi-tenant environments |
CN108920259A (zh) * | 2018-03-30 | 2018-11-30 | 华为技术有限公司 | 深度学习作业调度方法、系统和相关设备 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9003141B2 (en) | 2011-11-14 | 2015-04-07 | Ca, Inc. | Enhanced software application platform |
US11042309B1 (en) * | 2013-08-23 | 2021-06-22 | Acronis International Gmbh | Recovery of virtual machine files using disk attachment |
US9256467B1 (en) * | 2014-11-11 | 2016-02-09 | Amazon Technologies, Inc. | System for managing and scheduling containers |
US11042450B2 (en) * | 2016-07-28 | 2021-06-22 | International Business Machines Corporation | Mechanism for managing container runtime state |
US10341198B2 (en) * | 2017-03-17 | 2019-07-02 | Verizon Patent And Licensing Inc. | Configuring a back-end container and a corresponding front-end proxy container on a network device |
US20180314598A1 (en) * | 2017-04-28 | 2018-11-01 | Hewlett Packard Enterprise Development Lp | Container-based backups |
US10963349B2 (en) * | 2017-08-25 | 2021-03-30 | Vmware, Inc. | Containerized application snapshots |
US10938787B2 (en) * | 2017-12-01 | 2021-03-02 | Kohl's, Inc. | Cloud services management system and method |
US11132331B2 (en) * | 2017-12-12 | 2021-09-28 | Rubrik, Inc. | Sharding of full and incremental snapshots |
US10657032B2 (en) * | 2018-03-30 | 2020-05-19 | Atlassian Pty Ltd | Systems and methods for monitoring performance of applications |
US10515005B1 (en) * | 2018-12-20 | 2019-12-24 | Atlassian Pty Ltd | Systems and methods for testing source code |
-
2019
- 2019-01-28 US US16/259,504 patent/US10831399B2/en active Active
-
2020
- 2020-01-15 EP EP20151939.4A patent/EP3686739B1/en active Active
- 2020-01-20 CN CN202010065121.XA patent/CN111488241B/zh active Active
- 2020-10-01 US US17/060,920 patent/US11467755B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10013189B1 (en) * | 2015-12-14 | 2018-07-03 | EMC IP Holding Company LLC | Storage volume backup management for multi-tenant environments |
CN107506258A (zh) * | 2016-06-14 | 2017-12-22 | 伊姆西公司 | 用于数据备份的方法和设备 |
CN106598789A (zh) * | 2016-11-30 | 2017-04-26 | 成都华为技术有限公司 | 容器服务容灾的方法、装置、生产站点和灾备站点 |
CN108920259A (zh) * | 2018-03-30 | 2018-11-30 | 华为技术有限公司 | 深度学习作业调度方法、系统和相关设备 |
Non-Patent Citations (2)
Title |
---|
Javier Verdú.Architectural impact of stateful networking applications.《Proceedings of the 2005 ACM symposium on Architecture for networking and communications systems》.2005,第11-18页. * |
崔宇红 ; 文平 ; .集群与容灾技术在数据库高可用性的应用研究.图书馆工作与研究.2011,(05),全文. * |
Also Published As
Publication number | Publication date |
---|---|
US10831399B2 (en) | 2020-11-10 |
US20210019055A1 (en) | 2021-01-21 |
CN111488241A (zh) | 2020-08-04 |
EP3686739A1 (en) | 2020-07-29 |
EP3686739B1 (en) | 2022-07-20 |
US20200241754A1 (en) | 2020-07-30 |
US11467755B2 (en) | 2022-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111488241B (zh) | 在容器编排平台实现无代理备份与恢复操作的方法和系统 | |
US20220179701A1 (en) | System and method for dynamic data protection architecture | |
CN112035293B (zh) | 确定虚拟机节点所有权的方法、计算机系统和程序产品 | |
CN110377395B (zh) | 一种Kubernetes集群中的Pod迁移方法 | |
US9575991B2 (en) | Enabling coarse-grained volume snapshots for virtual machine backup and restore | |
US11119829B2 (en) | On-demand provisioning of customized developer environments | |
US20150095597A1 (en) | High performance intelligent virtual desktop infrastructure using volatile memory arrays | |
US10503428B2 (en) | System and method for concurrent multipoint backup | |
US20220358087A1 (en) | Technique for creating an in-memory compact state of snapshot metadata | |
US11675916B2 (en) | Method and system for limiting data accessibility in composed systems | |
US20220398168A1 (en) | Auto scale backup orchestration for network attached storage workloads | |
CN111104252B (zh) | 用于混合磁盘环境中的数据备份的系统和方法 | |
US20230214269A1 (en) | Method and system for performing computational offloads for composed information handling systems | |
US20220179750A1 (en) | System and method for intent based data protection | |
US11675665B2 (en) | System and method for backup generation using composed systems | |
US20230088179A1 (en) | Method and system for performing data management services for composed information handling systems | |
US11768612B2 (en) | System and method for distributed deduplication in a composed system | |
US20230214253A1 (en) | Method and system for managing telemetry services for composed information handling systems | |
US11288137B2 (en) | Restorations of virtual machines in virtual systems using a restoration policy | |
US20230214263A1 (en) | Method and system for performing predictive compositions for composed information handling systems using telemetry data | |
CN110688195A (zh) | Hyper-v vm即时恢复和访问及使用数据域boostfs在vm内部运行的应用 |
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 |