AWS Storage Gateway
用户指南 (API 版本 2013-06-30)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

管理 AWS Storage Gateway 的本地磁盘

网关虚拟机 (VM) 使用您在本地分配的本地磁盘进行缓冲和存储。在 Amazon EC2 实例上创建的网关使用 Amazon EBS 卷作为本地磁盘。

确定本地磁盘存储量

要为网关分配的磁盘的数量和大小由您自己决定。根据您部署的存储解决方案 (请参阅 规划 Storage Gateway 部署),网关需要以下附加存储:

  • 文件网关至少需要一个磁盘用作缓存。

  • 卷网关:

    • 存储网关至少需要一个磁盘用作上传缓冲区。

    • 缓存网关至少需要两个磁盘。一个用作缓存,另一个用作上传缓冲区。

  • 磁带网关至少需要两个磁盘。一个用作缓存,另一个用作上传缓冲区。

下表为所部署的网关推荐了本地磁盘存储的大小。在设置网关后以及工作负载需求增大时,您可以添加更多本地存储。

本地存储 描述 网关类型
上传缓冲区 上传缓冲区在网关将数据上传到 Amazon S3 前为数据提供了一个暂存区域。您的网关通过加密的安全套接字层 (SSL) 连接将此缓冲区数据上传到 AWS。
  • 缓存卷

  • 存储卷

  • 磁带网关

缓存存储空间 缓存存储空间用作等待从上传缓冲区上传到 Amazon S3 的数据的本地持久存储。当应用程序对卷或磁带执行 I/O 时,网关会将数据保存到缓存存储以实现低延迟访问。当您的应用程序请求卷或磁带中的数据时,网关在从 AWS 下载数据前会先检查缓存存储中的数据。
  • 缓存卷

  • 磁带网关

  • 文件网关

注意

预置磁盘时,强烈建议您不要将本地磁盘预置为使用相同物理存储资源(同一磁盘)的上传缓冲区和缓存存储空间。底层物理存储资源在 VMware 中表示为数据存储。部署网关 VM 时,您可选择用来存储 VM 文件的数据存储。预配置本地磁盘 (例如,用作缓存存储空间或上传缓冲区) 时,您可以选择将虚拟磁盘存储在与 VM 相同的数据存储中,也可以选择将其存储在其他数据存储中。

如果您有多个数据存储,强烈建议为缓存存储空间选择一个数据存储,为上传缓冲区选择另一个数据存储。仅由一个底层物理磁盘支持的数据存储在用于同时支持缓存存储空间和上传缓冲区的某些情况下可能导致性能不佳。这同样适用于备份是一个 RAID1 等低性能 RAID 配置的情况。

最初配置并部署网关后,您可以通过添加或删除用于上传缓冲区的磁盘来调整本地存储。还可以添加用于缓存存储空间的磁盘。

确定要分配的上传缓冲区的大小

您可以利用上传缓冲区公式来确定要分配的上传缓冲区的大小。我们强烈建议您至少分配 150 GiB 的上传缓冲区。如果公式返回小于 150 GiB 的值,请将 150 GiB 用作您分配给上传缓冲区的空间量。您可以为每个网关配置高达 2TiB 的上传缓冲区容量。

注意

对于卷网关,当上传缓冲区达到其容量后,您的卷将进入 PASS THROUGH 状态。在此状态中,应用程序写入的新数据将保存在本地,但不会立即上传到 AWS。因此,您不能拍摄新快照。当上传缓冲区容量释放时,该卷将进入“BOOTSTRAPPING”(引导) 状态。在此状态中,保存在本地的任何新数据都将上传到 AWS。最后,该卷将返回到“ACTIVE (活跃)”状态。Storage Gateway 随后使用 AWS 中存储的副本恢复存储在本地的数据的正常同步,并且您可以开始拍摄新快照。有关卷状态的更多信息,请参阅 了解卷状态和转换

对于磁带网关,当上传缓冲区达到其容量后,您的应用程序可继续在存储卷中读写数据。不过,磁带网关不会将任何卷数据写入到其上传缓冲区,也不会将任何此类数据上传到 AWS,直到 Storage Gateway 将本地存储的数据与存储在 AWS 中的数据副本同步。此同步将在卷处于 BOOTSTRAPPING 状态时发生。

若要估算要分配的上传缓冲区的容量,您可以确定所需的传入和传出数据速率,并将它们插入到以下公式。

传入数据的速率

此速率指应用程序吞吐量,亦即您的本地应用程序在某段时间内将数据写入网关的速率。

传出数据的速率

此速率指网络吞吐量,亦即您的网关将数据上传到 AWS 时可达到的速率。此速率取决于您的网络速度、使用率以及您是否启用了带宽限制。该速率应该针对压缩率进行调整。将数据上传到 AWS 时,网关在可能的情况下将实施数据压缩。例如,如果您的应用程序数据为纯文本,您可以获得约 2:1 的有效压缩率。不过,如果您正在写入视频,网关可能无法实现任何数据压缩,并且可能需要更多的网关上传缓冲区。

如果出现以下任一情况:传入速率大于传出速率,或者公式返回的值小于 150 GiB,强烈建议您至少分配 150 GiB 的上传缓冲区空间。

