在 FSx 上管理适用于 Windows File Server 的存储 - Amazon FSx for Windows File Server
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

在 FSx 上管理适用于 Windows File Server 的存储

您的文件系统的存储配置包括预配置的存储容量、存储类型以及 SSD IOPS 量(如果存储类型为固态硬盘 (SSD))。在创建文件系统时和创建文件系统之后,您可以配置这些资源以及文件系统的吞吐容量,以实现工作负载所需的性能。通过浏览以下主题,了解如何使用 Amazon Web Services Management Console Amazon CLI、和 Amazon FSx CLI 进行远程管理 PowerShell 来管理文件系统的存储和与存储相关的性能。

优化存储成本

您可以使用适用于 Windows 的 FSx 中提供的存储配置选项来优化存储成本。

存储类型选项 — FSx for Windows File Server 提供两种存储类型,硬盘驱动器 (HDD) 和固态硬盘 (SSD),使您能够优化成本/性能以满足工作负载需求。HDD 存储专为各种工作负载而设计,包括主目录、用户和部门共享以及内容管理系统。SSD 存储专为性能最高、对延迟最敏感的工作负载而设计,包括数据库、媒体处理工作负载和数据分析应用程序。有关存储类型和文件系统性能的更多信息,请参见FSx for Windows File Server 性能

重复数据删除-大型数据集通常包含冗余数据,这会增加数据存储成本。例如,用户文件共享可以有同一文件的多个副本,由多个用户存储。软件开发共享可以包含许多在各个内部版本中都保持不变的二进制文件。您可以通过为文件系统开启重复数据删除功能来降低数据存储成本。开启后,重复数据删除只存储一次数据集的重复部分,从而自动减少或消除多余的数据。有关重复数据删除以及如何为 Amazon FSx 文件系统轻松启用重复数据删除功能的更多信息,请参阅 通过重复数据删除降低存储成本

管理存储容量

随着存储需求的变化,您可以增加 FSx for Windows 文件系统的存储容量。您可以使用 Amazon FSx 控制台、Amazon RDS API 或 Amazon Command Line Interface (Amazon CLI)来实现。计划增加存储容量时需要考虑的因素包括了解何时需要增加存储容量、了解 Amazon FSx 如何处理存储容量增加以及跟踪存储容量增加请求的进度。您只能增加文件系统的存储容量;不能减少存储容量。

注意

对于 2019 年 6 月 23 日之前创建的文件系统,或者从 2019 年 6 月 23 日之前创建的文件系统的备份中恢复的文件系统,无法增加其存储容量。

增加 Amazon FSx 文件系统的存储容量时,Amazon FSx 会在后台为文件系统添加一组容量更大的新磁盘。然后,Amazon FSx 在后台运行存储优化流程,以透明方式将数据从旧磁盘迁移到新磁盘。存储优化可能需要几小时到几天的时间,对工作负载性能的影响微乎其微。在此优化期间,备份使用率会暂时增加,因为文件系统级备份中既包含旧存储卷也包含新存储卷。包含这两组存储卷是为了确保 Amazon FSx 即使在存储扩展活动期间也能成功获取备份以及从备份中恢复。备份历史记录中不再包含旧存储卷后,备份使用率将恢复到之前的基准水平。新存储容量可用后,您只需为新存储容量付费。

下图显示了 Amazon FSx 在增加文件系统存储容量时采用的四个主要步骤。

图示 4 个步骤:1. 存储容量增加请求,2. FSx 添加更大容量的新磁盘,3. FSx 迁移数据,以及 4. FSx 删除旧磁盘。

您可以随时使用 Amazon FSx 控制台、CLI 或 API 跟踪存储优化、SSD 存储容量增加或 SSD IOPS 更新的进度。有关更多信息,请参阅 监控存储容量增加

关于增加文件系统的存储容量需要知道什么

