使用实例备份

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

计算巢备份的使用场景,实现方式,费用与使用方法。

背景介绍

在实际使用中,用户经常遇到需要对数据做备份的场景,例如:

  • 幻兽帕鲁游戏的私服,因游戏本身原因经常会出现掉档情况,为解决这个问题,需要按时备份。

  • 某数据库服务,为保证数据安全,需要进行备份,降低可能发生的故障损失。

  • 某服务,需要做升级,但是升级过程中可能导致数据丢失。因此在升级前需要做数据备份。

在过去,计算巢用户遇到需要备份服务实例数据的场景,需要自行在各云产品的控制台做备份。例如,如果服务实例部署于ecs,则用户需要登录ecs控制台,筛选找到服务实例部署的ECS,手动给该ECS的云盘打快照;而恢复则需要用户自行查找自己做备份用的云盘快照,并在ECS控制台做数据回滚。很显然,当需要备份的云盘或RDS实例较多时,会因操作非常繁琐而不便于用户使用。而且,恢复时,用户需要自行记录哪个名称的云盘快照或RDS实例的备份是自己需要的,比较容易出现错误。为解决这个问题,计算巢上线了备份管理功能,以实现在计算巢控制台,一键为服务实例的云资源数据做备份或恢复。

实现原理

计算巢的备份与恢复功能,主要依赖底层云资源的备份与恢复能力。因此,计算巢是否支持某个云产品的备份与恢复,一方面取决于计算巢是否针对该云产品开发了相关功能,另一方面也取决于该云产品是否支持对自己的数据最备份与恢复。当前计算巢支持备份和恢复的云产品有:

  • 阿里云块存储(云盘)。

  • 引擎为MySQL、SQL Server、PostgreSQL的阿里云RDS实例。

备份

在数据备份前,计算巢会生成一个空的备份记录。该记录会存储备份开始时间、备份结束时间、备份状态以及本次备份涉及到的各云产品的实例ID及其备份状态。

在做数据备份时,计算巢会根据服务实例ID,利用云资源上的tag标签筛选出隶属于该服务实例的所有云资源,并筛选出其中的块存储(云盘)与前文所述类型引擎的RDS实例。而后会逐个调用各云产品的api以实现数据的备份。调用api成功后,计算巢会循环扫描各云产品的备份结果。当备份状态为终态时(成功or失败)会记录下结果并展示给用户。一般情况下,一次计算巢的备份会涉及到多个云产品的多个实例。只要还有一个实例处于“备份中”,计算巢的备份记录就会处于“备份中”。当所有云产品的所有实例都完成备份后,只要有任意云产品的任意实例备份失败,计算巢的备份记录会被标记为“备份失败”;只有所有云产品的所有实例都备份成功,计算巢的备份记录才会被标记为“备份成功”。

恢复

与备份类似,在恢复前,计算巢会生成一个空的恢复记录。该记录会存储恢复开始时间、恢复结束时间、恢复基于的备份的ID、整体恢复状态以及本次恢复涉及到的各云产品资源id及其恢复状态。

由于云盘在做数据恢复时,必须保证其挂载的ECS实例是停机状态。因此,在恢复前,计算巢会将服务实例整体关机。关机完成后,会查询恢复基于的备份数据ID,逐个调用各云产品的api做数据恢复。api调用成功后,计算巢会循环扫描各云产品的恢复结果。当恢复状态为终态时(成功or失败)会在恢复记录中记录下结果并展示给用户。一般情况下,一次计算巢的恢复会涉及到多个云产品的多个实例。只要还有一个实例处于“恢复中”,计算巢的恢复记录就会处于“恢复中”。当所有云产品的所有实例都完成恢复后,只要有任意云产品的任意实例恢复失败,计算巢的恢复记录会被标记为“恢复失败”;只有所有云产品的所有实例都恢复成功,计算巢的恢复记录才会被标记为“恢复成功”。当恢复完成后,计算巢会再次将服务实例开机。需要特别指出的是,由于恢复机制原因,MySQL引擎或PostgreSQL引擎的RDS实例在恢复过程中库表会被重命名,进而引起原库或原表找不到。为了解决这个问题,在遇到上述两个引擎的RDS实例恢复时,计算巢会利用FC函数向RDS实例执行库表重命名的SQL,将库名或表名重新命名为原值。因此,如果您的服务实例中包含MySQL引擎或PostgreSQL引擎的RDS实例,在恢复过程中可能产生FC的费用。

重要

如果您服务实例中包含MySQL引擎或PostgreSQL引擎的RDS实例,那么在恢复过程中可能会产生FC的费用。

费用

计算巢备份功能本身不会产生费用。由于计算巢备份功能是依赖各云产品的备份能力,因此费用的产生主要是各云产品备份所产生的。主要有以下三部分:

使用方式

如果您部署的服务已经开启了备份与恢复功能,您可以在服务实例详情页对实例进行备份与恢复操作。

备份

  1. 进入服务实例列表页,点击服务实例id进入服务实例详情页

  2. 进入备份与恢复TAB页,即可点击“创建备份”。image.pngimage.png

    警告

    创建备份过程中,请不要对服务实例做任何操作或数据变更。

  3. 等待备份完成,如果备份失败,您可在失败的备份记录的气泡窗内查看失败原因image.png

恢复

  1. 您可单击备份操作列的恢复按钮。image.png

  2. 单击确定后,会开始恢复。您可在恢复任务TAB页,查看恢复任务列表。image.png

    警告
    • 恢复操作将会引起服务实例的关机,建议您在恢复前进行一次备份操作。

    • 在恢复期间,请不要对服务实例做任何操作或数据变更。

  3. 等待恢复结束。如果失败,您可以在恢复失败任务上查看失败原因。image.pngimage.png