alloydbctl 和 Ansible 搭配使用,以应用这些清单配置,并自动备份到 Cloud Storage、标准 Amazon S3 存储桶或符合 S3 标准的软件(例如 MinIO)。
如需启用 AlloyDB Omni 持续备份和恢复,您必须为每个数据库集群创建备份方案。系统会根据 BackupPlan 资源中定义的备份时间表进行备份。您可以使用 Backup 资源或恢复时段中的任意时间戳(精确到秒)进行恢复。
AlloyDB Omni 通过清单管理自动备份和恢复:
BackupPlan:每个数据库集群可以有一个或多个BackupPlan清单,这些清单在不同备份层级具有不同的配置和时间表。Backup:根据BackupPlan清单启动完整备份、差分备份或增量备份。Restore:使用特定备份或时间点启动数据库集群的原位恢复。
准备工作
在设置和配置备份方案之前,请确保您已做好以下准备:
备份的存储位置:AlloyDB Omni 会将备份存储在以下存储选项之一中:
身份验证凭证:如果您的存储选项需要身份验证密钥(例如 Amazon S3、MinIO 或具有特定服务账号的 Cloud Storage),则必须先创建包含这些凭证的
Secret资源,然后才能创建备份方案。如需查看相关说明,请参阅创建 Secret 资源以对存储空间进行身份验证。
创建 Secret 资源以验证存储空间
如果您使用的存储空间需要身份验证,则必须先创建 Secret 资源,然后才能创建备份方案。
为 Cloud Storage 创建 Secret 资源
- 创建服务账号以便向存储桶添加备份。
- 向存储桶中的服务账号授予
roles/storage.objectAdminIdentity and Access Management 角色。 - 生成 JSON 格式的服务账号密钥。
- 以 base64 格式对下载的 JSON 密钥文件的内容进行编码。运行
base64 -w 0或确保编码文本是单独的一行连续文本。 创建
Secret资源清单。data部分中的键名称必须为key.json。Secret: metadata: name: SECRET_NAME spec: type: Opaque data: key.json: "BASE64_ENCODED_JSON_KEY"替换以下内容:
SECRET_NAME:Secret资源的名称。BASE64_ENCODED_JSON_KEY:服务账号 JSON 密钥文件的 base64 编码内容。
为 S3 或 S3 兼容存储空间创建 Secret 资源
- 以 base64 格式对您的 S3 访问密钥 ID 进行编码。
- 以 base64 格式对 S3 私有访问密钥进行编码。
创建
Secret资源清单。data部分中的键名称必须是access-key-id和access-key。Secret: metadata: name: SECRET_NAME spec: type: Opaque data: access-key-id: "BASE64_ENCODED_ACCESS_KEY_ID" access-key: "BASE64_ENCODED_SECRET_ACCESS_KEY"替换以下内容:
SECRET_NAME:Secret资源的名称。BASE64_ENCODED_ACCESS_KEY_ID:base64 编码的 S3 访问密钥 ID。BASE64_ENCODED_SECRET_ACCESS_KEY:经过 base64 编码的 S3 私有访问密钥。
应用 Secret 资源
在应用 BackupPlan 清单之前,请先应用 Secret 资源清单。
您可以使用以下任一方法应用 Secret 资源清单:
alloydbctl
如需使用 alloydbctl 应用 Secret 资源清单,请运行以下命令:
alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "SECRET_MANIFEST"执行以下变量替换操作:
DEPLOYMENT_SPEC_PATH:您在安装 AlloyDB Omni 组件中创建的部署规范的路径。SECRET_MANIFEST:您创建的Secret资源清单的路径。
Ansible
如需使用 Ansible 应用 Secret 资源清单,请完成以下操作:
为
Secret资源清单创建 playbook:- name: Create Secret hosts: localhost become: true vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.backup执行以下变量替换操作:
ANSIBLE_USER:Ansible 用于登录 AlloyDB Omni 节点的操作系统用户。ANSIBLE_SSH_PRIVATE_KEY_FILE:Ansible 用于通过 SSH 连接到 AlloyDB Omni 节点的私钥。
应用
Secret资源清单:ansible-playbook SECRET_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="SECRET_MANIFEST"执行以下变量替换操作:
SECRET_PLAYBOOK:您为Secret资源清单创建的 playbook 的路径。DEPLOYMENT_SPEC_PATH:您在安装 AlloyDB Omni 组件中创建的部署规范的路径。SECRET_MANIFEST:您创建的Secret资源清单的路径。
创建备份方案
使用适合您存储选项的格式创建
BackupPlan清单:Cloud Storage
gcsOptions是必填字段。BackupPlan: metadata: name: BACKUP_PLAN_NAME spec: dbclusterRef: DBCLUSTER_NAME backupLocation: type: GCS gcsOptions: bucket: BUCKET_NAME key: BUCKET_PATH secretRef: name: SECRET_NAME backupRetainDays: RETAIN_DAYS backupSchedules: full: "FULL_SCHEDULE" differential: "DIFF_SCHEDULE" incremental: "INC_SCHEDULE"执行以下变量替换操作:
BACKUP_PLAN_NAME:BackupPlan清单的名称。例如my-backup-plan-1。DBCLUSTER_NAME:您在创建集群中定义的数据库集群的名称。BUCKET_NAME:您创建的 Cloud Storage 存储桶的名称。BUCKET_PATH:Cloud Storage 中备份应写入到的目录的路径。您必须提供以/开头的绝对路径。 例如/backups。SECRET_NAME(可选):存储身份验证密钥的Secret资源的名称。RETAIN_DAYS(可选):在自动删除备份之前保留备份的天数。FULL_SCHEDULE(可选):完整备份的 cron 计划表达式。例如0 2 * * *。DIFF_SCHEDULE(可选):差分备份的 cron 时间表表达式。例如0 2 * * *。INC_SCHEDULE(可选):增量备份的 cron 时间表表达式。例如0 2 * * *。
Amazon S3 或 S3 兼容
s3Options是必填字段。BackupPlan: metadata: name: BACKUP_PLAN_NAME spec: dbclusterRef: DBCLUSTER_NAME backupLocation: type: S3 s3Options: bucket: BUCKET_NAME key: BUCKET_PATH endpoint: ENDPOINT_URL region: REGION secretRef: name: SECRET_NAME backupRetainDays: RETAIN_DAYS backupSchedules: full: "FULL_SCHEDULE" differential: "DIFF_SCHEDULE" incremental: "INC_SCHEDULE"执行以下变量替换操作:
BACKUP_PLAN_NAME:BackupPlan清单的名称。例如my-backup-plan-1。DBCLUSTER_NAME:您在创建集群中定义的数据库集群的名称。BUCKET_NAME:您创建的 S3 存储桶的名称。BUCKET_PATH:S3 存储桶中备份应写入的目录的路径。您必须提供以/开头的绝对路径。例如/backups。ENDPOINT_URL:用于连接到符合 S3 标准的软件(例如 MinIO)的自定义端点网址。例如http://minio.example.com:9000。对于 Amazon S3 存储桶,您无需提供任何端点网址。REGION_(可选):存储桶的区域。在连接到标准 Amazon S3 存储桶或强制执行区域验证的 S3 兼容软件时,此参数为必需参数。SECRET_NAME:对您之前创建的Secret资源的引用,其中包含您的ACCESS_KEY_ID和SECRET_ACCESS_KEY。RETAIN_DAYS(可选):在自动删除备份之前保留备份的天数。FULL_SCHEDULE(可选):完整备份的 cron 计划表达式。例如0 2 * * *。DIFF_SCHEDULE(可选):差分备份的 cron 时间表表达式。例如0 2 * * *。INC_SCHEDULE(可选):增量备份的 cron 时间表表达式。例如0 2 * * *。
使用以下任一方法应用备份方案:
alloydbctl应用
BackupPlan资源:alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "BACKUP_PLAN_MANIFEST"执行以下变量替换操作:
DEPLOYMENT_SPEC_PATH:您在安装 AlloyDB Omni 组件中创建的部署规范的路径。BACKUP_PLAN_MANIFEST:您之前创建的BackupPlan清单的路径。
确认
BackupPlan清单的状态字段status.phase为Ready。如果清单文件尚未准备就绪,请等待其准备就绪:alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t BackupPlan -n BACKUP_PLAN_NAME -o yaml
Ansible
为
BackupPlan清单创建 playbook:- name: BACKUP_PLAN_PLAYBOOK_NAME hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.backup执行以下变量替换操作:
BACKUP_PLAN_PLAYBOOK_NAME:Ansible playbook 的名称。例如My BackupPlan。 记下 playbook 的路径,因为下一步需要用到。ANSIBLE_USER:Ansible 用于登录 AlloyDB Omni 节点的操作系统用户的名称。ANSIBLE_SSH_PRIVATE_KEY_FILE:Ansible 用于通过 SSH 连接到 AlloyDB Omni 节点的私钥。
应用
BackupPlan资源:ansible-playbook BACKUP_PLAN_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="BACKUP_PLAN_MANIFEST"执行以下变量替换操作:
BACKUP_PLAN_PLAYBOOK:您之前为BackupPlan清单创建的 playbook 的路径。DEPLOYMENT_SPEC_PATH:您在安装 AlloyDB Omni 组件中创建的部署规范的路径。BACKUP_PLAN_MANIFEST:您之前创建的BackupPlan清单的路径。
如果您还没有
status.yamlplaybook,请创建一个。如需了解如何创建 playbook,请参阅查看状态和列出备份资源。确认
BackupPlan清单的状态字段status.phase是否为Ready。如果清单文件尚未准备就绪,请等待其准备就绪:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \ -e resource_name=BACKUP_PLAN_NAME
更新备份方案
如需更新备份方案以更改备份时间表、修改保留期限或暂停计划备份,请修改 BackupPlan 清单,然后重新应用该清单。
打开您在创建备份方案中创建的
BackupPlan清单。修改要更新的字段。
- 如需更新备份时间表,请修改
backupSchedules下的 cron 表达式。 - 如需更新保留期限,请修改
backupRetainDays。 - 如需暂停预定备份,请将
paused字段添加到spec部分,并将其设置为true。如需恢复备份,请将该字段设置为false或移除该字段。
例如,以下示例将保留天数更新为
30,修改full和differential时间表,添加incremental时间表,并暂停备份方案:BackupPlan: metadata: name: BACKUP_PLAN_NAME spec: dbclusterRef: DBCLUSTER_NAME backupLocation: type: GCS gcsOptions: bucket: BUCKET_NAME key: BUCKET_PATH secretRef: name: SECRET_NAME backupRetainDays: 30 backupSchedules: full: "0 4 * * *" differential: "0 0 * * 0" incremental: "0 12 * * *" paused: true- 如需更新备份时间表,请修改
使用以下任一方法应用更新后的备份方案:
alloydbctl应用
BackupPlan资源:alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "BACKUP_PLAN_MANIFEST"执行以下变量替换操作:
DEPLOYMENT_SPEC_PATH:您在安装 AlloyDB Omni 组件中创建的部署规范的路径。BACKUP_PLAN_MANIFEST:您修改的BackupPlan清单的路径。
确认
BackupPlan清单的状态字段status.phase为Ready。如果清单文件尚未准备就绪,请等待其准备就绪:alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t BackupPlan -n BACKUP_PLAN_NAME -o yaml
Ansible
使用您在创建备份方案中创建的 playbook 应用更新后的
BackupPlan资源:ansible-playbook BACKUP_PLAN_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="BACKUP_PLAN_MANIFEST"执行以下变量替换操作:
BACKUP_PLAN_PLAYBOOK:您为BackupPlan清单创建的 playbook 的路径。DEPLOYMENT_SPEC_PATH:您在安装 AlloyDB Omni 组件中创建的部署规范的路径。BACKUP_PLAN_MANIFEST:您修改的BackupPlan清单的路径。
如果您还没有
status.yamlplaybook,请创建一个。如需了解如何创建 playbook,请参阅查看状态和列出备份资源。确认
BackupPlan清单的状态字段status.phase为Ready。如果清单尚未准备就绪,请等待其准备就绪后再进行验证:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \ -e resource_name=BACKUP_PLAN_NAME
删除备份方案
如需删除备份方案,请使用以下任一方法:
alloydbctl
alloydbctl delete -d "DEPLOYMENT_SPEC_PATH" -t BackupPlan -n BACKUP_PLAN_NAME执行以下变量替换操作:
DEPLOYMENT_SPEC_PATH:您在安装 AlloyDB Omni 组件中创建的部署规范的路径。BACKUP_PLAN_NAME:要删除的BackupPlan清单的名称。
Ansible
创建用于删除
BackupPlan清单的 playbook。- name: BACKUP_PLAN_DELETE_PLAYBOOK_NAME hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.delete执行以下变量替换操作:
BACKUP_PLAN_DELETE_PLAYBOOK_NAME: Ansible playbook 的名称。ANSIBLE_USER:Ansible 用于登录 AlloyDB Omni 节点的操作系统用户。ANSIBLE_SSH_PRIVATE_KEY_FILE:Ansible 用于通过 SSH 连接到 AlloyDB Omni 节点的私钥。
运行
ansible-playbook以删除BackupPlan清单。ansible-playbook BACKUP_PLAN_DELETE_PLAYBOOK_NAME -i "DEPLOYMENT_SPEC_PATH" -e resource_type=BackupPlan \ -e resource_name=BACKUP_PLAN_NAME执行以下变量替换操作:
BACKUP_PLAN_DELETE_PLAYBOOK_NAME:您在上一步中创建的用于删除BackupPlan清单的 playbook 的路径。DEPLOYMENT_SPEC_PATH:您在安装 AlloyDB Omni 组件中创建的部署规范的路径。BACKUP_PLAN_NAME:要删除的BackupPlan清单的名称。
创建备份
如需创建并启动备份,请使用以下任一方法:
alloydbctl
使用以下格式创建
Backup清单:Backup: metadata: name: BACKUP_NAME spec: backupPlanRef: BACKUP_PLAN_NAME dbclusterRef: DBCLUSTER_NAME type: full执行以下变量替换操作:
BACKUP_NAME:Backup清单的名称。例如my-backup-1。BACKUP_PLAN_NAME:您之前创建的BackupPlan清单的名称。例如my-backup-plan-1。DBCLUSTER_NAME:您在创建集群中定义的数据库集群的名称。type(可选):备份执行类型,可设置为full、diff或incr。默认值为full。
应用
Backup清单:alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "BACKUP_MANIFEST"执行以下变量替换操作:
DEPLOYMENT_SPEC_PATH:您在安装 AlloyDB Omni 组件中创建的部署规范的路径。BACKUP_MANIFEST:您之前创建的Backup清单的路径。
确认
Backup清单的状态字段status.phase为Succeeded。如果清单未成功,请等待直至成功:alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t Backup -n BACKUP_NAME -o yaml通过验证
/backup/db文件夹是否存在,确认备份文件是否位于您的存储桶中。
Ansible
使用以下格式创建
Backup清单:Backup: metadata: name: BACKUP_NAME spec: backupPlanRef: BACKUP_PLAN_NAME dbclusterRef: DBCLUSTER_NAME type: full执行以下变量替换操作:
BACKUP_NAME:Backup清单的名称。例如my-backup-1。BACKUP_PLAN_NAME:您之前创建的BackupPlan清单的名称。例如my-backup-plan-1。DBCLUSTER_NAME:您在创建集群中定义的数据库集群的名称。type(可选):备份执行类型,可设置为full、diff或incr。默认值为full。
为
Backup清单创建 playbook:- name: BACKUP_PLAYBOOK_NAME hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.backup执行以下变量替换操作:
BACKUP_PLAYBOOK_NAME:Ansible playbook 的名称。例如My Backup。ANSIBLE_USER:Ansible 用于登录 AlloyDB Omni 节点的操作系统用户的名称。ANSIBLE_SSH_PRIVATE_KEY_FILE:Ansible 用于通过 SSH 连接到 AlloyDB Omni 节点的私钥。
应用
Backup清单:ansible-playbook BACKUP_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="BACKUP_MANIFEST"执行以下变量替换操作:
BACKUP_PLAYBOOK:您之前为创建的Backup清单创建的 playbook 的路径。DEPLOYMENT_SPEC_PATH:您在安装 AlloyDB Omni 组件中创建的部署规范的路径。BACKUP_MANIFEST:您之前创建的Backup清单的路径。
如果您还没有
status.yamlplaybook,请创建一个。如需了解如何创建 playbook,请参阅查看状态和列出备份资源。确认
Backup清单的状态字段status.phase为Succeeded。如果清单尚未成功,请等待其成功后再进行验证:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Backup \ -e resource_name=BACKUP_NAME通过验证
/backup/db文件夹是否存在,确认备份文件在存储桶中可用。
删除备份
如需删除备份,请运行以下命令之一:
alloydbctl
alloydbctl delete -d "DEPLOYMENT_SPEC_PATH" -t Backup -n BACKUP_NAME执行以下变量替换操作:
DEPLOYMENT_SPEC_PATH:您在安装 AlloyDB Omni 组件中创建的部署规范的路径。BACKUP_NAME:要删除的Backup清单的名称。
Ansible
创建一个用于删除
Backup清单的 playbook。- name: BACKUP_DELETE_PLAYBOOK_NAME hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.delete执行以下变量替换操作:
BACKUP_DELETE_PLAYBOOK_NAME: Ansible playbook 的名称。ANSIBLE_USER:Ansible 用于登录 AlloyDB Omni 节点的操作系统用户。ANSIBLE_SSH_PRIVATE_KEY_FILE:Ansible 用于通过 SSH 连接到 AlloyDB Omni 节点的私钥。
运行
ansible-playbook以删除Backup清单。ansible-playbook BACKUP_DELETE_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Backup \ -e resource_name=BACKUP_NAME执行以下变量替换操作:
BACKUP_DELETE_PLAYBOOK:您在上一步中为删除Backup清单而创建的 playbook 的路径。DEPLOYMENT_SPEC_PATH:您在安装 AlloyDB Omni 组件中创建的部署规范的路径。BACKUP_NAME:要删除的Backup清单的名称。
从备份或时间点 (PITR) 恢复
如需从备份恢复数据,请应用 Restore 清单。RPM 编排器会执行就地恢复,这会直接修改目标数据库集群,而无需启动克隆的集群或手动执行脚本。
如需从备份进行恢复,请使用以下任一方法:
alloydbctl
使用以下格式创建
Restore清单:- 如需从特定命名备份进行恢复,请运行以下命令:
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME backup: BACKUP_NAME如需执行时间点恢复 (PITR),请执行以下操作:
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME pointInTime: "TIMESTAMP"
执行以下变量替换操作:
RESTORE_NAME:此Restore清单的名称。例如my-restore-1。DBCLUSTER_NAME:要就地恢复的目标数据库集群的名称。BACKUP_NAME:要从中恢复的已完成Backup清单的名称。TIMESTAMP:RFC 3339 时间戳,用于标识要恢复到的确切时间点。例如2026-06-19T14:30:00Z。
应用
Restore清单:alloydbctl apply -d "DEPLOYMENT_SPEC_PATH" -r "RESTORE_MANIFEST"执行以下变量替换操作:
DEPLOYMENT_SPEC_PATH:您在安装 AlloyDB Omni 组件中创建的部署规范的路径。RESTORE_MANIFEST:您在第 1 步中创建的Restore清单规范文件的路径。
确认
Restore清单的status.phase已转换为Succeeded:alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t Restore -n RESTORE_NAME -o yaml
Ansible
使用以下格式创建
Restore清单:- 如需从特定命名备份进行恢复,请运行以下命令:
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME backup: BACKUP_NAME如需执行时间点恢复 (PITR),请执行以下操作:
Restore: metadata: name: RESTORE_NAME spec: sourceDBCluster: DBCLUSTER_NAME pointInTime: "TIMESTAMP"
执行以下变量替换操作:
RESTORE_NAME:此Restore清单的名称。例如my-restore-1。DBCLUSTER_NAME:要就地恢复的目标数据库集群的名称。BACKUP_NAME:要从中恢复的已完成Backup清单的名称。TIMESTAMP:RFC 3339 时间戳,用于标识要恢复到的确切时间点。例如2026-06-19T14:30:00Z。
为
Restore清单创建 playbook:- name: RESTORE_PLAYBOOK_NAME hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.restore执行以下变量替换操作:
RESTORE_PLAYBOOK_NAME:Ansible playbook 的名称。ANSIBLE_USER:Ansible 用于登录 AlloyDB Omni 节点的操作系统用户。ANSIBLE_SSH_PRIVATE_KEY_FILE:Ansible 用于通过 SSH 连接到 AlloyDB Omni 节点的私钥。
应用
Restore清单:ansible-playbook RESTORE_PLAYBOOK -i "DEPLOYMENT_SPEC_PATH" \ -e resource_spec="RESTORE_MANIFEST"执行以下变量替换操作:
RESTORE_PLAYBOOK:您在第 2 步中为Restore清单创建的 playbook 的路径。DEPLOYMENT_SPEC_PATH:部署规范的路径。RESTORE_MANIFEST:您在第 1 步中创建的Restore清单规范文件的路径。
如果您还没有
status.yamlplaybook,请创建一个。如需了解如何创建 playbook,请参阅查看状态和列出备份资源。确认
Restore清单的status.phase转换为Succeeded:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=Restore \ -e resource_name=RESTORE_NAME
查看状态并列出备份资源
如需查看 BackupPlan、Backup 和 Restore 资源的状态或列出这些资源,请使用以下任一方法:
alloydbctl
如需列出特定类型的所有资源,请运行 alloydbctl get 命令:
alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t RESOURCE_TYPE如需查看特定资源的状态,请运行 alloydbctl get 命令,并将资源名称和输出格式设置为 yaml:
alloydbctl get -d "DEPLOYMENT_SPEC_PATH" -t RESOURCE_TYPE -n RESOURCE_NAME -o yaml执行以下变量替换操作:
DEPLOYMENT_SPEC_PATH:部署规范的路径。RESOURCE_TYPE:资源类型。请将此设置为BackupPlan、Backup或Restore。RESOURCE_NAME:您要查看状态的资源的名称。
Ansible
如需使用 Ansible 查看资源的状态或列出资源,请使用 google.alloydbomni_orchestrator.status 角色。
使用以下格式创建 playbook(例如
status.yaml):- name: Get resource status hosts: localhost vars: ansible_user: ANSIBLE_USER ansible_ssh_private_key_file: ANSIBLE_SSH_PRIVATE_KEY_FILE roles: - role: google.alloydbomni_orchestrator.status执行以下变量替换操作:
ANSIBLE_USER:Ansible 用于登录节点的操作系统用户。ANSIBLE_SSH_PRIVATE_KEY_FILE:Ansible 用于通过 SSH 连接到节点的私钥。
运行 playbook。
如需列出特定类型的所有资源,请使用
resource_type变量运行 playbook:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=RESOURCE_TYPE如需查看特定资源的状态,请运行包含
resource_type和resource_name变量的 playbook:ansible-playbook status.yaml -i "DEPLOYMENT_SPEC_PATH" -e resource_type=RESOURCE_TYPE \ -e resource_name=RESOURCE_NAME执行以下变量替换操作:
DEPLOYMENT_SPEC_PATH:部署规范的路径。RESOURCE_TYPE:资源类型。请将此设置为BackupPlan、Backup或Restore。RESOURCE_NAME:您要查看其状态的资源的名称。
限制
- 如果
BackupPlan状态显示ConfigurationFailed,并带有failed to create stanza(退出代码39),您可以授予存储桶roles/storage.objectAdmin角色并重新应用清单,以恢复协调。无需删除BackupPlan。