托管文件系统 - 通过 Amazon FSx 和 EFS 实现的高性能共享存储
解说利用 Amazon FSx 和 Amazon EFS 构建 / 运维托管文件系统的方法。
云文件系统的必要性与 AWS 的选项
许多企业应用程序需要可以从多台服务器和容器同时访问的共享文件系统。在内容管理系统、机器学习的训练数据、大数据分析的工作负载、主目录的共享等场景中,基于文件的存储依然发挥着重要作用。在本地环境中,会运维 NetApp 或 Dell EMC 的 NAS 设备、Windows 文件服务器等,但容量规划、硬件维护、备份管理、性能调优会耗费工时。AWS 提供 Amazon EFS(Elastic File System)和 Amazon FSx 系列这 2 种托管文件存储服务,减轻这些运维负担。EFS 是面向 Linux 工作负载的 NFS 文件系统。FSx 则提供 4 种文件系统类型,其中 2 种是 Windows(FSx for Windows File Server)和高性能计算(FSx for Lustre)。另外 2 种是 NetApp ONTAP(FSx for NetApp ONTAP)和 OpenZFS(FSx for OpenZFS)。
Amazon EFS 的特点与用例
Amazon EFS 是无服务器、全托管的 NFS 文件系统。容量会根据数据量自动扩展 / 缩减,无需事先预置。它可以从大量 EC2 实例、ECS 任务、Lambda 函数同时挂载,并符合 NFS v4.1 协议。EFS 的存储类别有 Standard 和不频繁访问(IA)等,文件系统的类型从 Regional 和 One Zone 中选择。EFS Intelligent-Tiering 根据访问模式在存储类别之间自动移动文件,降低存储成本。EFS 也易于与无服务器架构组合,并支持从 Lambda 函数直接挂载。在突增吞吐量模式下,在拥有突增积分期间,每 1 TiB 的 Standard 存储可以将吞吐量提高到 100 MiB/s(最低 100 MiB/s)。如果选择预置吞吐量模式,可以不受存储容量影响地获得所需的吞吐量。
Amazon FSx 系列的利用
Amazon FSx 提供按用途区分的 4 种文件系统类型。FSx for Windows File Server 支持 SMB 协议,具备 Active Directory 集成、DFS 命名空间、卷影副本等 Windows 原生功能。它是从本地 Windows 文件服务器迁移时的候选方案,可以沿用现有的组策略和访问权限。FSx for Lustre 是面向高性能计算(HPC)和机器学习训练的文件系统,用于需要高吞吐量和高 IOPS 的处理。通过与 S3 存储桶的透明集成,可以将 S3 上的数据集作为高速文件系统直接访问。以下是创建 FSx for Lustre 文件系统的 CLI 示例。 aws fsx create-file-system --file-system-type LUSTRE --storage-capacity 1200 --subnet-ids subnet-0123456789abcdef0 --lustre-configuration DeploymentType=PERSISTENT_2,PerUnitStorageThroughput=250,DataCompressionType=LZ4 FSx for NetApp ONTAP 支持从本地 NetApp 环境迁移,可以在 AWS 上使用 SnapMirror、FlexClone、数据重复删除等 ONTAP 功能。FSx for OpenZFS 作为具备快照、克隆、数据压缩功能的通用文件系统,适用于开发环境和数据库的后端存储。
FSx 与 EFS 的费用比较
EFS Standard 每 GB 每月约 0.30 美元,EFS IA 约 0.016 美元(截至 2026 年 8 月)。FSx for Lustre 每 GB 每月约 0.14 美元(SSD),FSx for Windows 约 0.13 美元(SSD)。FSx for ONTAP 约 0.125 美元(SSD),通过分层存储可以将不频繁访问的数据自动迁移到 S3。根据工作负载的特性(POSIX 兼容、Windows 兼容、高吞吐量)选择文件系统,并通过生命周期管理降低成本。
文件系统选型的要点
托管文件系统的选型取决于应用程序所需的协议和工作负载的特性。如果希望从 Linux 系列的服务器和容器以标准的共享方式访问,并且不必在意容量地使用,自动扩缩的类型是易于使用的选择。如果 Windows 应用程序需要与 Windows 标准的共享方式和身份验证基础设施集成,则选择支持这些功能的类型。对于大规模计算处理中要求高吞吐量的用途,面向高性能计算的类型是合适的。不是一刀切地决定,而是根据连接方式 / 性能要求 / 与现有环境的契合度,判断适合工作负载的类型。
总结 - 托管文件系统的选择指南
按目的分别使用服务:Linux 工作负载使用 EFS,Windows 环境使用 FSx for Windows File Server。HPC 和 ML 使用 FSx for Lustre,NetApp 迁移使用 FSx for NetApp ONTAP。EFS 的 Intelligent-Tiering 带来的存储类别自动移动、FSx for Lustre 的 S3 集成带来的数据访问、FSx for Windows File Server 的 Active Directory 集成,都是在各自用例中有用的功能。重要的是从协议要求、性能要求、与现有环境的兼容性这 3 个维度判断文件系统的选择。
参考资料(AWS 官方)
本页的第一手信息来源是 AWS 官方网站及官方文档。最新的规格与价格请以下列官方页面为准。
如本页内容与官方文档不一致,请以官方文档为准。