本页面介绍了如何在 Google Distributed Cloud (GDC) 气隙环境中为虚拟机 (VM) 创建备份存储库。
在创建备份或快照之前,您必须定义至少一个可在多个备份或快照之间共享的备份代码库。备份代码库用于告知备份系统在何处存储或检索备份。 虚拟机的备份代码库仅限于管理 API 服务器。
准备工作
如需创建备份存储库,您必须具备以下条件:
- 存储桶及其对应的 S3 凭据。
必要的身份和访问权限角色:
- 组织备份管理员:管理用户集群中的备份和恢复计划等备份资源。请让您的组织 IAM 管理员向您授予组织备份管理员 (
organization-backup-admin
) 角色。如需了解详情,请参阅角色定义。
- 组织备份管理员:管理用户集群中的备份和恢复计划等备份资源。请让您的组织 IAM 管理员向您授予组织备份管理员 (
创建备份仓库
使用 GDC 控制台或 API 创建代码库。
控制台
- 登录 GDC 控制台。
- 在导航菜单中,依次点击 Backup for Virtual Machines > 代码库。
- 点击创建代码库。
- 输入代码库名称和可选说明。
- 在 S3 URI 端点字段中,输入对象存储网站的完全限定域名。
- 在存储桶名称字段中,输入存储桶的名称。
- 在存储桶区域字段中,输入存储桶的创建区域。
- 在访问密钥 ID 列表中,输入访问密钥 ID。
- 在访问密钥字段中,输入访问密钥。
- 点击创建。
API
使用您的凭据创建 ClusterBackupRepository
自定义资源。
将凭据(
access-key
和access-key-id
)作为 Secret 添加到 Management API 服务器,以便与可用于备份和恢复许多不同虚拟机的存储桶进行通信。此 Secret 会添加到 Management API 服务器,以自动执行备份和恢复操作。此密钥不存在于任何正在备份或恢复的虚拟机中。凭据必须类似于以下示例:apiVersion: v1 kind: Namespace metadata: name: "s3-secret-ns" labels: name: "s3-secret-ns" --- apiVersion: v1 kind: Secret metadata: namespace: "s3-secret-ns" name: "s3-secret" type: Opaque data: access-key-id: YWNjZXNzS2V5MQ== # echo -n accessKey1 | base64 -w0 access-key: dmVyeVNlY3JldEtleTE= # echo -n verySecretKey1 | base64 -w0
直接在 Management API 服务器中创建
ClusterBackupRepository
:apiVersion: backup.gdc.goog/v1 kind: ClusterBackupRepository metadata: name: REPOSITORY_NAME spec: secretReference: namespace: STORAGE_NAMESPACE name: STORAGE_NAME endpoint: ENDPOINT type: "S3" s3Options: bucket: BUCKET_NAME region: REGION forcePathStyle: FORCE_PATH_STYLE importPolicy: IMPORT_POLICY
替换以下内容:
REPOSITORY_NAME
:备份代码库的名称。STORAGE_NAMESPACE
:包含端点访问凭据的 Secret 的命名空间,例如object-storage-secret-ns
。STORAGE_NAME
:包含端点访问凭据的 Secret 的名称,例如object-storage-secret
。ENDPOINT
:存储系统的完全限定域名,例如https://objectstorage.google.gdch.test
。对于type
字段,仅支持S3
值BUCKET_NAME
:相应存储桶的名称。REGION
:存储桶的创建区域。FORCE_PATH_STYLE
:使用forcePathStyle
字段强制为对象使用路径样式网址。此字段的值必须为true
或false
。IMPORT_POLICY
:设置为以下其中一项:ReadWrite
:此代码库可用于安排或创建备份、备份方案和恢复。ReadOnly
:此代码库只能用于导入和查看备份。无法在此代码库中创建新的备份或资源,但恢复可以使用只读备份并引用只读备份进行恢复。备份代码库用作只读代码库的次数不受限制。
ClusterBackupRepository
会在管理 API 服务器中创建一个具有相同名称的启用读写功能的BackupRepository
资源。