View a markdown version of this page

动态增加存储容量 - FSx for ONTAP

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

动态增加存储容量

当已使用的 SSD 存储容量超过指定的阈值时,您可以使用以下解决方案来动态增加 FSx for ONTAP 文件系统的 SSD 存储容量。此 AWS CloudFormation 模板自动部署定义存储容量阈值所需的所有组件、基于该阈值的 Amazon CloudWatch 警报以及增加文件系统存储容量的 AWS Lambda 函数。

该解决方案会自动部署所需的所有组件,并采用以下参数:

  • 您的 FSx for ONTAP 文件系统 ID。

  • 已使用的 SSD 存储容量阈值(数值)。这是触发 CloudWatch 警报的百分比。

  • 存储容量的增加百分比(%)。

  • 用于接收扩展通知的电子邮件地址。

架构概述

部署此解决方案将在 AWS Cloud中生成以下资源。

旨在自动增加 FSx for ONTAP 文件系统存储容量的解决方案的架构图。

下图说明了以下步骤:

  1. 该 CloudFormation 模板部署了 CloudWatch 警报、 AWS Lambda 函数、亚马逊简单通知服务 (Amazon SNS) 队列和所有必需 AWS Identity and Access Management (IAM) 角色。IAM 角色授予 Lambda 函数调用 Amazon FSx API 操作的权限。

  2. CloudWatch 当文件系统的已用存储容量超过指定阈值时触发警报,并向 Amazon SNS 队列发送消息。仅当文件系统的已用容量连续 5 分钟超过阈值时,警报才会被触发。

  3. 然后,该解决方案会触发订阅此 Amazon SNS 主题的 Lambda 函数。

  4. Lambda 函数根据指定的百分比增长值计算新的文件系统存储容量,并设置新的文件系统存储容量。

  5. Lambda 函数操作的原始 CloudWatch 警报状态和结果将发送到 Amazon SNS 队列。

要接收有关为响应 CloudWatch 警报而执行的操作的通知,您必须通过订阅确认电子邮件中提供的链接确认 Amazon SNS 主题订阅。

CloudFormation 模板

该解决方案 CloudFormation 用于自动部署用于自动增加 FSx for ONTAP 文件系统的存储容量的组件。要使用此解决方案,请下载FSxOntapDynamicStorageScaling CloudFormation 模板。

该模板根据文件系统最近的使用增长率调整存储容量增量,而不是对每个警报应用固定百分比。调度器会自动重试冷却时间窗口阻止的存储扩展。

该模板使用如下所述的参数。查看模板参数及其默认值,并根据文件系统的需求对它们进行修改。

FileSystemId

无默认值。您想要自动增加存储容量的文件系统的 ID。

LowFreeDataStorageCapacityThreshold

无默认值。指定触发警报并增加文件系统存储容量要达到的已用存储容量的阈值,以文件系统的当前存储容量的百分比(%)形式指定。当已用存储空间超过此阈值时,则视为文件系统的可用存储容量不足。

EmailAddress

无默认值。指定 SNS 订阅使用的电子邮件地址,并接收存储容量阈值警报。

Lambdas3Bucket

无默认值。您的账户中托管扩展函数的 Lambda 部署包 (lambda_function.zip) 的 Amazon S3 存储桶的名称。在部署堆栈之前,您必须将 Lambda 代码上传到此存储桶。

Lambdas3Key

默认为 fsx/DynamicScaling /lambda_function.zip 。其中 Lambda 部署包的亚马逊 S3 对象密钥。LambdaS3Bucket

PercentIncrease

默认值为 20%(允许范围为 10% 100%)。指定增加存储容量的基本百分比,以当前存储容量的百分比表示。如果EnableIntelligentScalingtrue,模板会根据文件系统最近的增长率向上或向下调整增量,并将结果限制为的值。MaxIncrementPercent

EnableIntelligentScaling

默认值为 true 。当时true,Lambda 函数根据 CloudWatch 指标计算存储增长率,并针对快速增长的文件系统向上扩展增量,向下扩展缓慢的文件系统的增量。当时false,模板将固定PercentIncrease值应用于每个警报。

