第 2 章 从备份中恢复
您可以使用 roxctl
命令行界面(CLI)从现有备份中恢复 Red Hat Advanced Cluster Security for Kubernetes。
根据您的要求和您备份的数据,您可以从以下类型的备份中恢复:
- 从 Central 数据库备份中恢复 Central 数据库 :使用此数据库从数据库故障或数据崩溃事件中恢复。它允许您将 Central 数据库恢复并恢复到其早期功能状态。
- 从 Central 部署备份中恢复 Central : 如果您要将 Central 迁移到另一个集群或命名空间,请使用它。这个选项恢复中央安装的配置。
2.1. 使用 roxctl CLI 恢复 Central 数据库
您可以使用 restore
命令使用 roxctl
CLI 恢复 Red Hat Advanced Cluster Security for Kubernetes。您需要 API 令牌或管理员密码来运行此命令。
2.1.1. 使用 API 令牌恢复
您可以使用 API 令牌恢复 RHACS 的整个数据库。
先决条件
- 您有一个 RHACS 备份文件。
- 您有一个带有管理员角色的 API 令牌。
-
已安装了
roxctl
CLI。
流程
运行以下命令设置
ROX_API_TOKEN
和ROX_ENDPOINT
环境变量:$ export ROX_API_TOKEN=<api_token>
$ export ROX_ENDPOINT=<address>:<port_number>
运行以下命令来恢复 Central 数据库:
$ roxctl central db restore <backup_file> 1
- 1
- 对于
<backup_file
>,请指定您要恢复的备份文件的名称。
2.1.2. 使用管理员密码恢复
您可以使用管理员密码恢复 RHACS 的整个数据库。
先决条件
- 您有一个 RHACS 备份文件。
- 您有管理员密码。
-
已安装了
roxctl
CLI。
2.1.3. 恢复操作
如果在恢复操作过程中中断连接,或者需要离线,您可以恢复恢复操作。
-
如果您无法访问运行恢复操作的机器,您可以使用
roxctl central db restore status
命令检查持续恢复操作的状态。 -
如果连接中断,
roxctl
CLI 会在连接再次可用时自动尝试恢复任务。自动连接重试取决于timeout
选项指定的持续时间。 -
使用--
timeout
选项指定时间(以秒为单位、分钟或小时)后,roxctl
CLI 会停止尝试恢复恢复操作。如果没有指定选项,则默认超时为 10 分钟。 -
如果恢复操作卡住或者您想要取消它,请使用
roxctl central db restore cancel
命令取消正在运行的恢复操作。 - 如果恢复操作卡住,则代表您取消了它,或者时间已过期,您可以通过再次运行原始命令来恢复以前的恢复。
重要
- 在中断期间,RHACS 会缓存持续恢复操作 24 小时。您可以通过再次执行原始 restore 命令来恢复此操作。
-
--timeout
选项只控制客户端侧连接重试,对服务器端恢复缓存 24 小时没有影响。 - 您无法在 Central pod 重启后恢复恢复。
- 如果恢复操作中断,您必须在 24 小时内重启它,并在重启 Central 之前重启它,否则 RHACS 会取消恢复操作。