以下是增加存储容量时需要考虑的几个重要事项:

  • 仅增加 – 您可以仅增加文件系统的存储容量;不得减少存储容量。

  • 最低增量 – 每次增加的存储容量必须至少为文件系统当前存储容量的 10%,最大允许值为 65536 GiB。

  • 最低吞吐能力 – 要增加存储容量,文件系统的最低吞吐能力必须为 16 MB/s。这是因为存储优化步骤是一个吞吐量密集型过程。

  • 两次增加的间隔时间 – 在上次增加请求后 6 小时或存储优化过程完成(以较长的时间为准)之前,无法进一步增加文件系统的存储容量。存储优化可能需要几个小时到几天的时间才能完成。为了最大限度地缩短完成存储优化所需的时间,我们建议在增加存储容量之前先增加文件系统的吞吐能力(在存储扩展完成之后可以缩减吞吐能力),并在文件系统上流量最低时增加存储容量。

注意

某些文件系统事件可能会消耗磁盘 I/O 性能资源。例如:

存储容量扩展的优化阶段可能会增加磁盘吞吐量,并可能导致性能警告。有关更多信息,请参阅 性能警告和建议

知道何时增加存储容量

当文件系统的可用存储容量不足时,请增加其存储容量。使用该FreeStorageCapacity CloudWatch 指标来监控文件系统上的可用存储量。您可以根据此指标创建 Amazon CloudWatch 警报,并在该指标降至特定阈值以下时收到通知。有关更多信息,请参阅 使用 Amazon 进行监控 CloudWatch

我们建议在文件系统上始终保持至少 10% 的可用存储容量。使用所有存储容量可能会对性能产生负面影响,并可能会导致数据不一致。

可用存储容量低于您指定的定义阈值时,您可以自动增加文件系统的存储容量。使用 Amazon开发的自定义 Amazon CloudFormation 模板部署实施自动化解决方案所需的所有组件。有关更多信息,请参阅 动态增加存储容量

增加存储容量并提升文件系统性能

新存储容量可用后,Amazon FSx 会在后台运行存储优化流程,对大多数工作负载性能的影响微乎其微。具有大型活动数据集的写入密集型应用程序可能会暂时出现写入性能降低多达一半的情况。对于这些情况,您可以先增加文件系统的吞吐能力,然后再增加存储容量。这使您能够继续提供相同级别的吞吐量,满足应用程序的性能需求。有关更多信息,请参阅 在 FSx 上管理 Windows File Server 文件系统的吞吐容量

为 Windows 文件系统的存储类型管理你的 FSx

您可以使用 Amazon Web Services Management Console 和将文件系统存储类型从 HDD 更改为 SSD Amazon CLI。将存储类型更改为 SSD 时,请记住,在请求上次更新后 6 小时或存储优化过程完成(以时间较长为准)之前,您无法再次更新文件系统配置。存储优化可能需要几小时到几天才能完成。为了最大限度地缩短这段时间,我们建议您在文件系统上的流量最小时更新存储类型。有关更多信息,请参阅 更新适用于 Windows 文件系统的 FSx 的存储类型

无法将文件系统存储类型从 SSD 更改为 HDD。如果要将文件系统的存储类型从 HDD 更改为 SSD,则需要将文件系统的备份恢复到配置为使用 HDD 存储的新文件系统。有关更多信息,请参阅 将备份恢复到新文件系统

关于存储类型

您可以将适用于 Windows File Server 文件系统的 FSx 配置为使用固态硬盘 (SSD) 或磁性硬盘驱动器 (HDD) 存储类型。

SSD 存储适用于大多数具有高性能要求和延迟敏感性的生产工作负载。这些工作负载的示例包括数据库、数据分析、媒体处理和业务应用程序。对于涉及大量最终用户、高 I/O 级别或包含大量小文件的数据集的使用案例,我们也建议使用 SSD。最后,如果您计划启用影子副本,我们建议您使用 SSD 存储。SSD 存储文件系统可配置和扩展 SSD IOPS,但 HDD 存储不能。

HDD 存储专为各种工作负载而设计,包括主目录、用户和部门文件共享以及内容管理系统。与 SSD 存储相比,HDD 存储的成本更低,但延迟更高,单位存储磁盘吞吐量和磁盘 IOPS 也更低。它可能适用于 I/O 要求较低的通用用户共享和主目录、不经常检索数据的大型内容管理系统(CMS)或包含少量大文件的数据集。

有关更多信息,请参阅 存储配置和性能

