全部產品
Search
文件中心

PolarDB:手動備份與恢複PolarSearch資料

更新時間:Feb 11, 2026

PolarSearch支援通過快照功能,將叢集中的索引資料備份至您自有的Object Storage Service儲存空間中,或從OSS中恢複資料。該功能可用於實現PolarSearch叢集的跨叢集資料移轉和自訂備份恢複,為您提供靈活、低成本的資料保護與流轉方案。

說明

當前功能目前處於灰階階段。如需使用,您可以提交工單聯絡我們為您開啟相關功能。

適用範圍

費用說明

快照功能不收取費用,但快照檔案儲存體在您的OSS Bucket中,會產生OSS儲存費用和請求費用。計費詳情請參見OSS計費概述

註冊快照倉庫

在使用快照功能前,您需要先註冊一個快照倉庫,用於關聯您的OSS Bucket。您可使用以下API進行建立:

PUT /_snapshot/{repo-name}
{
    "type": "oss",
    "settings": {
      "endpoint": "{endpoint}",
      "bucket": "{bucket-name}",
      "base_path": "{path-name}",
      "region": "{region}",
      "access_key": "{your-Accesskey-Id}", 
      "secret_key": "{your-Accesskey-Secret}",
      "session_token": "{your-STS-Token}"
    }
}

參數說明

參數

說明

{repo-name}

倉庫名稱,請自訂。

type

倉庫類型,固定為oss

endpoint

您的OSS Bucket的訪問地址。詳情請參見地區和Endpoint

bucket

您的OSS Bucket名稱。

base_path

(可選)指定在OSS Bucket中儲存快照檔案的根目錄路徑。

region

指定Bucket所在地區(Region)。

access_key

您的AccessKey ID

secret_key

您的AccessKey Secret

session_token

(可選)您的RAM角色的臨時身份憑證(STS Token)

重要

若採用STS Token,則access_keysecret_key也需設定為STS Token的值。若不使用臨時STS Token,則可直接使用長期的AccessKey ID和AccessKey Secret。

樣本

請將以下的參數替換為您的實際資訊

curl -X PUT "https://{pc-endpoint}:3001/_snapshot/{repo-name}" \
  -u "{username}:{passwd}" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "oss",
    "settings": {
      "endpoint": "{endpoint}",
      "bucket": "{bucket-name}",
      "base_path": "{path-name}",
      "region": "{region}",
      "access_key": "{your-Accesskey-Id}", 
      "secret_key": "{{your-Accesskey-Secret}"
    }
  }'

建立快照:備份資料至OSS

註冊快照倉庫後,執行以下命令為指定索引建立快照。您可使用以下API進行建立:

PUT /_snapshot/{repo-name}/{snapshot-name}?wait_for_completion=true
{
    "indices": "{index-name}",
    "ignore_unavailable":false
}

參數說明

參數分類

參數名

說明

請求參數

wait_for_completion

是否同步等待快照操作完成。預設為false

  • 同步執行:設定wait_for_completion=true,命令會等待快照建立完成後再返回結果。

  • 非同步執行:設定wait_for_completion=false,命令會立即返回,快照在後台建立。您可以通過以下命令查看快照狀態,當返回結果中state欄位為SUCCESS時,表示建立完成。

    GET /_snapshot/{repo-name}/{snapshot-name}/_status

請求體參數

indices

指定要備份的索引,支援萬用字元*,多個索引以逗號,分隔。預設為所有索引。

說明

使用萬用字元*會備份系統索引表,若不想備份或恢複系統索引表,可以通過僅指定要備份和恢複的索引,或者使用-排除掉系統索引表。

ignore_unavailable

當指定的索引不存在時,是否忽略該索引並繼續建立快照。預設為false(即失敗)。

partial

是否允許建立部分快照。如果設定為true,即使部分分區失敗,仍會儲存成功分區的資料。預設為false

樣本

請將以下的參數替換為您的實際資訊

curl -X PUT "https://{pc-endpoint}:3001/_snapshot/{repo-name}/{snapshot-name}?wait_for_completion=true" \
  -u "{username}:{passwd}" \
  -H "Content-Type: application/json" \
  -d '{
    "indices": "{index-name}",
    "ignore_unavailable": false
  }'

查看快照

查看您OSS快照倉庫中的所有快照資訊。您可使用以下API進行查看:

GET /_snapshot/{repo-name}/_all?pretty

樣本

請將以下的參數替換為您的實際資訊

curl -X GET "https://{pc-endpoint}:3001/_snapshot/{repo-name}/_all?pretty" -u "{username}:{passwd}"

恢複資料

執行以下命令,從指定快照中恢複索引資料。您可使用以下API進行恢複:

說明

若需將一個PolarSearch叢集的快照恢複至另一個PolarSearch叢集,則目標PolarSearch叢集需註冊與源PolarSearch叢集相同的快照倉庫。如果恢複操作在同一個PolarSearch叢集內進行,則無需再次註冊,可直接執行資料恢複。

POST /_snapshot/{repo-name}/{snapshot-name}/_restore?wait_for_completion=true
{
  "indices": "{index-name}",
  "ignore_unavailable": true
}

參數說明

參數分類

參數名

說明

請求參數

wait_for_completion

是否同步等待快照恢複完成。預設為false

  • 同步執行:設定wait_for_completion=true,命令會等待恢複完成後再返回。

  • 非同步執行:設定wait_for_completion=false,命令會立即返回,恢複任務在後台進行。您可以通過以下命令查看索引的恢複進度,當stage欄位為DONE時,表示恢複完成。

    GET /{index-name}/_recovery

請求體參數

indices

指定要恢複的索引,支援萬用字元*,多個索引以逗號,分隔。預設為所有索引。

ignore_unavailable

當指定的索引不存在時,是否忽略該索引並繼續建立快照。預設為false(即失敗)。

partial

是否允許建立部分快照。如果設定為true,即使部分分區失敗,仍會儲存成功分區的資料。預設為false

index_settings

在恢複時覆蓋快照中的索引設定。例如,您可以修改副本數量以適應目的地組群的配置。

ignore_index_settings

指定在恢複時需要忽略的索引設定列表,通常用於忽略原特有的配置。

樣本

請將以下的參數替換為您的實際資訊

curl -X POST "https://{pc-endpoint}:3001/_snapshot/{repo-name}/{snapshot-name}/_restore?wait_for_completion=true" \
  -u "{username}:{passwd}" \
  -H "Content-Type: application/json" \
  -d '{
    "indices": "{index-name}",
    "ignore_unavailable": true
  }'