开始使用适用于 Lustre 的 Amazon FSx - FSx 为了光泽

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

开始使用适用于 Lustre 的 Amazon FSx

接下来,您可以学习如何开始使用适用于 Lustre 的 Amazon FSx。这些步骤将引导您创建适用于 Lustre 的 Amazon FSx 文件系统并从您的计算实例访问该文件系统。或者,它们会向您展示如何使用您的适用于 Lustre 的 Amazon FSx 文件系统通过基于文件的应用程序来处理 Amazon S3 桶中的数据。

此入门练习包括以下步骤。

先决条件

要进行此次入门练习,您需要:

  • 一个具有创建适用于 Lustre 的 Amazon FSx 文件系统和 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 用户指南》中的入门:启动实例启动您的实例

    除 Amazon Linux 2023 以外,Lustre 客户端还支持 Amazon Linux 2、Red Hat Enterprise Linux(RHEL)、CentOS、Rocky Linux、SUSE Linux Enterprise Server 和 Ubuntu 操作系统。有关更多信息,请参阅 Lustre 文件系统和客户端内核的兼容性

  • 在为此入门练习创建 Amazon EC2 实例时,请记住以下几点:

    • 我们建议您在默认 VPC 中创建实例。

    • 我们建议您在创建 EC2 实例时使用默认安全组。

  • 确定您要创建临时还是持久性的适用于 Lustre 的 Amazon FSx 文件系统。有关更多信息,请参阅 Lustre 文件系统的 FSx 部署和存储类选项

  • 在每个 FSx for Lustre 文件系统中,每个元数据服务器(MDS)和每个存储服务器(OSS)各需要一个 IP 地址。有关更多信息,请参阅 文件系统的 IP 地址

  • 一个 Amazon S3 存储桶,用于存储要处理的工作负载数据。S3 存储桶将成为您的 FSx for Lustre 文件系统的持久链接数据存储库。

步骤 1:创建 FSx for Lustre 文件系统

在 Amazon FSx 控制台中创建文件系统。请注意,使用 Amazon FSx 控制台创建时,所有 FSx for Lustre 文件系统都基于 Lustre 版本 2.15 构建。