管理 SSD IOPS

对于配置了 SSD 存储的文件系统,SSD IOPS 的数量决定了文件系统必须从磁盘读取数据和向磁盘写入数据时可用的磁盘 I/O 量,而不是缓存中的数据。您可以独立于存储容量来选择和扩展 SSD IOPS 量。您可以预置的最大 SSD IOPS 取决于您为文件系统选择的存储容量和吞吐能力。如果您尝试将固态硬盘 IOPS 提高到吞吐容量所支持的限制以上,则可能需要增加吞吐容量才能获得该级别的 SSD IOPS。有关更多信息,请参阅 FSx for Windows File Server 性能在 FSx 上管理 Windows File Server 文件系统的吞吐容量

以下是有关更新文件系统的预配置 SSD IOPS 的一些重要注意事项:

  • 选择 IOPS 模式 — 有两种 IOPS 模式可供选择:

    • 自动 — 选择此模式,Amazon FSx 将自动扩展您的固态硬盘 IOPS,以保持每 GiB 存储容量 3 个固态硬盘 IOPS,每个文件系统最多保持 400,000 个固态硬盘 IOPS。

    • 用户配置 — 选择此模式,这样您就可以在 96—400,000 范围内指定固态硬盘 IOPS 的数量。为所有可用 A Amazon Web Services 区域 mazon FSx 的地方指定一个介于每 GiB 存储容量 3—50 IOPS 之间的数字,或者在美国东部(弗吉尼亚北部)、美国西部(俄勒冈)、美国东部(俄亥俄州)、欧洲(爱尔兰)、亚太地区(东京)和亚太地区(新加坡),指定每 GiB 存储容量 3-500 IOPS 之间的数字。当您选择用户配置模式,并且您指定的固态硬盘 IOPS 量不至少为每 GiB 3 IOPS 时,请求将失败。对于更高级别的预置 SSD IOPS,如果每个文件系统每 GiB 的平均 IOPS 超过 3,则需付费。

  • 存储容量更新 — 如果您增加文件系统的存储容量,并且默认情况下所需的固态硬盘 IOPS 量大于当前用户配置的 SSD IOPS 级别,则 Amazon FSx 会自动将您的文件系统切换到自动模式,并且您的文件系统每 GiB 存储容量将至少有 3 个 SSD IOPS。

  • 吞吐能力更新 – 如果您提高了吞吐能力,且新吞吐能力支持的最大 SSD IOPS 高于用户预置的 SSD IOPS 级别,则 Amazon FSx 会自动将您的文件系统切换到自动模式。

  • 固态硬盘 IOPS 的频率增加 — 在上次请求增加 6 小时后,或者直到存储优化过程完成(以较长的时间为准),您才能进一步提高 SSD IOPS、增加吞吐量容量或更新文件系统的存储类型。存储优化可能需要几个小时到几天的时间才能完成。为了最大限度地缩短完成存储优化所需的时间,我们建议在文件系统流量最小的时候扩展 SSD IOPS。

注意

请注意,只有以下地区支持 4,608 Mbps 及更高的吞吐容量级别 Amazon Web Services 区域:美国东部(弗吉尼亚北部)、美国西部(俄勒冈)、美国东部(俄亥俄州)、欧洲(爱尔兰)、亚太地区(东京)和亚太地区(新加坡)。

有关如何更新适用于 Windows File Server 文件系统的预配置 SSD IOPS 量的更多信息,请参阅。更新文件系统的固态硬盘 IOPS

通过重复数据删除降低存储成本

重复数据删除(通常简称重复数据删除)可帮助存储管理员降低与重复数据相关的成本。借助 Windows File Server for File Server 的 FSx,你可以使用微软重复数据删除来识别和消除冗余数据。大型数据集中通常存在冗余数据,这会增加数据存储成本。例如:

  • 用户文件共享可能有许多相同或相似文件的副本。

  • 软件开发共享可以有许多二进制文件,这些二进制文件从一个版本到另一个版本都保持不变。

