您可以複製資料庫叢集,建立含有與原始叢集相同資料的新資料庫叢集。複製功能很適合用來建立測試用的資料庫叢集。
事前準備
請確認要複製的來源資料庫叢集已啟用備份服務。
來源資料庫叢集的復原時間範圍可用後,您可以在復原時間範圍內指定時間點,做為複製作業的依據。您不只能複製資料庫叢集的目前狀態,資料庫服務會在您指定的確切時間點,複製新的資料庫叢集。
複製資料庫叢集
您可以使用 GDC 控制台、gdcloud CLI 或 API 複製資料庫叢集:
控制台
- 在 GDC 控制台的主選單中,選擇「Database Service」(資料庫服務)。
- 選取要複製的資料庫叢集。
- 按一下 add_box「複製」。
- 在「Create a clone」(建立複製版本) 對話方塊中,指定要複製的時間點,以及新資料庫叢集的 ID。
- 按一下「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即可判斷復原時間範圍。