Skip to main content
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

查看和还原ONTAP S3快照

贡献者 netapp-manini netapp-lenida netapp-dbagwell netapp-bhouser netapp-aaron-holt

从ONTAP 9.16.1 开始,您可以从 S3 客户端查看和浏览存储桶的 S3 快照数据。从ONTAP 9.18.1 开始,可以使用ONTAP CLI 直接访问 S3 快照存储桶。此外,您还可以从 S3 快照在 S3 客户端上恢复单个对象、一组对象或整个存储桶。

开始之前
  • 集群中的所有节点必须运行ONTAP 9.18.1 或更高版本,才能在ONTAP CLI 中以原生方式执行存储桶快照恢复操作。从ONTAP 9.18,1 开始,不再需要 S3 浏览器,但操作仍然受支持。

  • 在给定的存储桶上,一次只允许执行一次快照恢复操作。

关于此任务

从ONTAP 9.16.1 开始, ONTAP S3 快照功能为ONTAP S3 存储桶提供基本的快照功能,包括手动和计划快照的创建和删除、S3 存储桶的快照策略以及基于 S3 客户端的快照浏览。

从ONTAP 9.18.1 开始, ONTAP增加了对原生快照恢复的支持,使ONTAP管理员无需使用 S3 浏览器即可实现时间点恢复功能。快照中仅捕获当前存储桶版本。版本历史记录不会被捕获,也不会通过 S3 快照还原操作进行还原。

列出并查看S3快照

您可以查看S3快照详细信息、对其进行比较并确定错误。使用ONTAP命令行界面、您可以列出在S3存储分段上创建的所有快照。

步骤
  1. 列出S3快照:

    vserver object-store-server bucket snapshot show

    您可以查看集群上所有存储桶创建的 S3 快照的快照名称、存储虚拟机、存储桶、创建时间和实例 UUID。

  2. 您还可以指定存储桶名称,以查看为该特定存储桶创建的所有 S3 快照的名称、创建时间和实例 UUID。

    vserver object-store-server bucket snapshot show -vserver <svm_name> -bucket <bucket_name>

浏览S3快照内容

如果您发现环境中存在任何故障或问题、可以浏览S3存储分段快照的内容以确定错误。您还可以浏览S3快照以确定要还原的无错误内容。

S3 快照以快照存储桶的形式呈现给 S3 客户端。快照存储桶名称的格式为: <base_bucket_name>-s3snap-<snapshot_name> 。您可以使用以下方法查看存储虚拟机中的所有快照存储桶: ListBuckets S3 API 操作。

S3 快照存储桶继承了基础存储桶的访问策略,并且仅支持只读操作。禁止执行删除和写入操作。如果您拥有访问基础存储桶的权限,您还可以对 S3 快照存储桶执行只读的 S3 API 操作,例如: HeadObjectGetObjectGetObjectTaggingListObjectsListObjectVersionsGetObjectAcl , 和 CopyObject

备注 只有当S3快照分段是源分段的快照时、才支持此 `CopyObject`操作、而不是当它是快照的存储目标时。

有关这些操作的详细信息,请参见"ONTAP S3 支持的操作"

使用ONTAP从 S3 快照恢复存储桶

从ONTAP 9.18.1 开始,您可以使用ONTAP CLI 通过ONTAP S3 快照恢复整个存储桶。您只能恢复在创建所选快照时存在的存储桶版本。

步骤
  1. 确定要用于恢复存储桶的快照:

    vserver object-store-server bucket snapshot show
  2. 恢复存储桶:

    vserver object-store-server bucket snapshot restore start -vserver <storage VM name> -bucket <bucket name> -snapshot <snapshot name>

使用 S3 客户端从 S3 存储桶快照恢复数据

除了在ONTAP中恢复整个存储桶之外,您还可以使用 S3 客户端(如 S3cmd 或 S3 Browser)从 S3 快照恢复单个对象、一组对象或整个存储桶。

您可以使用以下方法恢复整个存储桶、具有特定前缀的对象或单个对象: `aws s3 cp`命令。

步骤
  1. 为基础S3存储分段创建快照。

    vserver object-store-server bucket snapshot create -vserver <svm_name> -bucket <base_bucket_name> -snapshot <snapshot_name>
  2. 使用快照还原基本分段:

    • 还原整个存储分段。使用格式的快照分段名称 <base_bucket_name>-s3snap-<snapshot_name>

      aws --endpoint http://<IP> s3 cp s3://<snapshot-bucket-name> s3://<base-bucket>  --recursive
    • 还原目录中带有前缀的对象 dir1

      aws --endpoint http://<IP> s3 cp s3://<snapshot-bucket-name>/dir1 s3://<base_bucket_name>/dir1 --recursive
    • 还原名为的单个对象 web.py

      aws --endpoint http://<IP> s3 cp s3:// <snapshot-bucket-name>/web.py s3://<base_bucket_name>/web.py