您可以通过为文件系统启用重复数据删除来降低数据存储成本。重复数据删除只存储一次数据集的重复部分,从而减少或消除多余的数据。启用重复数据删除时,默认情况下会启用数据压缩,在重复数据删除后压缩数据以进一步节省开支。重复数据删除可在不影响数据保真度或完整性的前提下优化冗余。重复数据删除会作为后台进程运行,能够持续、自动地扫描和优化您的文件系统,并且这对您的用户和连接的客户端是透明的。

能够通过重复数据删除节省的存储容量取决于数据集的性质,包括文件之间存在的重复数据量。通用文件共享通常可节省 50-60% 的成本。在共享中,节省范围为用户文档的 30–50% 到软件开发数据集的 70–80%。您可以使用下面描述的Measure-FSxDedupFileMetadata远程 PowerShell 命令来衡量重复数据删除可能节省的费用。

您还可以自定义重复数据删除以满足您的特定存储需求。例如,您可以将其配置为仅在特定文件类型上运行重复数据删除,也可以创建自定义作业计划。由于重复数据删除作业会消耗文件服务器资源,因此我们建议使用下述命令 Get-FSxDedupStatus 来监控重复数据删除作业的状态。

有关重复数据删除的更多信息,请参阅 Microsoft 了解重复数据删除文档。

注意

请参阅我们的最佳实践:使用重复数据删除的最佳实践。如果您在成功运行重复数据删除作业时遇到问题,请参阅重复数据删除问题排查

警告

我们不建议您运行某些带有重复数据删除功能的 Robocopy 命令,因为这些命令可能会影响 Chunk Store 的数据完整性。有关更多信息,请参阅 Microsoft 重复数据删除互操作性文档。

使用重复数据删除的最佳实践

以下是使用重复数据删除的一些最佳实践:

  • 将重复数据删除作业安排在文件系统空闲时运行:默认计划包括每周六 2:45 UTC 进行 GarbageCollection 作业。如果您的文件系统中有大量数据流失,则可能需要几个小时才能完成。如果此时间不适合您的工作负载,请将此作业安排在您预计文件系统流量较低的时候运行。

  • 为完成重复数据删除配置足够的吞吐能力:更高的吞吐能力可提供更高级别的内存。Microsoft 建议每 1 TB 逻辑数据有 1 GB 的内存来运行重复数据删除。使用 Amazon FSx 性能表来确定与文件系统的吞吐能力关联的内存,并确保内存资源足以容纳您的数据大小。

  • 自定义重复数据删除设置以满足您的特定存储需求并降低性能要求:您可以将优化限制在特定的文件类型或文件夹上运行,或者设置最小文件大小和期限以进行优化。要了解更多信息,请参阅通过重复数据删除降低存储成本

管理重复数据删除

您可以使用 Amazon FSx CLI 来管理文件系统上的重复数据删除,以便在上进行远程 PowerShell管理。有关在上使用 Amazon FSx CLI 远程管理的更多信息 PowerShell,请参阅。使用 Amazon FSx CLI PowerShell

以下是可用于重复数据删除的命令。

重复数据删除命令 描述

Enable-FSxDedup

在文件共享上启用重复数据删除。启用重复数据删除时,系统会默认在重复数据删除后启用数据压缩。

Disable-FSxDedup

在文件共享上禁用重复数据删除。

Get-FSxDedupConfiguration

检索重复数据删除的配置信息,包括用于优化的最小文件大小和期限、压缩设置以及已排除的文件类型和文件夹。

Set-FSxDedupConfiguration

更改重复数据删除的配置设置,包括用于优化的最小文件大小和期限、压缩设置以及已排除的文件类型和文件夹。

Get-FSxDedupStatus

检索重复数据删除状态,并包含只读属性,这些属性描述了文件系统的优化节省和状态、时间以及文件系统上最后一次重复数据删除作业的完成状态。

Get-FSxDedupMetadata

检索重复数据删除的优化元数据。

Update-FSxDedupStatus

计算和检索更新后的重复数据删除节省量信息。

Measure-FSxDedupFileMetadata

衡量和检索在删除一组文件夹后能够在文件系统上回收的潜在存储空间。文件中通常包含与其他文件夹共享的数据块,重复数据删除引擎会计算出哪些是将被删除的唯一数据块。

Get-FSxDedupSchedule

