Amazon FSx for Lustre 入门
接下来,您可以学习如何开始使用 Amazon FSx for Lustre。这些步骤将引导您创建 Amazon FSx for Lustre 文件系统并从您的计算实例访问该文件系统。或者,它们会向您展示如何使用您的 Amazon FSx for Lustre 文件系统通过基于文件的应用程序来处理 Amazon S3 桶中的数据。
此入门练习包括以下步骤。
先决条件
要进行此次入门练习,您需要:
-
一个具有创建 Amazon FSx for Lustre 文件系统和 Amazon EC2 实例所需权限的 AWS 账户。有关更多信息,请参阅 设置 Amazon FSx for Lustre。
-
创建要与 FSx for Lustre 文件系统关联的 Amazon VPC 安全组,在创建文件系统后不要对其进行更改。有关更多信息,请参阅为 Amazon FSx 文件系统创建安全组。
-
基于 Amazon VPC 服务在您的虚拟私有云(VPC)中运行支持的 Linux 发行版的 Amazon EC2 实例。在此入门练习中,我们建议使用 Amazon Linux 2023。您将在此 EC2 实例上安装 Lustre 客户端,然后在 EC2 实例上挂载您的 FSx for Lustre 文件系统。有关创建 EC2 实例的更多信息,请参阅《Amazon EC2 用户指南》中的入门:启动实例或启动您的实例。
Lustre 客户端支持 Amazon Linux;Amazon Linux 2;Amazon Linux 2023;Red Hat Enterprise Linux 7.7 through 7.9、8.2 - 8.10,以及 9.0、9.3 和 9.4;CentOS 7.7 至 7.9,以及 8.2 - 8.10;Rocky Linux 8.4 - 8.10,9.0、9.3 和 9.4;SUSE Linux Enterprise Server 12 SP3、SP4 和 SP5;以及 Ubuntu 18.04、20.04 和 22.04。有关更多信息,请参阅 Lustre 文件系统和客户端内核的兼容性。
在为此入门练习创建 Amazon EC2 实例时,请记住以下几点:
-
我们建议您在默认 VPC 中创建实例。
-
我们建议您在创建 EC2 实例时使用默认安全组。
-
在每个 FSx for Lustre 文件系统中,每个元数据服务器 (MDS) 和每个存储服务器 (OSS) 各需要一个 IP 地址。
-
对于具有元数据配置的 Persistent_2 文件系统,每个 12000 元数据 IOPS 值还需要在文件系统所处子网内有一个 IP 地址。
-
持久性 SSD 文件系统为每个 OSS 预置 2.4TiB 的存储空间。
-
吞吐能力为 12 MB/s/TiB 的持久性 HDD 文件系统为每个 OSS 预置 6TiB 的存储空间。
-
吞吐能力为 40 MB/s/TiB 的持久性 HDD 文件系统为每个 OSS 预置 1.8TiB 的存储空间。
-
Scratch_2 文件系统为每个 OSS 预置 2.4TiB 的存储空间。
-
Scratch_1 文件系统为每个 OSS 预置 3.6TiB 的存储空间。
-
一个 Amazon S3 桶,用于存储要处理的工作负载数据。S3 桶将成为您的 FSx for Lustre 文件系统的持久链接数据存储库。
确定您要创建临时还是持久性 Amazon FSx for Lustre 文件系统。有关更多信息,请参阅 FSx for Lustre 文件系统的部署选项。
步骤 1:创建 FSx for Lustre 文件系统
在 Amazon FSx 控制台中创建文件系统。
要创建文件系统,请执行以下操作:
-
通过以下网址打开 Amazon FSx 控制台:https://console.aws.amazon.com/fsx/
。 -
在控制面板上,选择创建文件系统以启动文件系统创建向导。
-
选择 FSx for Lustre,然后选择下一步以显示创建文件系统页面。
-
在文件系统详细信息部分提供信息:
在文件系统名称 – 可选部分为您的文件系统提供一个名称。您最多可以使用 256 个 Unicode 字母、空格和数字以及特殊字符 + - = . _ : /。
-
对于部署和存储类型,请选择以下任一选项:
SSD 存储提供低延迟 IOPS 密集型工作负载,这些工作负载通常可操作小型随机文件。HDD 存储提供吞吐量密集型工作负载,这些工作负载通常可操作大型连续文件。
有关存储类型的更多信息,请参阅 多种存储选项。
有关部署类型的更多信息,请参阅 FSx for Lustre 文件系统的部署选项。
有关可对传输中数据进行加密的 AWS 区域 的更多信息,请参阅 加密传输中数据。
对于长期存储和需要最高级别 IOPS/吞吐量的延迟敏感型工作负载,请选择持久性、SSD 部署类型。文件服务器具有高可用性,数据会在文件系统的可用区内自动复制,并且支持对传输中数据进行加密。持久性、SSD 使用最新一代持久性文件系统 Persistent 2。
对于长期存储和侧重于吞吐量且对延迟不敏感的工作负载,请选择持久性、HDD。文件服务器具有高可用性,数据会在文件系统的可用区内自动复制,并且此类型支持对传输中数据进行加密。持久性、HDD 使用 Persistent 1 部署类型。
选择使用 SSD 缓存来创建大小为您的 HDD 存储容量 20% 的 SSD 缓存,从而为经常访问的文件提供亚毫秒级延迟和更高的 IOPS。
对于临时存储和短期数据处理,请选择 Scratch、SSD 部署类型。Scratch、SSD 使用 Scratch 2 文件系统,并提供传输中数据加密功能。
选择文件系统所需的单位存储吞吐量。此选项仅对持久性部署类型有效。
单位存储吞吐量指预置的每太字节(TiB)的读取和写入吞吐量,以 MB/s/TiB 为单位。您需要为预置吞吐量付费:
对于持久性 SSD 存储,请选择 125MB/s/TiB、250MB/s/TiB、500MB/s/TiB 或 1000MB/TiB。
对于持久性 HDD 存储,请选择 12MB/s/TiB 或 40MB/s/TiB。
创建文件系统后,您可以根据需要增加或减少单位存储吞吐量。有关更多信息,请参阅 管理吞吐能力。
-
对于存储容量,请设置文件系统的存储容量,以 TiB 为单位:
对于持久性、SSD 部署类型,请将该值设置为 1.2TiB、2.4TiB 或 2.4TiB 的增量。
对于持久性、HDD 部署类型,如果是 12MB/s/TiB 文件系统,则此值可以是 6.0TiB 的增量;而如果是 40MB/s/TiB 文件系统,则此值可以是 1.8TiB 的增量。
创建文件系统后,您可以根据需要增加存储容量。有关更多信息,请参阅 管理存储容量。
-
对于元数据配置,可以使用以下两个选项来预置文件系统的 Metadata IOPS 数:
-
如果您希望 Amazon FSx 根据文件系统的存储容量自动在文件系统上预置和扩展元数据 IOPS,请选择自动(默认)。
-
如果要指定 Metadata IOPS 数,请选择用户预调配,对文件系统进行预调配。有效值为
1500
、3000
、6000
、12000
和12000
的倍数,最大值为192000
。
有关元数据 IOPS 的更多信息,请参阅 Lustre 元数据性能配置。
-
-
对于数据压缩类型,选择无以关闭数据压缩,或者选择 LZ4 以使用 LZ4 算法压缩数据。有关更多信息,请参阅 Lustre 数据压缩。
使用 Amazon FSx 控制台创建时,所有 FSx for Lustre 文件系统都基于 Lustre 版本 2.15 构建。
-
在网络与安全部分,提供以下网络和安全组信息:
对于虚拟私有云(VPC),请选择要与文件系统关联的 VPC。在此入门练习中,请选择与您为 Amazon EC2 实例选择的相同 VPC。
对于 VPC 安全组,应该已经添加了您的 VPC 的默认安全组 ID。如果您未使用默认安全组,请确保将以下入站规则添加到您在此入门练习中使用的安全组中。
类型 协议 端口范围 源 描述 所有 TCP TCP 0-65535 自定义 the_ID_of_this_security_group
入站 Lustre 流量规则 以下屏幕截图显示了编辑入站规则的示例。
重要
确保您使用的安全组遵循 使用 Amazon VPC 进行文件系统访问控制 中提供的配置说明。您必须将安全组设置为允许 988 端口和 1018-1023 端口来自安全组本身或完整子网 CIDR 的入站流量,这样文件系统主机之间才能相互通信。
-
对于子网,请从可用子网列表中选择任意值。
-
对于加密部分,可用选项因您要创建的文件系统类型而异:
-
对于持久性文件系统,您可以选择 AWS Key Management Service(AWS KMS)加密密钥来加密文件系统上的静态数据。
-
对于临时文件系统,使用由 AWS 托管的密钥对静态数据进行加密。
-
对于 Scratch 2 和持久性文件系统,当从支持的 Amazon EC2 实例类型访问文件系统时,传输中数据会自动加密。有关更多信息,请参阅 加密传输中数据。
-
-
对于数据存储库 Import/Export – 可选部分,系统会默认禁用将您的文件系统链接到 Amazon S3 数据存储库。有关启用此选项以及创建与现有 S3 桶关联的数据存储库的信息,请参阅 在创建文件系统时链接 S3 桶(控制台)。
重要
选择此选项还会禁用备份,因此您在创建文件系统时将无法启用备份。
如果您将一个或多个 Amazon FSx for Lustre 文件系统关联到 Amazon S3 桶,则要先删除所有链接的文件系统,再删除该 Amazon S3 桶。
-
对于日志记录 – 可选,系统默认情况下已启用日志记录。启用后,文件系统上的数据存储库活动故障和警告将记录到 Amazon CloudWatch Logs 中。有关配置日志记录的信息,请参阅 管理日志记录。
-
在备份和维护 – 可选中,您可以执行以下操作。
对于每日自动备份:
-
禁用每日自动备份。除非您启用了数据存储库 Import/Export,否则此选项默认处于启用状态。
-
设置每日自动备份时段的开始时间。
-
将自动备份保留期设置为 1-35 天。
有关更多信息,请参阅 使用备份。
-
-
设置每周维护时段的开始时间,或者将其设置为默认的无首选项。
-
对于根挤压(可选),根挤压默认禁用。有关启用和配置适用于根挤压的信息,请参阅 创建文件系统时启用根挤压(控制台)。
-
创建您希望应用于文件系统的所有标签。
-
选择下一步以显示创建文件系统摘要页面。
-
查看 Amazon FSx for Lustre 文件系统的设置,然后选择创建文件系统。
现在,您已经创建了文件系统,请记下其完全限定域名和挂载名称以供后续步骤使用。在缓存控制面板中选择文件系统的名称,然后选择附加,可以找到文件系统的完全限定域名和挂载名称。
步骤 2:安装和配置 Lustre 客户端
在从 Amazon EC2 实例访问 Amazon FSx for Lustre 文件系统之前,需要执行以下操作:
验证 EC2 实例是否满足最低内核要求。
需要时请更新内核。
下载并安装 Lustre 客户端。
检查内核版本并下载 Lustre 客户端
-
在 EC2 实例上打开终端窗口。
-
通过运行以下命令确定您的计算实例上当前运行的是哪个内核。
uname -r
-
请执行以下操作之一:
-
如果该命令返回
6.1.79-99.167.amzn2023.x86_64
(基于 x86 的 EC2 实例),或6.1.79-99.167.amzn2023.aarch64
或更高版本(基于 Graviton2 的 EC2 实例),请使用以下命令下载并安装 Lustre 客户端。sudo dnf install -y lustre-client
-
如果该命令返回的结果小于
6.1.79-99.167.amzn2023.x86_64
(基于 x86 的 EC2 实例),或者小于6.1.79-99.167.amzn2023.aarch64
(基于 Graviton2 的 EC2 实例),请运行以下命令更新内核并重启您的 Amazon EC2 实例。sudo dnf -y update kernel && sudo reboot
使用 uname -r 命令确认是否已更新内核。然后按照上述步骤下载并安装 Lustre 客户端。
有关在其他 Linux 发行版上安装 Lustre 客户端的信息,请参阅 安装 Lustre 客户端。
-
步骤 3:挂载文件系统
要装载文件系统,您需要创建一个挂载目录或挂载点,然后将文件系统挂载到客户端上,并验证客户端是否可以访问该文件系统。
要挂载您的文件系统,请执行以下操作:
-
使用以下命令为挂载点创建目录。
sudo mkdir -p /mnt/fsx
-
将 Amazon FSx for Lustre 文件系统挂载到您所创建的目录中。使用以下命令并替换以下项目:
替换为实际文件系统的域名系统(DNS)名称。file_system_dns_name
将
替换为文件系统的挂载名称,您可以通过运行 describe-file-systemsAWS CLI 命令或 DescribeFileSystems API 操作来获取该名称。mountname
sudo mount -t lustre -o relatime,flock
file_system_dns_name
@tcp:/mountname
/mnt/fsx此命令使用
-o relatime
和flock
两个选项挂载您的文件系统:-
relatime
– 选项atime
会维护每次访问文件时的atime
数据(索引节点访问时间),而选项relatime
虽然会维护atime
数据,但不是每次访问文件时都维护。启用选项relatime
后,只有当文件在上次atime
数据更新之后被修改(mtime
),或者距离上次访问文件已超过一定时间(默认为 6 小时)的情况下,atime
数据才会被写入磁盘。使用选项relatime
或atime
将优化文件发布过程。注意
如果您的工作负载需要精确的访问时间准确度,则可以使用
atime
挂载选项进行挂载。但是,这样做可能会增加保持精确访问时间值所需的网络流量,进而影响工作负载性能。如果您的工作负载不需要元数据访问时间,则使用
noatime
挂载选项禁用访问时间更新可以提高性能。请注意,诸如文件发布或数据发布有效性等注重atime
的过程在发布中可能不准确。 -
flock
– 为您的文件系统启用文件锁定。如果您不想启用文件锁定,请使用不启用flock
的mount
命令。
-
使用以下命令列出挂载文件系统
/mnt/fsx
的目录的内容,验证挂载命令是否成功。ls /mnt/fsx
import-path lustre $您也可以使用以下
df
命令。df Filesystem 1K-blocks Used Available Use% Mounted on devtmpf 1001808 0 1001808 0% /dev tmpfs 1019760 0 1019760 0% /dev/shm tmpfs 1019760 392 1019368 1% /run tmpfs 1019760 0 1019760 0% /sys/fs/cgroup /dev/xvda1 8376300 1263180 7113120 16% / 123.456.789.0@tcp:/
mountname
3547698816 13824 3547678848 1% /mnt/fsx tmpfs 203956 0 203956 0% /run/user/1000结果显示 /mnt/fsx 上挂载的 Amazon FSx 文件系统。
步骤 4:运行工作流程
现在,您的文件系统已创建并挂载到计算实例,您可以用它来运行高性能计算工作负载。
您可以创建数据存储库关联,将您的文件系统链接到 Amazon S3 数据存储库。更多信息请参阅 将文件系统链接到 Amazon S3 存储桶。
将文件系统链接到 Amazon S3 数据存储库后,您可以随时将写入文件系统的数据导回您的 Amazon S3 桶。在其中一个计算实例的终端上,运行以下命令将文件导出到 Amazon S3 桶。
sudo lfs hsm_archive
file_name
有关如何快速在文件夹或大批量文件上运行此命令的更多信息,请参阅 使用 HSM 命令导出文件。
第 5 步:清除 资源
完成本练习后,您应按照以下步骤清理资源并保护您的 AWS 账户。
清理资源
-
如果您想进行最终导出,请运行以下命令。
nohup find /mnt/fsx -type f -print0 | xargs -0 -n 1 sudo lfs hsm_archive &
-
在 Amazon EC2 控制台上,终止您的实例。有关更多信息,请参阅《Amazon EC2 用户指南》中的终止实例。
-
在 Amazon FSx for Lustre 控制台上,按照以下步骤删除您的文件系统:
-
在导航窗格中选择文件系统。
-
选择要从控制面板的文件系统列表中删除的文件系统。
-
对于操作,选择删除文件系统。
-
在随后显示的对话框中,选择是否要对文件系统进行最终备份。然后提供文件系统 ID 以确认删除。选择删除文件系统。
-
-
如果您为此练习创建了 Amazon S3 桶,并且不想保留导出的数据,则现在可以将其删除。有关更多信息,请参阅《Amazon Simple Storage Service 用户指南》中的删除桶。