跳到主要内容

恢复备份

Zilliz Cloud 提供的恢复功能可用于在发生意外删除、数据损坏或系统故障时,从备份文件中恢复数据,保障业务连续性。这是一种可靠的手段,可用于灾难恢复、撤销错误更改,或创建用于测试的集群副本,将业务中断最小化。

本文将介绍如何通过备份文件恢复整个集群部分集群数据

📘说明
  • 备份与恢复功能仅适用于 Dedicated 集群。

  • 包年包月集群暂不支持恢复备份,如有需求,请联系我们

限制说明

  • 访问控制:仅项目管理员、组织管理员或拥有备份权限的自定义角色可执行备份操作。

恢复整个集群

您可以将整个集群(包括集群下所有 Database 和 Collection)恢复到一个新集群中,适用于测试环境数据克隆或生产环境数据恢复。如需恢复整个集群,所用备份文件必须为集群级别备份

恢复过程中,您可以选择是否一并恢复 RBAC 权限设置。

📘说明

目前仅支持通过 Web 控制台选择恢复 RBAC 权限设置,RESTful API 暂不支持。

恢复完成后,系统会为默认用户 db_admin 生成一个新密码,您需使用新密码连接至新集群。

通过 Web 控制台

以下 Demo 展示如何在 Zilliz Cloud 控制台中恢复整个集群:

通过 RESTful API

以下示例展示如何通过集群备份文件将集群恢复至名为 Dedicated-01-backup 的新集群。更多 API 参数细节,请参见恢复集群备份

curl --request POST \
--url "${BASE_URL}/v2/clusters/${CLUSTER_ID}/backups/${BACKUP_ID}/restoreCluster" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Accept: application/json" \
--header "Content-type: application/json" \
--data-raw '{
"targetProjectId": "proj-20e13e974c7d659a83xxxx",
"clusterName": "Dedicated-01-backup",
"cuSize": 1,
"collectionStatus": "KEEP"
}'

示例返回结果如下。系统将生成一个恢复任务,您可在项目下的任务中心查看进度:

{
"code": 0,
"data": {
"clusterId": "inxx-xxxxxxxxxxxxxxx",
"username": "db_admin",
"password": "xxxxxxxxx",
"jobId": "job-xxxxxxxxxxxxxx"
}
}

恢复部分集群数据

您也可以选择将特定的 Database 和 Collection 恢复到已有集群中。

通过 Web 控制台

以下 Demo 展示如何在控制台中恢复指定 Database 和 Collection:

通过 RESTful API

以下示例展示如何将某个备份文件中的 Collection 恢复至已有集群 in01-3e5ad8adc38xxxx。更多 API 参数细节,请参见恢复 Collection 备份

curl --request POST \
--url "${BASE_URL}/v2/clusters/${CLUSTER_ID}/backups/${BACKUP_ID}/restoreCollection" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Content-Type: application/json" \
-d '{
"destClusterId": "in01-xxxxxxxxxxxxxx",
"dbCollections": [
{
"collections": [
{
"collectionName": "medium_articles",
"destCollectionName": "restore_medium_articles",
"destCollectionStatus": "LOADED"
}
]
}
]
}'

示例返回结果如下。系统将生成一个恢复任务,您可在项目下的任务中心查看进度:

{
"code": 0,
"data": {
"jobId": "job-04bf9335838dzkeydpxxxx"
}
}