检索当前已定义的重复数据删除计划。

New-FSxDedupSchedule

创建和自定义重复数据删除计划。

Set-FSxDedupSchedule

更改现有重复数据删除计划的配置设置。

Remove-FSxDedupSchedule

删除重复数据删除计划。

Get-FSxDedupJob

获取所有当前正在运行或排队的重复数据删除作业的状态和信息。

Stop-FSxDedupJob

取消一个或多个指定的重复数据删除作业。

每个命令的联机帮助中都提供所有命令选项的参考信息。要访问此帮助,请运行包含 -? 的命令,例如 Enable-FSxDedup -?

启用重复数据删除

您可以使用命令 Enable-FSxDedup 在 Amazon FSx for Windows File Server 文件共享上启用重复数据删除,如下所示。

PS C:\Users\Admin> Invoke-Command -ComputerName amznfsxzzzzzzzz.corp.example.com -ConfigurationName FSxRemoteAdmin -ScriptBlock {Enable-FsxDedup }

启用重复数据删除后,系统将创建默认计划和配置。您可以使用以下命令创建、修改和删除计划和配置。

您可以使用命令 Disable-FSxDedup 在文件系统上完全禁用重复数据删除。

创建重复数据删除计划

尽管在大多数情况下默认计划都能够运行良好,但您可以使用 New-FsxDedupSchedule 命令创建新的重复数据删除计划,如下所示。重复数据删除计划将使用 UTC 时间。

PS C:\Users\Admin> Invoke-Command -ComputerName amznfsxzzzzzzzz.corp.example.com -ConfigurationName FSxRemoteAdmin -ScriptBlock { New-FSxDedupSchedule -Name "CustomOptimization" -Type Optimization -Days Mon,Wed,Sat -Start 08:00 -DurationHours 7 }

此命令会创建一个名为 CustomOptimization 的计划,该计划将在星期一、星期三和星期六运行,每天上午 8:00(UTC)开始作业,最长持续时间为 7 小时,到时即使未完成运行也会停止作业。

请注意,创建新的自定义重复数据删除作业计划不会覆盖或删除现有的默认计划。在创建自定义重复数据删除任务之前,您可能需要禁用不需要的默认作业。

您可以使用 Set-FsxDedupSchedule 命令禁用默认的重复数据删除计划,如下所示。

PS C:\Users\Admin> Invoke-Command -ComputerName amznfsxzzzzzzzz.corp.example.com -ConfigurationName FSxRemoteAdmin -ScriptBlock {Set-FSxDedupSchedule -Name “BackgroundOptimization” -Enabled $false}

您可以使用 Remove-FSxDedupSchedule -Name "ScheduleName" 命令删除重复数据删除计划。请注意,您无法修改或删除默认的 BackgroundOptimization 重复数据删除计划,所以需要将其禁用。

修改重复数据删除计划

您可以使用 Set-FsxDedupSchedule 命令修改现有的重复数据删除计划,如下所示。

PS C:\Users\Admin> Invoke-Command -ComputerName amznfsxzzzzzzzz.corp.example.com -ConfigurationName FSxRemoteAdmin -ScriptBlock { Set-FSxDedupSchedule -Name "CustomOptimization" -Type Optimization -Days Mon,Tues,Wed,Sat -Start 09:00 -DurationHours 9 }

此命令会将现有的 CustomOptimization 计划修改为在星期一至星期三以及星期六运行,每天上午 9:00(UTC)开始作业,最长持续时间为 9 小时,到时即使未完成运行也会停止作业。

要在优化设置之前修改最小文件期限,请使用 Set-FSxDedupConfiguration 命令。

查看节省的空间量

要查看通过运行重复数据删除节省的磁盘空间量,请使用 Get-FSxDedupStatus 命令,如下所示。

PS C:\Users\Admin> Invoke-Command -ComputerName amznfsxzzzzzzzz.corp.example.com -ConfigurationName FsxRemoteAdmin -ScriptBlock { Get-FSxDedupStatus } | select OptimizedFilesCount,OptimizedFilesSize,SavedSpace,OptimizedFilesSavingsRate OptimizedFilesCount OptimizedFilesSize SavedSpace OptimizedFilesSavingsRate ------------------- ------------------ ---------- ------------------------- 12587 31163594 25944826 83
注意