MaxIncrementPercent

默认值为 100%(允许范围为 10% 500%)。指定智能缩放可以应用的最大百分比增量。调整后的增量限制在10%和该值之间。

GrowthThresholds

无默认值。增长率等级的可选 JSON 数组[[threshold_percent_per_day, multiplier, "label"], ...],其形式替代了智能扩展使用的内置默认值。留空即可使用内置等级。

MinHoursBetweenScaling

默认值为 6 小时(允许范围 1 24)。指定在同一个文件系统上进行两次扩展操作之间的最短时间。冷却期间触发的警报会被推迟并自动重试。

MaxRetryAttempts

默认值为 12(允许的范围 1 50)。指定冷却时间窗口阻止缩放时的最大重试次数。

RetryDelayMinutes

默认值为 5 分钟(允许范围 1 60)。指定两次连续重试之间的延迟。

RetryBufferMinutes

默认值为 5 分钟(允许范围 0 60)。指定冷却时间到期后首次重试运行之前添加的缓冲时间。

ScheduleCleanupAgeDays

默认值为 7 天(允许的范围 1 30)。指定清理旧的调度程序重试计划的期限。

使用自动部署 CloudFormation

以下过程配置和部署 CloudFormation 堆栈以自动增加 FSx for ONTAP 文件系统的存储容量。部署需要花几分钟时间。有关创建 CloudFormation 堆栈的更多信息,请参阅AWS CloudFormation 用户指南中的在 AWS CloudFormation 控制台上创建堆栈

注意

实施此解决方案需要支付相关 AWS 服务的账单。有关更多信息,请参阅有关这些服务的定价详细信息页面。

在开始之前,您必须拥有在您的 AWS 账户亚马逊虚拟私有云(亚马逊 VPC)中运行的亚马逊 FSx 文件系统的 ID。有关如何创建 Amazon FSx 资源的更多信息,请参阅开始使用适用于 ONTAP 的 Amazon FSx NetApp

在部署堆栈之前,您还必须将 Lambda 部署包托管在账户的 Amazon S3 存储桶中。下载 lambda_function.zip 部署包并将其上传到您的存储桶,无需解压即可。您可以使用和LambdaS3Key参数为堆栈提供存储桶名称LambdaS3Bucket和对象密钥。

启动自动存储容量增加解决方案堆栈
  1. 下载FSxOntapDynamicStorageScaling CloudFormation 模板存档。

    注意

    亚马逊 FSx 目前仅在特定 AWS 地区可用。您必须在提供 Amazon FSx 的 AWS 地区启动此解决方案。有关更多信息,请参阅《AWS 一般参考》中的 Amazon FSx 端点和配额

  2. FSxOntapDynamicStorageScaling.yaml从下载的档案中提取。您可以通过以下步骤将提取的 YAML 模板文件上传到 CloudFormation 。

  3. 在 CloudFormation 控制台中,选择 “创建堆栈” > “使用新资源”

  4. 选择模板已就绪。在指定模板部分中,选择上传模板文件,然后上传您下载的模板。

  5. 指定堆栈详细信息中,输入自动存储容量增加解决方案的值。

    为 CloudFormation 模板的 “指定堆栈详细信息” 页面输入的值
  6. 输入堆栈名称

  7. 对于参数,请查看模板参数并根据文件系统的需求对其进行修改。然后选择下一步

    注意

    要在尝试使用此 CloudFormation 模板进行扩展时接收电子邮件通知,请确认您在部署模板后收到的 SNS 订阅电子邮件。

  8. 输入自定义解决方案所需的选项设置,然后选择下一步

  9. 对于审核,请审核并确认解决方案设置。必须选择确认模板创建 IAM 资源对应的复选框。

  10. 选择创建以部署堆栈。

您可以在 CloudFormation 控制台的 “状态” 列中查看堆栈的状态。您应该会在几分钟后看到 CREATE_COMPLETE 状态。

更新堆栈

创建堆栈后,您可以使用相同的模板并为参数提供新值,从而对其进行更新。有关更多信息,请参阅《AWS CloudFormation 用户指南》中的直接更新堆栈