更新时间:2024-09-25 18:24:07

第1章 概述

当前基于proton平台部署的k8s平台,平台故障时,无法快速恢复业务;单节点场景下,AnyShare,AnyRobot,AnyData的业务数据出现故障,数据无法恢复。因此,需提供自备份功能,在平台故障时可进行业务恢复。
该文档主要讲述如何进行备份恢复操作,使用备份恢复功能前请仔细阅读。

第2章 适用场景

该备份恢复工具用于解决单节点环境下系统或组件崩溃时数据丢失问题。该工具默认开启自备份(支持手动备份),恢复需要手工执行,仅保障k8s集群及独立组件的配置及数据的备份恢复,不提供包含上层业务的完整系统恢复。
注意:当k8s集群及数据库相关服务无法启动,并由研发或专家部确认无法人工修复时,才允许使用该工具尝试恢复

第3章 备份恢复

3.1 备份

支持自备份和手动备份,自备份时间默认为每日凌晨两点,保留最近三天成功的备份数据,手动备份操作步骤请参考如下章节。

3.1.1 操作说明

操作步骤 使用命令 (示例)
备份帮助说明查看 proton-cli backup --help
备份所有资源数据 proton-cli backup create --backupname XXX --resources all --ttl 1
备份指定资源数据 proton-cli backup create --backupname XXX --resources dns,hosts --ttl 1
备份路径查看 proton-cli backup directory get
备份路径获取 proton-cli backup directory update --path /文件路径/
备份历史列表 proton-cli backup list
备份日志信息 proton-cli backup log --name XXX
备份调度规则查看 proton-cli backup schedule get
备份调度规则修改 proton-cli backup schedule update --schedule=”0 1 * * * proton-cli backup create --resource all ”

3.1.2 操作示例

  1. 查看备份工具帮助说明:proton-cli backup --help

    备份工具说明.png

    1. 备份所有资源:proton-cli backup create --backupname <备份包名称> --resources all --ttl 1

      备份并设置ttl.png

  2. 备份指定资源:proton-cli backup create --backupname <备份包名称> --resources <资源名称,多个资源组件使用英文逗号分隔> --ttl 1

    备份指定资源.png

  3. 备份文件路径帮助说明:proton-cli backup directory --help
    备份文件路径查看:proton-cli backup directory get

    备份路径说明.png

  4. 备份路径更新帮助说明:proton-cli backup directory update --help
    备份路径更新:proton-cli backup directory update --path <备份路径>

      ![备份路径更新.png]()
    
  5. 备份历史列表:proton-cli backup list

    备份历史列表.png

  6. 备份日志查看:proton-cli backup log --name

    备份日志查看.png

  7. 备份调度规则帮助说明:proton-cli backup schedule --help
    备份调度规则查看:proton-cli backup schedule get

    备份调度规则说明.png

  8. 备份调度规则修改:proton-cli backup schedule update --schedule=”<定时备份语句>”

    备份规则修改.png

3.2 恢复

恢复操作需手工进行

3.2.1 操作说明

操作步骤 使用命令
恢复指定备份文件 proton-cli recover create --recovername XXX --resources YYY --from-backup KKK
恢复历史列表 proton-cli recover list
恢复帮助说明查看 proton-cli recover --help
恢复日志查看 proton-cli recover log --name XXX

3.2.2 操作示例

  1. 恢复帮助说明:proton-cli recover --help

    恢复帮助说明.png

  2. 创建恢复帮助说明:proton-cli revocer create --help
    指定备份文件恢复所有资源:proton-cli recover create --recovername --resources all --from-backup

恢复资源.png

  1. 指定备份文件恢复指定资源:proton-cli recover create --recovername --resources <需要恢复的资源,多个资源组件之间适用英文逗号分隔>--from-backup

恢复指定资源.png

恢复示例.png

  1. 查看恢复列表:proton-cli recover list

    恢复列表.png

  2. 恢复日志帮助说明:proton-cli recover log --help
    恢复日志查看:proton-cli recover log --name

恢复日志帮助说明.png

第4章 已知缺陷

​ 通过proton-cli 备份恢复工具在恢复时,有时会遇到docker服务起不来的情况,当因docker服务起不来导致恢复失败时,需要重启服务器,重启完成后,服务正常Running,再次执行恢复操作。
​ 恢复proton-mongodb服务时,有时会恢复失败,可以进行恢复重试。
​ 单独恢复docker+mongodb或者docker+mariadb 时,现在不支持持续不间断恢复,距离下一次恢复的时候需要有至少120秒的间隔。

第5章 注意事项

​ 所有服务在正常Running状态下可以使用备份恢复工具
​ 不支持删除系统、格式化磁盘、非超级用户、重装系统下的备份和恢复
​ 对集群进行reset和apply操作时,不支持备份恢复
​ 宕机状态下不支持备份和恢复
​ 备份恢复工具不支持并发操作
​ 备份和恢复操作不支持同时进行
​ 服务器docker、kubelet、network、firewalld等其他基础服务stop状态下,不支持备份恢复