用于分布式计算系统的备份和还原架构技术方案

技术编号:23216360 阅读:31 留言:0更新日期:2020-01-31 23:09
本文描述了用于备份和还原云计算平台上的部署的方法、系统和计算机可读介质。云计算平台上的部署包括虚拟机的集合和相应的磁盘。部署可以包括被称为部署作业的多个子单元。各自的作业规范文件指定每个部署作业使用的各自的资源。所述资源包括各种脚本,所述脚本指定在备份之前、期间和之后要执行的动作。备份编排器在接收到对所述部署的备份请求后,将按脚本类型要求的预指定的顺序执行所述脚本。当执行特定类型的脚本时,如果在规范文件中指定了与该类型相对应的脚本,则用于每个部署作业的相应脚本执行。当特定类型的所有脚本完成执行时,具有下一种类型的脚本执行。因此,备份多个部署作业的操作被同步化且被编排。

Backup and restore architecture for distributed computing system

【技术实现步骤摘要】
【国外来华专利技术】用于分布式计算系统的备份和还原架构
本说明书通常涉及云计算技术。
技术介绍
在云计算中,通常以虚拟机的形式向用户提供一组共享的计算资源、存储资源和网络资源。多个物理计算设备,例如服务器场中的计算机,可以提供用于供应这些资源的服务平台。服务平台有时被称为基础设施即服务(IaaS)。部署系统可以使用IaaS资源自动化并简化将应用的源代码或二进制代码表示形式转换成该应用的服务实例的过程。然后,最终用户可以在云计算平台上访问该服务实例。云计算平台的一个示例是部署在一组云设备上的PivotalCloud软件产品。一个示例性部署系统是系统,所述系统在云计算平台上部署和管理服务实例。
技术实现思路
本说明书描述了用于备份和还原云计算平台上的部署的方法、系统和计算机可读介质。云计算平台上的部署是一组虚拟机和相应的非暂时性存储设备(例如磁盘)。部署可以包括被称为部署作业的多个子单元。相应的作业规范文件指定由每个部署作业使用的相应资源。所述资源包括各种脚本,所述脚本指定要在备份或还原操作之前、期间和之后实行的动作。备份编排器(orchestrator)在接收到对部署的备份或还原请求后,将按脚本类型要求的预指定顺序为部署作业执行脚本。当执行特定类型的脚本时,将执行对应于该类型的每个部署作业的相应脚本。当特定类型的所有脚本完成执行时,将执行具有下一种类型的脚本。因此,多个部署作业的备份和还原过程被同步化且被编排。可以实现本说明书中描述的主题的特定实施例以实现以下优点中的一个或多个。所公开的技术可以提供用于备份和还原大型分布式计算系统上的大型部署的简单命令行接口。在并行运行多个作业的大型系统上的备份和还原过程本质上很复杂。所公开的技术提供了一种架构,所述架构通过将备份和还原的动作委派给每个部署作业来简化复杂的过程。与用于备份和还原部署的常见技术相比,本说明书中描述的技术提供了更灵活的备份和还原。所公开的技术编排了多个作业的备份和还原操作,从而防止了由不同作业在不同时间锁定而致使的冲突,并且确保在进行备份之前系统的子部件以一致状态被暂停。因此,与传统的备份系统相比,所公开的技术更适合于具有多个子部件的大型部署。本说明书中描述的主题的一个或多个实施例的细节在附图和以下描述中阐述。根据说明书、附图和权利要求书,本主题的其它特征、方面和优点将变得显而易见。附图说明图1是示出了实现备份和还原架构的示例性系统的架构的框图。图2是示出了备份和还原脚本的示例性预定义顺序的框图。图3是示出了用于多个作业的备份和还原脚本的示例性编排的图解。图4是示出了备份过程中脚本执行的示例性过程的流程图。图5是示出了备份或还原部署的示例性过程的流程图。在各种附图中,相同的附图标记和名称指示相同的元件。具体实施方式图1是示出了实现备份和还原架构的示例性系统的架构的框图。备份编排器102从客户端设备106接收对部署110进行备份的备份请求104。备份编排器102包括执行一个或多个程序的一个或多个计算机,所述一个或多个程序实行备份或还原。备份请求104可以包括调用一个或多个程序的命令行输入。备份请求104可以显式地或隐式地识别部署110。例如,备份请求104可以指定一个或多个参数,例如部署的名称、部署的网络路径或二者。客户端设备106可以包括被配置成接收命令行输入的命令行接口(CLI)。备份操作包括将可以用于重新创建部署110的数据转储到非暂时性存储设备。还原操作包括根据先前转储的数据重新创建部署110。部署110包括虚拟机(VM)和永久存储设备(例如,磁盘)的集合。VM由“stemcell”构建而成,其包括包装在IaaS特定程序包中的操作系统映像,所述程序包包括一个或多个实用程序和配置文件。部署的VM基于部署清单112而填充有软件的特定发行版,并且由部署主管(例如,BOSHDirector)进行管理。每个发行版都包括配置属性、配置模板、脚本、源代码和二进制工件(artifact)的版本化的集合。部署清单112是指定stemcell的版本、发行版以及每个发行版要使用的资源的文件。部署110包括多个部署作业,部署作业在逻辑上被分组成实例组,例如实例组116和118。实例组116和118中的每一个可以包括跨越多个可用性区域的一个或多个实例,例如VM。实例组(例如,实例组116)中的每一个可以包括一个或多个部署作业,例如部署作业120和122。每个部署作业是表示长期运行的服务或短期运行的任务的部署的逻辑单元,也被称为差事(errand)。部署作业120和122中的每一个都在部署清单112中定义。部署作业120和122中的每一个可以包括元数据、一个或多个配置文件以及一个或多个脚本。作业规范文件(例如,BOSH规范文件)可以定义元数据,包括例如作业名称、作业描述、模板以及与所述作业相关联的脚本的位置。部署清单112可以为部署作业120和122中的每一个指定各自的作业名称、一个或多个各自的作业模板、各自的资源库、一个或多个各自的网络以及一个或多个备份或还原脚本。备份或还原脚本实行用于备份和还原操作的准备和清理动作。例如,部署清单112指定第一部署作业120与第一备份前脚本、第一备份脚本和第一备份后脚本相关联。部署清单112指定第二部署作业122与第二备份前脚本、第二备份脚本和第二备份后脚本相关联。每个脚本都可以由发行版作者创建。每个脚本可以是常规的壳脚本(shellscript)。在每个脚本中可以使用ERB(嵌入式RuBy)标签进行模板化。每个脚本定义在备份或还原的每个特定阶段实行的相应操作。备份可以包括在多个阶段实行的多个任务。任务和相应的阶段可以包括:例如,备份前检查,用于确定特定的部署作业是否可备份,例如是否适合备份;备份前锁定,所述备份前锁定阻止部署作业被修改和失去同步;备份,所述备份转储(例如写入)部署作业的数据;备份后解锁,所述备份后解锁允许修改部署作业;以及备份后清理,所述备份后清理保存工件。还原的阶段可以包括:例如,还原前检查、还原锁定、还原、还原解锁、还原验证和还原清理。这些任务仅作为示例提供。每个阶段的任务都可以是用户可配置的,以实行发行版作者期望的任何动作。对于第一部署作业120和第二部署作业122中的每一个,每个阶段可以对应于各自的脚本。每个部署作业不一定具有所有阶段的脚本。可以将对应于特定阶段的所有作业的脚本一起存储在目录(例如,/var/vcap/jobs/[jobname]/bin/backupor/var/vcap/jobs/[jobname]/bin/restore)中。发行版中用于部署作业的一个或多个规范文件可以为各阶段指定各自的目录。在接收到备份请求104时,备份编排器102定位与部署作业120和122相关联的脚本并执行所述脚本。备份编排器102被配置成逐步执行脚本。例如,备份编排器102可以在执行备份前锁定脚本之前为所有部署作业执行备份前检查阶段的脚本。在每个阶段内,备份编排器102可能会或可能不会以特定顺序执行所有本文档来自技高网...

