执行选择性文件恢复

本页介绍了如何执行选择性文件恢复

准备工作

在执行选择性文件恢复之前,请查看以下前提条件:

  • 快照配置:必须能够看到启动恢复的目标卷的快照目录。在基于备份创建新卷页面中,选中使快照目录可见复选框。如需了解详情,请参阅创建新卷

  • Google Cloud CLI 版本:如需使用选择性文件恢复功能,请确保您的 Google Cloud CLI 版本至少为 540.0.0

    如需验证和更新 Google Cloud CLI 版本,请执行以下操作:

    1. 检查您的 Google Cloud CLI 版本:

      gcloud --version
      
    2. 如果您的 Google Cloud CLI 版本低于 540.0.0,请更新它:

      gcloud components update
      

执行选择性文件恢复

您可以通过以下方式使用选择性文件恢复来恢复文件:

  • 将文件恢复到源卷和同一源目录。

  • 将文件恢复到源卷中的其他目录。

  • 将文件恢复到您选择的目录中的新卷。

选择性文件恢复支持区域内备份和跨区域备份。此流程介绍了三种不同的情况:

情形 1:在同一源目录中将源卷恢复到同一区域

按照以下说明使用 Google Cloud CLI 执行区域内选择性文件恢复。

gcloud

如需执行选择性文件恢复,请执行以下操作:

gcloud netapp volumes restore-backup-files DESTINATION_VOLUME_NAME \
  --location=LOCATION --project=PROJECT_ID \
  --backup=projects/PROJECT_ID/locations/LOCATION/backupVaults/VAULT_NAME/backups/BACKUP_NAME \
  --file-list=FILE_LIST \
  --restore-destination-path=RESTORE_DESTINATION_PATH

