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 代理配置

探路者设置

通知设置

IAM 设置

LSP 策略和配置文件

保留策略

工作流程

报告生成设置(目标、报告和计划程序设置)

备份过程具有以下限制:

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

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

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

    • 生成的警报和警报

    • 未提交的配置更改

    • 大多数应用程序日志

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

    • LDAP 用户详细信息

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

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

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

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

图1:备份和还原过程 Backup and Restore Process

对于 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. 删除作业管理器标识rvcreds设备模型连接器默认范围标识基本平台机密资源。
    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 文件。

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

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

还原脚本操作

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

要使用还原脚本还原配置,请执行以下操作:

  1. 登录到任何一个主节点。

  2. 获取 MGD 容器名称:

  3. 执行恢复命令。

  4. 在通用命名空间中找到还原 Pod。

  5. 检查还原容器中的日志。

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

  7. 登录到 23.2 版 UI 并验证还原的数据。

备份和还原脚本的注意事项

备份和还原脚本的注意事项如下:

  • 可以每周运行脚本,也可以每天只运行一次脚本。在 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> 年月日文件夹来删除备份文件。