Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

备份和还原

本主题介绍 Paragon Automation 中提供的备份和恢复功能。尽管 Paragon Automation 是基于 GUI 的应用,但备份和恢复作是通过 Paragon Insights cMGD CLI 管理的。Postgres 是微服务的主要持久存储数据库。备份文件保存在群集节点上的本地持久卷中。备份过程可以在微服务运行时执行,不会影响群集的运行。但是,对于还原过程,微服务将停止,并且在还原数据库之前,群集无法正常运行。

目前,您无法自定义选择要备份和还原的应用程序。您只能为每个组件备份和恢复一组预配置和固定的应用程序和管理设置,如 表 1 中所列。

表 1:固定的备份配置设置集

设备

警报/警报设置

管理员组

主题

绘图设置

用户定义的作和功能

剧本

汇总配置文件

审计日志

设备组

提取设置

拓扑过滤器配置

网络组

SNMP 代理配置

Pathfinder 设置

通知设置

IAM 设置

LSP 策略和配置文件

保留政策

工作流程

报告生成设置(目标、报告和调度程序设置)

备份过程具有以下限制:

  • 遥测数据 — 默认情况下,不会备份从设备捕获的数据。遥测数据必须手动备份。

    更多信息,请参见 备份和恢复 TSDB

  • 瞬态和日志记录数据 — 将不会备份正在处理和过期事件的数据。例如:

    • 生成的警报和警报

    • 未提交的配置更改

    • 大多数应用日志

  • 非 Paragon-自动化配置 — 在 Paragon Automation 支持的第三方服务上完成的配置将不会被备份。例如:

    • LDAP 用户详细信息

  • 拓扑摄取配置 - 将不会备份与 BGP-LS 路由器对等以获取拓扑信息的 cRPD 配置。必须根据需要再次手动重新配置。有关更多信息,请参阅修改 cRPD 配置

您可以使用通过 Kubernetes 作业调用的容器化脚本来实施备份和恢复过程。

您可以按照备份 配置中所述的说明手动备份群集。您还可以使用备份脚本,按照 备份和还原脚本中所述的说明备份群集。

同样,您可以使用 还原配置中所述的说明手动还原备份的配置。您还可以使用还原脚本,按照 备份和还原脚本中所述的说明还原备份的配置。

图 1:备份和恢复过程 System architecture diagram for Kubernetes backup and restore workflow: cmgd creates backup and restore K8s jobs; Backup jobs write to Local Persistent Volume; Restore jobs read from it; Paragon Microservices use Postgres database; Arrows show data flow and interactions.

对于 Paragon Automation 23.2 版,只有在对全新 23.2 版安装执行虚拟备份后,才能从早期版本的 Paragon Automation 恢复备份配置。要在 23.2 版群集上使用还原作,建议您:

  1. 将当前的 Paragon Automation 群集升级到 23.1 版。

  2. 备份 23.1 版配置。

  3. 安装 23.2 版群集。

  4. 备份 23.2 群集。

  5. 将 23.1 版配置复制到备份的 23.2 版位置。

  6. 还原复制的备份配置。

备份配置

大多数 Paragon Automation 应用的数据主要存储在 Postgres 中。备份配置时,系统确定和预定义的数据将被备份。执行备份时,作系统和微服务不受影响。备份运行期间,您可以继续使用 Paragon Automation。您将使用由 Paragon Insights(以前称为 Healthbot)管理的管理守护程序 (MGD) CLI 来执行备份。

要备份当前的 Paragon Automation 配置,请执行以下作:

  1. 确定 MGD Kubernetes Pod 的名称,并使用此名称连接到 cMGD CLI。

    例如:

    注意:

    Kubernetes 中的主要 CLI 工具是 kubectl,它安装在主节点上。您可以使用主节点以外的节点,但必须确保复制 admin.conf 文件并设置 kubeconfig 环境变量。或者,您可以使用命令 export KUBECONFIG=config-dir/admin.conf

    您还可以从任何有权访问群集的节点(包括控制主机)访问 Kubernetes API。

  2. 输入命令request system backup path path-to-backup-folder 以启动备份作业,该备份作业将备份所有数据库,直到您运行该命令为止。

    例如:

    该命令创建相应的 Kubernetes db-backup-hello-world 作业。Kubernetes 作业创建预定义数据的备份。这些文件存储在本地持久卷中。

  3. 备份完成后,必须使用 kubectl 显式手动备份基础平台资源。
    1. 备份 jobmanager-identitysrvcredsdevicemodel-connector-default-scope-id
    2. (可选)如果在 Paragon Automation 群集上配置了 SMTP,则备份可用iam-smtp-config密钥。

      如果此命令失败,则群集中未配置 SMTP,您可以忽略该错误。

查看 备份详细信息的常用 kubectl 命令

要查看备份的状态或备份文件的位置,或查看有关备份文件的更多信息,请使用以下命令。

  • 备份作业存在于公共命名空间中并使用 common=db-backup 标签。要查看所有备份作业,请执行以下作:

  • 要查看特定 Kubernetes 作业的更多详细信息,请执行以下作:

  • 要查看特定 Kubernetes 作业的日志,请执行以下作:

  • 要确定备份文件的位置,请执行以下作:

    输出将您指向本地持久卷。使用该持久卷确定存储备份文件的节点。

    要查看所有备份文件,请登录到节点并导航到备份文件夹的位置。