要创建文件系统,请执行以下操作:
  1. 通过以下网址打开 Amazon FSx 控制台:https://console.aws.amazon.com/fsx/

  2. 在控制面板上,选择创建文件系统以启动文件系统创建向导。

  3. 选择 FSx for Lustre,然后选择下一步,以显示创建文件系统页面。

    文件系统详细信息部分开始配置。

  4. 文件系统名称(可选)部分为您的文件系统提供一个名称。您最多可以使用 256 个 Unicode 字母、空格和数字以及特殊字符 + - = . _ : /

  5. 对于部署和存储类别,请选择以下任一选项:

    • 对于长期存储和延迟敏感型工作负载,请选择持久性、SSD。使用 SSD 存储,您需要为预置的存储量付费。

      (可选)选择启用 EFA,以启用文件系统的 Elastic Fabric Adapter(EFA)支持。有关 EFA 的更多信息,请参阅 使用启用 EFA 的文件系统

    • 对于长期存储,请选择持久性、Intelligent-Tiering。Intelligent-Tiering 存储类别提供完全弹性、经济高效的存储,适用于大多数工作负载,同时提供可选的 SSD 读取缓存,为读取频繁访问的数据提供 SSD 延迟。使用 Intelligent-Tiering,您需要根据数据集的大小为您存储的数据支付费用,且无需指定文件系统大小。

      (可选)选择启用 EFA,以启用文件系统的 Elastic Fabric Adapter(EFA)支持。

    • 对于临时存储和短期数据处理,请选择临时、SSD 部署。使用 SSD 存储,您需要为预置的存储量付费。

  6. 为文件系统选择吞吐量。您需要为预置的吞吐量付费。

    • 对于持久性 SSD 存储,请选择单位存储吞吐量值。单位存储吞吐量指预置的每太字节(TiB)存储的读取和写入吞吐量。

    • 对于临时 SSD 存储,请选择单位存储吞吐量值。

    • 对于 Intelligent-Tiering 存储,请选择吞吐能力值。

  7. 对于存储容量(仅限 SSD 存储类别),请设置文件系统的存储容量,以 TiB 为单位:

    • 对于持久性、SSD 部署类型,请将该值设置为 1.2TiB、2.4TiB 或 2.4TiB 的增量。

    • 对于启用 EFA、持久性、SSD 部署类型,针对 1000、500、250 和 125Mbps/TiB 吞吐量层级,分别以 4.8TiB、9.6TiB、19.2TiB 和 38.4TiB 的增量设置此值。

    创建文件系统后,您可以根据需要增加存储容量。有关更多信息,请参阅 管理存储容量

  8. 对于元数据配置,选择以下一种选项以预置文件系统的元数据 IOPS 数:

    • 如果您希望适用于 Lustre 的 Amazon FSx 根据文件系统的存储容量自动在文件系统上预置和扩展元数据 IOPS,请选择自动(仅限 SSD 存储类别)。

    • 如果要使用 SSD 或 Intelligent-Tiering 存储类别指定元数据 IOPS 数,以预置文件系统,请选择用户预置。有效值如下所示:

      • 对于 SSD 文件系统,有效值为 1500300060001200012000 的倍数,最大值为 192000

      • 对于 Intelligent-Tiering 文件系统,有效值为 600012000

    有关元数据 IOPS 的更多信息,请参阅 Lustre 元数据性能配置

  9. 对于 SSD 读取缓存(仅限 Intelligent-Tiering),请选择自动(与吞吐能力成比例)自定义(用户预置)。使用“自动”选项,适用于 Lustre 的 Amazon FSx 会根据预置的吞吐量自动选择读取缓存大小。如果您了解活动工作数据集的大致大小,则可以选择“自定义”,以自定义 SSD 读取缓存的大小。有关更多信息,请参阅 管理预置的 SSD 读取缓存

  10. 对于数据压缩类型,选择以关闭数据压缩,或者选择 LZ4 以使用 LZ4 算法压缩数据。有关更多信息,请参阅 Lustre 数据压缩

  11. 网络与安全部分,提供以下网络和安全组信息:

    • 对于虚拟私有云(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 的入站流量,这样文件系统主机之间才能相互通信。

      • 如果要创建启用 EFA 的文件系统,请确保指定启用 EFA 的安全组

    • 对于子网,请从可用子网列表中选择任意值。

  12. 对于加密部分,可用选项因您要创建的文件系统类型而异:

    • 对于持久性文件系统,您可以选择 AWS Key Management Service(AWS KMS)加密密钥来加密文件系统上的静态数据。

    • 对于临时文件系统,使用由 AWS 托管的密钥对静态数据进行加密。

    • 对于 Scratch 2 和持久性文件系统,当从支持的 Amazon EC2 实例类型访问文件系统时,传输中数据会自动加密。有关更多信息,请参阅 加密传输中数据

  13. 对于数据存储库 Import/Export(可选)部分,默认禁用将文件系统链接到 Amazon S3 数据存储库。有关启用此选项以及创建与现有 S3 桶关联的数据存储库的信息,请参阅 在创建文件系统时链接 S3 桶(控制台)

    重要
    • 选择此选项还会禁用备份,因此您在创建文件系统时将无法启用备份。

    • 如果您将一个或多个适用于 Lustre 的 Amazon FSx 文件系统关联到 Amazon S3 桶,则要先删除所有链接的文件系统,再删除该 Amazon S3 桶。

    • Intelligent-Tiering 文件系统不支持链接到 Amazon S3 数据存储库。

  14. 对于日志记录(可选),默认启用日志记录。启用后,文件系统上的数据存储库活动故障和警告将记录到 Amazon CloudWatch Logs 中。有关配置日志记录的信息,请参阅 管理日志记录

  15. 备份和维护(可选)中,您可以执行以下操作。

    • 禁用每日自动备份。除非您已启用数据存储库 Import/Export,否则此选项默认处于启用状态。

    • 设置每日自动备份时段的开始时间。

    • 自动备份保留期设置为 1-35 天。

    • 设置每周维护时段的开始时间,或者将其设置为默认的无首选项

    有关更多信息,请参阅 使用备份保护您的数据。适用于 Lustre 的 Amazon FSx 维护时段

  16. 对于根挤压(可选),默认禁用根挤压。有关启用和配置适用于根挤压的信息,请参阅 创建文件系统时启用根挤压(控制台)

  17. 创建您希望应用于文件系统的所有标签。

  18. 选择下一步以显示创建文件系统摘要页面。

  19. 查看适用于 Lustre 的 Amazon FSx 文件系统的设置,然后选择创建文件系统

现在,您已经创建了文件系统,请记下其完全限定域名和挂载名称以供后续步骤使用。在文件系统控制面板中选择文件系统的名称,然后选择附加,可查找文件系统的完全限定域名和挂载名称。

步骤 2:安装和配置 Lustre 客户端

在从 Amazon EC2 实例访问适用于 Lustre 的 Amazon FSx 文件系统之前,需要执行以下操作:

  • 验证 EC2 实例是否满足最低内核要求。

  • 需要时请更新内核。

  • 下载并安装 Lustre 客户端。

检查内核版本并下载 Lustre 客户端
  1. 在 EC2 实例上打开终端窗口。

  2. 通过运行以下命令确定您的计算实例上当前运行的是哪个内核。

    uname -r
  3. 请执行以下操作之一:

    • 如果该命令返回 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:挂载文件系统

要装载文件系统,您需要创建一个挂载目录或挂载点,然后将文件系统挂载到客户端上,并验证客户端是否可以访问该文件系统。

要挂载您的文件系统,请执行以下操作:
  1. 使用以下命令为挂载点创建目录。

    sudo mkdir -p /mnt/fsx
  2. 将适用于 Lustre 的 Amazon FSx 文件系统挂载到您所创建的目录中。使用以下命令并替换以下项目:

    • file_system_dns_name 替换为实际文件系统的域名系统(DNS)名称。

    • mountname 替换为文件系统的挂载名称,您可以通过运行 describe-file-systemsAWS CLI 命令或 DescribeFileSystems API 操作来获取该名称。

    sudo mount -t lustre -o relatime,flock file_system_dns_name@tcp:/mountname /mnt/fsx

    此命令使用 -o relatimeflock 两个选项挂载您的文件系统:

    • relatime – 选项 atime 会维护每次访问文件时的 atime 数据(索引节点访问时间),而选项 relatime 虽然会维护 atime 数据,但不是每次访问文件时都维护。启用选项 relatime 后,只有当文件在上次 atime 数据更新之后被修改(mtime),或者距离上次访问文件已超过一定时间(默认为 6 小时)的情况下,atime 数据才会被写入磁盘。使用选项 relatimeatime 将优化文件发布过程。

      注意

      如果您的工作负载需要精确的访问时间准确度,则可以使用 atime 挂载选项进行挂载。但是,这样做可能会增加保持精确访问时间值所需的网络流量,进而影响工作负载性能。

      如果您的工作负载不需要元数据访问时间,则使用 noatime 挂载选项禁用访问时间更新可以提高性能。请注意,诸如文件发布或数据发布有效性等注重 atime 的过程在发布中可能不准确。

    • flock – 为您的文件系统启用文件锁定。如果您不想启用文件锁定,请使用不启用 flockmount 命令。

  3. 使用以下命令列出挂载文件系统 /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 账户。

清理资源
  1. 如果您想进行最终导出,请运行以下命令。

    nohup find /mnt/fsx -type f -print0 | xargs -0 -n 1 sudo lfs hsm_archive &
  2. 在 Amazon EC2 控制台上,终止您的实例。有关更多信息,请参阅《Amazon EC2 用户指南》中的终止实例

  3. 在适用于 Lustre 的 Amazon FSx 控制台上,按照以下步骤删除您的文件系统:

    1. 在导航窗格中选择文件系统

    2. 选择要从控制面板的文件系统列表中删除的文件系统。

    3. 对于操作,选择删除文件系统

    4. 在随后显示的对话框中,选择是否要对文件系统进行最终备份。然后提供文件系统 ID 以确认删除。选择删除文件系统

  4. 如果您为此练习创建了 Amazon S3 桶,并且不想保留导出的数据,则现在可以将其删除。有关更多信息,请参阅《Amazon Simple Storage Service 用户指南》中的删除桶