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

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

存储配额

您可以在 FSx for Lustre 文件系统上为用户、组和项目创建存储配额。您可以利用存储配额,限制用户、组或项目能够占用的磁盘空间量和文件数量。存储配额会自动跟踪用户级别、组级别和项目级别的使用情况,因此无论您是否选择设置存储限制,都可以监控使用情况。

Amazon FSx 强制执行配额,并阻止超过配额的用户写入存储空间。当用户超过其配额时,必须删除足够的文件,使其低于配额限制,这样才能再次写入文件系统。

配额执行

在所有 FSx for Lustre 文件系统上自动启用用户、组和项目配额强制执行。您无法禁用配额强制执行。

配额的类型

拥有 Amazon 账户 root 用户凭证的系统管理员可以创建以下类型的配额:

  • 适用于个人用户的用户配额。特定用户的用户配额可能与其他用户的配额不同。

  • 适用于属于特定组的所有用户的组配额

  • 项目配额适用于与项目关联的所有文件或目录。项目可以包含位于文件系统中的多个目录或不同目录下的单个文件。

    注意

    只有适用于 Lustre 文件系统的 FSx 上的 Lustre 版本 2.15 支持项目配额。

  • 限制用户、组或项目可以占用的磁盘空间量的块配额。您可以以千字节为单位配置存储大小。

  • 限制用户、组或项目可以创建的文件或目录数量的索引节点配额。您可以将最大索引节点数配置为整数。

注意

不支持默认配额。

如果您为特定用户和组设置了配额,并且该用户是该组的成员,则该用户的数据使用量同时适用这两个配额。此外,它也受到两个配额的限制。一旦达到任一配额限制,便会阻止用户写入文件系统。

注意

为根用户设置的配额不会强制执行。同样,以根用户身份使用 sudo 命令写入数据会绕过配额的强制执行。

配额限制和宽限期

Amazon FSx 会将用户、组和项目配额作为硬限制或具有可配置宽限期的软限制强制执行。

硬限制是绝对限制。如果用户超出其硬限制,则块或索引节点分配失败,并显示超出磁盘配额消息。达到配额硬限制的用户必须删除足够的文件或目录,直至其低于配额限制,然后才能再次写入文件系统。设置宽限期后,只要低于硬限制,则用户可以在宽限期内超出软限制。

对于软限制,您可以配置宽限期(以秒为单位)。软限制必须小于硬限制。

您可以为索引节点和块配额设置不同的宽限期。您还可以为用户配额、组配额和项目配额设置不同的宽限期。当用户、组和项目配额具有不同的宽限期时,在任何配额宽限期过后,软限制都将转换为硬限制。

当用户超出软限制时,Amazon FSx 允许他们继续超出其配额,直至宽限期过后或达到硬限制。宽限期结束后,软限制将转换为硬限制,用户将被禁止进行任何进一步的写入操作,直至其存储使用量恢复为低于规定的块配额或索引节点配额限制。宽限期开始时,用户不会收到通知或警告。

设置和查看配额

您可以在 Linux 终端中使用 Lustre 文件系统 lfs 命令设置存储配额。lfs setquota 命令设置配额限制,lfs quota 命令显示配额信息。

有关 Lustre 配额命令的更多信息,请参阅 Lustre 文档网站上的 Lustre 操作手册

设置用户、组和项目配额

用于设置用户、组或项目配额的 setquota 命令语法如下。

lfs setquota {-u|--user|-g|--group|-p|--project} username|groupname|projectid [-b block_softlimit] [-B block_hardlimit] [-i inode_softlimit] [-I inode_hardlimit] /mount_point

其中:

  • -u--user 指定要为其设置配额的用户。

  • -g--group 指定要为其设置配额的组。

  • -p--project 指定要为其设置配额的项目。

  • -b 设置具有软限制的块配额。-B 设置具有硬限制的块配额。block_softlimitblock_hardlimit 均以千字节表示,最小值为 1024 KB。

  • -i 设置具有软限制的索引节点配额。-I 设置具有硬限制的索引节点配额。inode_softlimitinode_hardlimit 均以索引节点数量表示,最小值为 1024 个索引节点。

  • mount_point 是挂载文件系统的目录。

用户配额示例:以下命令为挂载到 /mnt/fsx 的文件系统上的 user1 设置了 5000KB 的软块限制、8000KB 的硬块限制、2000 个软索引节点限制和 3000 个硬索引节点限制配额。

sudo lfs setquota -u user1 -b 5000 -B 8000 -i 2000 -I 3000 /mnt/fsx

组配额示例:以下命令为挂载到 /mnt/fsx 的文件系统上名为 group1 的组设置了 100000 KB 的硬块限制。

sudo lfs setquota -g group1 -B 100000 /mnt/fsx