若要查看常见的备份和还原失败方案,请参阅 常见的备份和还原问题

还原配置

您可以从之前备份的配置文件夹中还原 Paragon Automation 配置。还原作会使用所有备份的配置信息重写数据库。不能有选择地还原数据库。执行还原作时,将生成 Kubernetes 作业,从而停止受影响的微服务。该作业将还原备份的配置并重新启动微服务。在恢复过程完成之前,Paragon Automation 将保持无法运行。

您不能同时运行多个还原作业,因为 Kubernetes 作业会在还原过程中停止微服务。此外,您不能同时运行备份和恢复过程。

注意:

强烈建议您在维护时段内还原配置,否则系统可能会进入不一致状态。

要将 Paragon Automation 配置还原为之前备份的配置:

  1. 确定 MGD Kubernetes Pod 的名称,并使用此名称连接到 cMGD CLI。

    例如:

  2. 输入命令request system restore path path-to-backup-folder 以使用持久卷上指定备份文件夹中的文件还原配置。

    例如:

    将创建相应的 Kubernetes db-restore-hello-world 作业。还原过程比备份过程需要更长的时间,因为 Kubernetes 作业停止会重新启动微服务。恢复完成后,Paragon Automation 系统无法立即运行。您必须等待大约十分钟才能使系统稳定并完全发挥作用。

    注意:

    如果您在还原过程中登录,则必须注销,然后在还原过程完成后重新登录。

  3. 还原过程完成后,您必须使用之前手动备份的基础平台备份文件显式还原基础平台资源。
    1. 删除 jobmanager-identitysrvcredsdevicemodel-connector-default-scope-id base-platform 机密资源。
    2. 还原之前备份的基础平台资源。
    3. 重新启动jobmanagerdevicemodel-connector基本平台服务。
    4. (可选)如果在 Paragon Automation 群集上配置了 SMTP,请删除当前 SMTP 密钥文件,然后从之前备份的文件中恢复。
    5. (可选)删除手动备份的文件。如果您有夜间备份计划,或者如果您已经从特定文件恢复并且不再需要它,则可以删除手动备份的文件。

查看 还原详细信息的常用 kubectl 命令

要查看还原过程的详细信息和状态,请使用以下命令:

  • 还原作业存在于公共命名空间中并使用 common=db-restore 标签。要查看所有还原作业,请执行以下作:

  • 要查看特定 Kubernetes 作业的更多详细信息,请执行以下作:

  • 要查看特定 Kubernetes 作业的日志,请执行以下作:

若要查看常见的备份和还原失败方案,请参阅 常见的备份和还原问题

备份和恢复脚本

您还可以使用 Paragon Automation 备份和还原脚本来简化备份和还原作。本主题介绍备份和恢复脚本作以及脚本使用注意事项。

备份脚本作

备份脚本会自动备份您当前的配置。备份脚本的主要好处是,您可以将其作为具有所需频率的 cron 作业运行,以便安排定期备份。此外,备份脚本会创建可区分的带日期戳的备份文件夹,如果脚本在不同日期运行,这些文件夹不会被覆盖。

要使用备份脚本备份配置:

  1. 登录到任一主节点。

  2. 执行备份脚本。

该脚本运行备份作业来备份当前配置。将创建备份文件夹并将其保存在其中一个群集节点上的本地持久卷中。文件夹名称采用 <name>-year_month_day 格式。群集节点中的文件夹包含所有备份的配置元数据。

该脚本还会在主节点的当前路径中创建一个同名文件夹。主节点中的备份文件夹包含在还原备份配置时使用的基本平台所需的 JSON 文件。

脚本运行时,将生成备份摘要并显示在屏幕上。摘要包含备份文件的节点和位置。例如:

在此示例中,包含所有备份元数据的备份文件夹存储在 /export/local-volumes/pv1 文件夹中的 IP 地址为 10.16.18.20 的群集节点中。

还原脚本作

还原脚本会自动还原备份的配置。

要使用还原脚本还原配置:

  1. 登录到任一主节点。

  2. 获取您的 MGD 容器名称:

  3. 执行 restore 命令。

  4. 在公共命名空间中找到还原 pod。

  5. 检查还原 Pod 中的日志。

  6. 跟踪日志并刷新,在日志末尾查找“还原完成”。

  7. 登录到 23.2 版用户界面并验证还原的数据。

备份和恢复脚本的注意事项

备份和恢复脚本的注意事项如下:

  • 您可以每周运行脚本一次,也可以每天只运行一次脚本。在 24 小时内多次运行它们会返回错误,因为当天已经有一个名为 <name>-year_month_day 的备份文件夹。如果您需要在同一 24 小时内进行手册备份,则必须使用命令 kubectl delete -n common jobs 删除作业。例如:

    # kubectl delete -n common jobs db-backup-paa-2023_20_04

  • 脚本根据备份文件的频率和大小,用备份文件填充磁盘空间。考虑删除过时的备份元数据和文件以释放磁盘空间。您可以使用该 kubectl delete -n common jobs 命令删除 Kubernetes 元数据。例如:

    # kubectl delete -n common jobs db-backup-paa-2023_20_04

    您可以通过删除在运行备份脚本时摘要中显示的本地卷路径的 /root/ 文件夹中创建的 <name>-year-month-day 文件夹来删除备份文件。