替换以下信息:

  • DESTINATION_VOLUME_NAME:恢复操作的目标卷的名称。这可以是创建备份的原始卷,也可以是新卷。

  • LOCATION:卷所在的区域。

  • PROJECT_ID:创建卷和存储池的项目的 ID。

  • VAULT_NAME:备份保险柜的名称。支持区域内备份保险柜和跨区域备份保险柜。

  • BACKUP_NAME:包含要恢复的文件的备份的名称。

  • FILE_LIST:所选备份中需要恢复的文件路径的英文逗号分隔列表。

  • RESTORE_DESTINATION_PATH(可选:文件将恢复到的具体路径。如果此参数中未提供任何路径,则执行就地恢复。

示例:

假设对名为 sfr-demo-vol-1 的源卷的备份执行了选择性文件恢复操作。此源卷备份到名为 sfr-demo-vault-in-region 的备份保险柜中的 sfr-demo-backup-1

源卷包含三个文本文件:

  • 1.txt

  • 2.txt

  • directory/3.txt

在区域内备份保险柜中发现了备份 sfr-demo-backup-1。文件 directory/3.txt 及其父目录将从源卷中移除。然后,使用特定参数执行恢复操作。

系统会将 sfr-demo-backup-1 中的文件 directory/3.txt 恢复到源卷。

恢复文件:

gcloud netapp volumes restore-backup-files sfr-demo-vol-1
--location=us-central1 --project=my-project
--backup=projects/my-project/locations/us-central1/backupVaults/sfr-demo-vault-in-region/backups/sfr-demo-backup-1
--file-list=/directory/3.txt --restore-destination-path=/directory/

系统会提示您确认恢复操作:

You are about to restore files from a backup to Volume
projects/my-project/locations/us-central1/volumes/sfr-demo-vol-1.
Are you sure?

Do you want to continue (Y/n)? Y

操作成功完成:

Waiting for [operation-1758048175178-63eef7cfac198-a94afb9b-913b60d5] to finish...done.
'@type': type.googleapis.com/google.cloud.netapp.v1.RestoreBackupFilesResponse

情形 2:跨区域恢复到新目录中的新卷

按照以下说明使用 Google Cloud CLI 执行跨区域选择性文件恢复。

gcloud

如需执行选择性文件恢复,请执行以下操作:

gcloud netapp volumes restore-backup-files DESTINATION_VOLUME_NAME \
  --location=LOCATION --project=PROJECT_ID \
  --backup=projects/PROJECT_ID/locations/LOCATION/backupVaults/VAULT_NAME/backups/BACKUP_NAME \
  --file-list=FILE_LIST \
  --restore-destination-path=RESTORE_DESTINATION_PATH

替换以下信息:

  • DESTINATION_VOLUME_NAME:恢复操作的目标卷的名称。这可以是创建备份的原始卷,也可以是新卷。

  • LOCATION:卷所在的区域。

  • PROJECT_ID:创建卷和存储池的项目的 ID。

  • VAULT_NAME:备份保险柜的名称。支持区域内备份保险柜和跨区域备份保险柜。

  • BACKUP_NAME:包含要恢复的文件的备份的名称。

  • FILE_LIST:所选备份中需要恢复的文件路径的英文逗号分隔列表。

  • RESTORE_DESTINATION_PATH(可选:文件将恢复到的具体路径。如果此参数中未提供任何路径,则执行就地恢复。

示例:

假设对名为 sfr-demo-vol-2 的源卷的备份执行了选择性文件恢复操作。此源卷备份到名为 sfr-demo-vault-cross-region 的备份保险柜中的 sfr-demo-backup

源卷包含两个文本文件:

  • 1.txt

  • 2.txt

在跨区域备份保险柜中发现了一个备份 (sfr-demo-backup),其源区域为 us-central1,目标区域为 us-east4。创建备份后,文件 1.txt 已从源卷中移除。

sfr-demo-backup 中的文件 1.txt 将恢复到名为 sfr-demo-vol-3 的新卷中的新目录 test

恢复文件:

gcloud netapp volumes restore-backup-files sfr-demo-vol-3
--location=us-central1 --project=my-project
--backup=projects/my-project/locations/us-central1/backupVaults/sfr-demo-vault-cross-region/backups/sfr-demo-backup
--file-list=/1.txt --restore-destination-path=/test

系统会提示您确认恢复操作:

You are about to restore files from a backup to Volume
projects/my-project/locations/us-central1/volumes/sfr-demo-vol-3.
Are you sure?

Do you want to continue (Y/n)? Y

确认后,操作成功。

Waiting for [operation-1758050930422-63ef02134743f-8761c12f-b05a405e] to finish...done.
'@type': type.googleapis.com/google.cloud.netapp.v1.RestoreBackupFilesResponse

情形 3:就地恢复到新卷

按照以下说明使用 Google Cloud CLI 执行就地选择性文件恢复。

gcloud

如需执行选择性文件恢复,请执行以下操作:

gcloud netapp volumes restore-backup-files DESTINATION_VOLUME_NAME \
  --location=LOCATION --project=PROJECT_ID \
  --backup=projects/PROJECT_ID/locations/LOCATION/backupVaults/VAULT_NAME/backups/BACKUP_NAME \
  --file-list=FILE_LIST

替换以下信息:

  • DESTINATION_VOLUME_NAME:恢复操作的目标卷的名称。这可以是创建备份的原始卷,也可以是新卷。

  • LOCATION:卷所在的区域。

  • PROJECT_ID:创建卷和存储池的项目的 ID。

  • VAULT_NAME:备份保险柜的名称。支持区域内备份保险柜和跨区域备份保险柜。

  • BACKUP_NAME:包含要恢复的文件的备份的名称。

  • FILE_LIST:所选备份中需要恢复的文件路径的英文逗号分隔列表。

示例:

假设对名为 sfr-demo-vol-2 的源卷的备份执行了选择性文件恢复操作。此源卷备份到名为 sfr-demo-vault-cross-region 的备份保险柜中的 sfr-demo-backup

源卷包含两个文本文件:

  • 1.txt

  • 2.txt

在跨区域备份保险柜中发现了一个备份 (sfr-demo-backup),其源区域为 us-central1,目标区域为 us-east4。创建备份后,文件 1.txt 已从源卷中移除。

系统会将 sfr-demo-backup 中的文件 1.txt 恢复到名为 sfr-demo-vol-3 的新卷,但不会指定恢复操作的目录。

恢复文件:

gcloud netapp volumes restore-backup-files sfr-demo-vol-3
--location=us-central1 --project=my-project
--backup=projects/my-project/locations/us-central1/backupVaults/sfr-demo-vault-cross-region/backups/sfr-demo-backup
--file-list=/1.txt

系统会提示您确认恢复操作:

You are about to restore files from a backup to Volume
projects/my-project/locations/us-central1/volumes/sfr-demo-vol-3.
Are you sure?

Do you want to continue (Y/n)? Y

确认后,操作成功。

Waiting for [operation-1758875604584-63fb0239d87b7-1035ba74-caed1838] to finish...done.
'@type': type.googleapis.com/google.cloud.netapp.v1.RestoreBackupFilesResponse