複製資料庫叢集

您可以複製資料庫叢集,建立含有與原始叢集相同資料的新資料庫叢集。複製功能很適合用來建立測試用的資料庫叢集。

事前準備

請確認要複製的來源資料庫叢集已啟用備份服務。

來源資料庫叢集的復原時間範圍可用後,您可以在復原時間範圍內指定時間點,做為複製作業的依據。您不只能複製資料庫叢集的目前狀態,資料庫服務會在您指定的確切時間點,複製新的資料庫叢集。

複製資料庫叢集

您可以使用 GDC 控制台、gdcloud CLI 或 API 複製資料庫叢集:

控制台

  1. 在 GDC 控制台的主選單中,選擇「Database Service」(資料庫服務)。
  2. 選取要複製的資料庫叢集。
  3. 按一下 add_box「複製」。
  4. 在「Create a clone」(建立複製版本) 對話方塊中,指定要複製的時間點,以及新資料庫叢集的 ID。
  5. 按一下「CLONE」。系統會帶您前往新叢集的「資料庫叢集總覽」頁面,您可以在該頁面監控叢集狀態。

gdcloud

使用下列指令複製資料庫叢集:

gdcloud database clusters clone SOURCE \
   DESTINATION --point-in-time POINT_IN_TIME

更改下列內容:

  • <var>SOURCE</var>:要建立複製版本 的資料庫叢集名稱。
  • <var>DESTINATION</var>:要建立的新資料庫叢集名稱。
  • <var>POINT_IN_TIME</var>:時間點的時間戳記,做為複製作業的依據。請使用 RFC 3339 時間戳記格式 (yyyy-MM-dd'T'HH:mm:ss'Z')。時間戳記必須在來源資料庫叢集的復原期間內,否則系統會拒絕複製要求。

API

如要複製資料庫叢集,請建立還原資源:

apiVersion: postgresql.dbadmin.gdc.goog/v1
kind: Restore
metadata:
  name: NEW_DBCLUSTER_NAME_restore
  namespace: NAMESPACE
spec:
  sourceDBCluster: DBCLUSTER_NAME
  pointInTime: "POINT_IN_TIME"
  clonedDBClusterConfig:
    dbclusterName: NEW_DBCLUSTER_NAME

更改下列內容:

  • NEW_DBCLUSTER_NAME:要建立的新資料庫叢集名稱。
  • NAMESPACE:要在其中建立新資料庫叢集的命名空間。
  • POINT_IN_TIME:時間點的時間戳記,做為複製作業的依據。請使用 RFC 3339 時間戳記格式 (yyyy-MM-dd'T'HH:mm:ss'Z')。請在來源資料庫叢集的復原期間內設定時間戳記,否則系統會拒絕複製要求。執行 kubectl get backupplan.o -n NAMESPACE 即可判斷復原時間範圍。