【技术保护点】
1.一种方法,包括:/n由安装在一个或多个计算机上的备份编排器从客户端设备接收对于备份或还原包括一个或多个部署作业的部署的请求,所述请求与识别所述部署的部署标识符相关联;/n由所述备份编排器并且基于所述部署标识符来确定存储作业特定的脚本的脚本位置,每个作业特定的脚本根据指定所述部署的配置参数的规范文件与各自的部署作业相关联;/n以预定的顺序执行存储在所述脚本位置处的所述作业特定的脚本,包括执行用于每个部署作业的备份前脚本或还原前脚本,然后执行用于每个部署作业的备份脚本或还原脚本,然后执行用于每个部署作业的备份后脚本或还原后脚本,其中所述作业特定的脚本备份所述一个或多个部署作业或还原所述一个或多个部署作业;以及/n由所述备份编排器向所述客户端设备提供状态报告作为对所述请求的响应,所述状态报告指示所述备份或所述还原的状态。/n

【技术特征摘要】
【国外来华专利技术】20170505 US 15/588,5291.一种方法,包括:
由安装在一个或多个计算机上的备份编排器从客户端设备接收对于备份或还原包括一个或多个部署作业的部署的请求,所述请求与识别所述部署的部署标识符相关联;
由所述备份编排器并且基于所述部署标识符来确定存储作业特定的脚本的脚本位置,每个作业特定的脚本根据指定所述部署的配置参数的规范文件与各自的部署作业相关联;
以预定的顺序执行存储在所述脚本位置处的所述作业特定的脚本,包括执行用于每个部署作业的备份前脚本或还原前脚本,然后执行用于每个部署作业的备份脚本或还原脚本,然后执行用于每个部署作业的备份后脚本或还原后脚本,其中所述作业特定的脚本备份所述一个或多个部署作业或还原所述一个或多个部署作业;以及
由所述备份编排器向所述客户端设备提供状态报告作为对所述请求的响应,所述状态报告指示所述备份或所述还原的状态。


2.根据权利要求1所述的方法,其中:
在虚拟机的集合和永久性磁盘的集合上实现所述部署,
每个部署作业在各自的虚拟机中执行,以及
在所述规范文件中定义每个部署作业。


3.根据权利要求1至2中的任一项所述的方法,其中,确定所述脚本位置包括:识别所述规范文件中指定的所述脚本位置。


4.根据权利要求1至3中的任一项所述的方法,其中,所述规范文件为每个作业定义以下中的一个或多个:

【专利技术属性】
技术研发人员:泰瑞莎·路易斯·斯托维尔卡利安·查克拉瓦蒂·杜达拉科林·迈克尔·汉弗莱斯西蒙·詹姆斯·琼斯贾廷·奈克阿尔瓦罗·佩雷斯雪莉亨利·阿瑟·詹姆斯·斯坦利
申请(专利权)人:皮沃塔尔软件公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1