首批通过分布式安全可靠测评,为关键业务系统打造
设置集群级备份配置
更新时间:2026-04-07 20:57:20
本文介绍如何通过 API 设置集群级备份配置。
调用说明
接口约束
如果设置了密码,则需要通过认证。详情可参见 API 混合加密。
请求路径
POST /api/v1/obcluster/backup/config
请求参数
| 参数 | 类型 | 必选 | 示例值 | 描述 |
|---|---|---|---|---|
| backup_base_uri | string | 是 | "file:///data/backup" | 备份文件基础路径。设置后日志归档和数据备份文件都将存储到这个基础路径之下。 |
| log_archive_concurrency | int | 否 | 0 | 配置日志归档总的工作线程数量。默认值为 0,取值范围为 [0, 100]。 |
| binding | string | 否 | "optional" | 设置归档和业务的优先模式。目前支持设置为 optional(以用户业务优先) 和 mandatory(以归档优先)。如果未配置,默认为 Optional 模式。 |
| ha_low_thread_score | int | 否 | 0 | 指定备份、备份清理等高可用低优先级任务的当前工作线程数。在开始备份前,可以适当提高该参数的值,建议每次将数值翻倍。默认值为 0,取值范围为 [0, 100]。 |
| piece_switch_interval | string | 否 | 1d | 配置 piece 的切换周期。如果不设置,默认为 1d,取值范围为 [1d, 7d]。 |
| archive_lag_target | string | 否 | 7200s | 控制租户日志归档的延迟时间,默认为 2 分钟,用于指定前后两次归档 I/O 的最大间隔。取值范围为 [0ms, 7200s]。 |
| delete_policy | DeletePolicy | 否 | { "delete_policy": "{ "policy": "default", "recovery_window": "7d", }, } |
备份成功后,可以根据业务需要,为租户设置清理策略。设置了清理策略的租户将会每小时触发一次自动清理,以便过期的备份能够及时得到清理。配置中各个值的含义如下:
|
返回结果
| 参数 | 类型 | 说明 |
|---|---|---|
| successful | bool | 请求是否成功。 |
| timestamp | time.Time | 服务端完成请求的时间戳。 |
| duration | int | 服务端处理请求的时间(毫秒)。 |
| status | int | 符合 HTTP Status 规范的编码。 |
| traceId | string | 请求的 Trace ID。 |
| data | DagDetailDTO | 异步任务信息,详情参见下文 DagDetailDTO 信息的数据结构。 |
| error | ApiError | 请求产生的 Error,包含如下信息:
|
DagDetailDTO 信息的数据结构如下:
| 参数 | 类型 | 说明 |
|---|---|---|
| id | string | DAG 通用 ID。 |
| dag_id | int | DAG id,是记录在 OceanBase 数据库中的主键。 |
| name | string | DAG 名称。 |
| stage | int | DAG 的当前执行阶段。 |
| max_stage | int | DAG 执行过程中的总阶段数。 |
| state | string | DAG 执行状态。 |
| operator | string | DAG 执行操作类型。 |
| start_time | time.Time | DAG 执行起始时间。 |
| end_time | time.Time | DAG 执行结束时间。 |
| additional_data | map[string]any | DAG 其他数据。 |
| nodes | []NodeDetailDTO | DAG 内的所有 Node 信息,详见 获取 Node 的详细信息。 |
示例
请求示例
POST 10.10.10.1:2886/api/v1/obcluster/backup/config
{
"backup_base_uri":"file://data/backup",
"log_archive_concurrency":100,
"binding":"Mandatory",
"ha_low_thread_score":35,
"piece_switch_interval":"6d",
"archive_lag_target":"2h",
"delete_policy":
{
"policy":"",
"recovery_window":"5d"
}
}
返回示例
{
"successful": true,
"timestamp": "2024-01-09T17:11:43.385889278+08:00",
"duration": 1,
"status": 200,
"traceId": "877fe32b83634153",
"data": {
"id": "22130706433028869",
"dag_id": 4,
"name": "Set obcluster backup config",
"stage": 1,
"max_stage": 2,
"state": "READY",
"operator": "RUN",
"start_time": "2024-01-09T17:11:43.384630643+08:00",
"end_time": "2024-01-09T17:11:43.384630643+08:00",
"additional_data": null,
"nodes": null
}
}
相关文档
除通过命令行调用 API 接口外,还可以通过 SDK 方法调用 API。