例如,假定您的业务应用程序每天 12 个小时以每秒 40 MB 的速率向网关写入文本数据并且您的网络吞吐量为每秒 12 MB。假定文本数据的压缩系数为 2:1,您将需要为上传缓冲区分配约 690 GiB 的空间。

((40 MB/sec) - (12 MB/sec * 2)) * (12 hours * 3600 seconds/hour) = 691200 megabytes

您可以将此近似值用来初步确定您希望分配给网关作为上传缓冲区空间的磁盘大小。使用 Storage Gateway 控制台按需添加更多的上传缓冲区空间。此外,您也可以使用 Amazon CloudWatch 运行指标来监控上传缓冲区使用率并确定额外的存储空间需求。有关指标及设置警报的更多信息,请参阅 监控上传缓冲区

确定要分配的缓存存储的大小

您的网关使用其缓存存储来提供对最近访问数据的低延迟访问。缓存存储空间用作等待从上传缓冲区上传到 Amazon S3 的数据的本地持久存储。一般而言,将缓存存储空间的大小配置为上传缓冲区大小的 1.1 倍。有关如何估算缓存存储大小的更多信息,请参阅 确定要分配的上传缓冲区的大小

您可以将此近似值用来初步为缓存存储空间预配置磁盘。然后可以使用 Amazon CloudWatch 运行指标来监控缓存存储空间使用率并使用控制台按需预配置更多的存储空间。有关使用指标和设置警报的信息,请参阅 监控缓存卷

添加上传缓冲区或缓存存储

随着应用程序需求的变化,您可以增加网关的上传缓冲区容量或缓存存储容量。您可以向网关添加更多缓冲区空间,无需中断现有的网关功能。在添加更多上传缓冲区容量时,可在开启网关 VM 后这样做。

重要

在向现有网关添加缓存或上传缓冲区时,在主机 (管理程序或 Amazon EC2 实例) 中创建新磁盘至关重要。如果之前已将磁盘分配为缓存或上传缓冲区,请勿更改现有磁盘的大小。请勿删除已分配为缓存存储的缓存磁盘。

以下过程显示如何为网关配置上传缓冲区或缓存存储。

添加和配置上传缓冲区或缓存存储

  1. 在主机(管理程序或 Amazon EC2 实例)中预置新磁盘。有关如何在管理程序中预置磁盘的信息,请参阅您的管理程序的用户手册。有关如何为 Amazon EC2 实例添加 Amazon EBS 卷的信息,请参阅为在 Amazon EC2 上托管的网关添加和删除 Amazon EBS 卷。您将此磁盘配置为上传缓冲区或缓存存储。

  2. 通过以下网址打开 AWS Storage Gateway 控制台:https://console.amazonaws.cn/storagegateway/home

  3. 在导航窗格中,选择 Gateways

  4. Actions 菜单中,选择 Edit local disks

  5. 在“编辑本地磁盘”对话框中,标识您预配置的磁盘,然后确定将哪个磁盘用作上传缓冲区或缓存存储。

    注意

    对于存储卷,只显示上传缓冲区,因为存储卷没有缓存磁盘。

  6. 在下拉列表框的 Allocated to (已分配给) 列中,为要用作上传缓冲区的磁盘选择 Upload Buffer (上传缓冲区)

  7. 对于使用缓存卷和磁带网关创建的网关,为要用作缓存存储的磁盘选择 Cache (缓存)

    如果您未看到自己的磁盘,请选择 Refresh 按钮。

  8. 选择 Save 以保存您的配置设置。

将短暂存储与 EC2 网关结合使用

本节介绍了您在选择临时磁盘作为网关缓存的存储空间时需要执行的用来防止数据丢失的步骤。

临时磁盘为 Amazon EC2 实例提供了临时块级存储。临时磁盘非常适合用于临时存储频繁更改的数据,例如网关的上传缓冲区或缓存存储空间中的数据。当您使用 Amazon EC2 Amazon 系统映像启动了网关并且您选择的实例类型支持短暂存储时,系统将自动列出磁盘,您可以选择其中一个磁盘将数据存储在网关缓存中。有关更多信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例) 中的 Amazon EC2 实例存储

对磁盘的应用程序写入会同步存储在缓存中,然后以异步方式上传到 Amazon S3 中的持久性存储。如果存储在短暂存储中的数据由于 Amazon EC2 实例在数据上传完成之前停止而丢失,那么仍然位于缓存中且尚未上传到 Amazon S3 的数据可能丢失。您可以在重新启动或停止承载网关的 EC2 实例之前执行这些步骤,以防止此类数据丢失。

以下过程中的这些步骤特定于文件网关。

防止使用临时磁盘的文件网关中发生数据丢失

  1. 停止正在写入到文件共享的所有进程。

  2. 订阅以从 CloudWatch Events 接收通知。有关信息,请参阅收到文件上传通知

  3. 调用 NotifyWhenUploaded API,以便在短暂存储丢失之前一直被写入的数据在 Amazon S3 中持久存储时获得通知。

  4. 等待 API 完成,您将收到一个通知 ID。

    您将收到一个具有相同的通知 ID 的 CloudWatch 事件。

  5. 验证文件共享的 CachePercentDirty 指标是否为 0。这将确认您的所有数据都已写入到 Amazon S3。有关文件共享指标的信息,请参阅了解文件共享指标

  6. 您现在可以重新启动或停止文件网关而不用承担丢失任何数据的风险。