命令响应中显示的以下参数的值不可靠,您不应使用这些值:容量 FreeSpace、 UsedSpace UnoptimizedSize、和 SavingsRate。

重复数据删除问题排查

重复数据删除问题的潜在原因有很多,如下一部分所述。

重复数据删除不起作用

要查看重复数据删除的当前状态,请运行Get-FSxDedupStatus PowerShell 命令以查看最新重复数据删除作业的完成状态。如果一个或多个作业失败,则文件系统的可用存储容量可能不会增加。

重复数据删除作业失败的最常见原因是内存不足。

  • 微软建议最好每 1 TB 的逻辑数据有 1 GB 的内存(或者每 1 TB 的逻辑数据至少有 350 MB 的内存)。使用 Amazon FSx 性能表来确定与文件系统的吞吐能力关联的内存,并确保内存资源足以容纳您的数据大小。如果不是,则需要将文件系统的吞吐容量增加到满足每 1 TB 逻辑数据 1 GB 内存要求的水平。

  • 重复数据删除作业使用 Windows 推荐的默认 25% 内存分配配置,这意味着对于具有 32 GB 内存的文件系统,8 GB 可用于重复数据删除。内存分配是可配置的(使用带参数的Set-FSxDedupSchedule命令–Memory)。请注意,使用更高的内存分配进行重复数据删除可能会影响文件系统的性能。

  • 您可以修改重复数据删除任务的配置以减少所需的内存量。例如,您可以将优化限制为针对特定文件类型或文件夹运行,或者设置优化的最小文件大小和期限。我们还建议将重复数据删除作业配置为在文件系统负载最小的空闲期间运行。

如果重复数据删除作业没有足够的时间完成,也可能会出错。您可能需要更改作业的最长持续时间,如 修改重复数据删除计划 中所述。

如果重复数据删除作业已经失败了很长时间,并且在此期间文件系统上的数据发生了变化,那么后续的重复数据删除作业可能需要更多资源才能首次成功完成。

重复数据删除值意外设置为 0

对于已配置重复数据删除的文件系统,SavedSpaceOptimizedFilesSavingsRate 的值意外设为 0。

在存储优化过程中,当您增加文件系统的存储容量时,可能会发生这种情况。当您增加文件系统的存储容量时,Amazon FSx 会在存储优化过程中取消当前的重复数据删除作业,该过程会将数据从旧磁盘迁移到更大的新磁盘。存储优化作业完成后,Amazon FSx 将恢复文件系统的重复数据删除。有关增加存储容量和存储优化的更多信息,请参阅管理存储容量

删除文件后,文件系统上的空间未被释放

重复数据删除的预期行为是,如果删除的数据是重复数据删除节省空间的内容,那么文件系统上的空间实际上要在垃圾回收作业运行后才会释放。

您可能会发现,将计划设置为在删除大量文件后立即运行垃圾回收作业很有用。垃圾回收作业完成后,您可以将垃圾回收计划恢复回其原始设置。这便可以确保您能立即快速查看删除内容释放的空间。

按照以下步骤将垃圾回收作业设置为 5 分钟后运行。

  1. 要验证是否启用了重复数据删除,请使用 Get-FSxDedupStatus 命令。有关命令及其预期输出的更多信息,请参阅查看节省的空间量

  2. 按照以下步骤将计划设置为垃圾回收作业在从现在起 5 分钟后运行。

    $FiveMinutesFromNowUTC = ((get-date).AddMinutes(5)).ToUniversalTime() $DayOfWeek = $FiveMinutesFromNowUTC.DayOfWeek $Time = $FiveMinutesFromNowUTC.ToString("HH:mm") Invoke-Command -ComputerName ${RPS_ENDPOINT} -ConfigurationName FSxRemoteAdmin -ScriptBlock { Set-FSxDedupSchedule -Name "WeeklyGarbageCollection" -Days $Using:DayOfWeek -Start $Using:Time -DurationHours 9 }
  3. 在运行垃圾回收作业并释放空间后,将计划恢复回其原始设置。