您可以克隆数据库集群,以创建包含与原始集群相同数据的新数据库集群。克隆是创建数据库集群以进行测试的好方法。
准备工作
确保要克隆的来源数据库集群已启用备份服务。
在源数据库集群的恢复窗口可用后,您可以指定恢复窗口内的一个时间点作为克隆的基础。您不仅可以克隆数据库集群的当前状态,数据库服务会在您指定的确切时间点克隆新的数据库集群。
克隆数据库集群
您可以使用 GDC 控制台、gdcloud CLI 或 API 克隆数据库集群:
控制台
- 在 GDC 控制台的主菜单中,选择数据库服务。
- 选择要克隆的数据库集群。
- 点击 add_box 克隆。
- 在创建克隆对话框中,指定要克隆的时间点,并为新数据库集群指定 ID。
- 点击克隆。这会将您带到新集群的“数据库集群概览”页面,您可以在其中监控其状态。
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
如需克隆数据库集群,请创建 Restore 资源:
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以确定恢复时段。