项目配额示例:首先,请确保您已使用 project 命令将所需文件和目录与项目关联。例如,以下命令将 /mnt/fsxfs/dir1 目录的所有文件和子目录与项目 ID 为 100 的项目关联。

sudo lfs project -p 100 -r -s /mnt/fsxfs/dir1

然后使用 setquota 命令设置项目配额。以下命令为挂载到 /mnt/fsx 的文件系统上的项目 250 设置了 307200 KB 的软块限制、309200 KB 的硬块限制、10000 个软索引节点限制和 11000 个硬索引节点限制配额。

sudo lfs setquota -p 250 -b 307200 -B 309200 -i 10000 -I 11000 /mnt/fsx

设置宽限期

默认宽限期为一周。您可以使用以下语法调整用户、组或项目的默认宽限期。

lfs setquota -t {-u|-g|-p} [-b block_grace] [-i inode_grace] /mount_point

其中:

  • -t 表示将设置宽限期。

  • -u 为所有用户设置宽限期。

  • -g 为所有组设置宽限期。

  • -p 为所有项目设置宽限期。

  • -b 为块配额设置宽限期。-i 为索引节点配额设置宽限期。block_graceinode_grace 均以整数秒或 XXwXXdXXhXXmXXs 格式表示。

  • mount_point 是挂载文件系统的目录。

以下命令为用户块配额设置 1000 秒的宽限期,为用户索引节点配额设置 1 周零 4 天的宽限期。

sudo lfs setquota -t -u -b 1000 -i 1w4d /mnt/fsx

查看配额

quota 命令显示有关用户配额、组配额、项目配额和宽限期的信息。

查看配额命令 已显示配额信息

lfs quota /mount_point

有关运行命令的用户和用户主组的一般配额信息(磁盘使用情况和限制)。

lfs quota -u username /mount_point

特定用户的一般配额信息。拥有 Amazon 账户 root 用户凭证的用户可以为任何用户运行此命令,但非 root 用户无法运行此命令来获取有关其他用户的配额信息。

lfs quota -u username -v /mount_point

特定用户的一般配额信息以及每个对象存储目标(OST)和元数据目标(MDT)的详细配额统计信息。拥有 Amazon 账户 root 用户凭证的用户可以为任何用户运行此命令,但非 root 用户无法运行此命令来获取有关其他用户的配额信息。

lfs quota -g groupname /mount_point

特定群组的一般配额信息。

lfs quota -p projectid /mount_point

特定项目的一般配额信息。

lfs quota -t -u /mount_point

用户配额的块和索引节点宽限时间。

lfs quota -t -g /mount_point

组配额的块和索引节点宽限时间。

lfs quota -t -p /mount_point

项目配额的块和索引节点宽限时间。

配额和 Amazon S3 关联存储桶

您可以将 FSx for Lustre 文件系统关联到 Amazon S3 数据存储库。有关更多信息,请参阅 将您的文件系统链接到 S3 桶

您可以在关联的 S3 存储桶中选择特定的文件夹或前缀作为文件系统的导入路径。指定 Amazon S3 中的文件夹并从 S3 导入文件系统时,只有该文件夹中的数据才适用配额。整个存储桶的数据不计入配额限制。

关联 S3 存储桶中的文件元数据将导入到结构与从 Amazon S3 导入的文件夹匹配的文件夹中。这些文件计入拥有这些文件的用户和组的索引节点配额。

当用户执行 hsm_restore 或延迟加载文件时,该文件的完整大小将计入与文件所有者关联的块配额。例如,如果用户 A 延迟加载用户 B 拥有的文件,则存储量和索引节点使用量将计入用户 B 的配额。同样,当用户使用 Amazon FSx API 发布文件时,数据将从拥有该文件的用户或组的块配额中释放出来。

由于 HSM 恢复和延迟加载是通过根访问权限执行的,因此它们会绕过配额强制执行。导入数据后,将根据在 S3 中设置的所有权计入用户或组,这可能会导致用户或组超出其块限制。如果发生这种情况,他们需要先释放文件才能再次写入文件系统。

同样,启用自动导入功能的文件系统将自动为添加到 S3 中的对象创建新的索引节点。这些新索引节点是使用根访问权限创建的,在创建时会绕过配额强制执行。这些新索引节点将根据 S3 中对象的所有者计入用户和组。如果这些用户和组因自动导入活动而超出其索引节点配额,则他们必须删除文件以释放更多容量,直至低于配额限制。

配额和恢复备份

恢复备份时,原始文件系统的配额设置将在恢复的文件系统中实施。例如,如果在文件系统 A 中设置了配额,而文件系统 B 是通过文件系统 A 的备份创建的,则文件系统 A 的配额将在文件系统 B 中强制执行。