本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Lustre 存储配额
您可以在 Lustre 文件系统上FSx为用户、组和项目创建存储配额。您可以利用存储配额,限制用户、组或项目能够占用的磁盘空间量和文件数量。存储配额会自动跟踪用户级别、组级别和项目级别的使用情况,因此无论您是否选择设置存储限制,都可以监控使用情况。
Amazon FSx 强制执行配额,并阻止超过配额的用户写入存储空间。当用户超过其配额时,必须删除足够的文件,使其低于配额限制,这样才能再次写入文件系统。
配额执行
在所有 FSx Lustre 文件系统上自动启用用户、组和项目配额强制执行。您无法禁用配额强制执行。
配额的类型
拥有 Amazon 账户 root 用户凭证的系统管理员可以创建以下类型的配额:
适用于个人用户的用户配额。特定用户的用户配额可能与其他用户的配额不同。
适用于属于特定组的所有用户的组配额。
项目配额适用于与项目关联的所有文件或目录。项目可以包含位于文件系统中的多个目录或不同目录下的单个文件。
注意
仅支持项目配额 Lustre FSx适用于 Lustre 文件系统的版本 2.15 已启用。
限制用户、组或项目可以占用的磁盘空间量的块配额。您可以以千字节为单位配置存储大小。
限制用户、组或项目可以创建的文件或目录数量的索引节点配额。您可以将最大索引节点数配置为整数。
注意
不支持默认配额。
如果您为特定用户和组设置了配额,并且该用户是该组的成员,则该用户的数据使用量同时适用这两个配额。此外,它也受到两个配额的限制。一旦达到任一配额限制,便会阻止用户写入文件系统。
注意
为根用户设置的配额不会强制执行。同样,以根用户身份使用 sudo
命令写入数据会绕过配额的强制执行。
配额限制和宽限期
Amazon 将用户、群组和项目配额作为硬限制或具有可配置宽限期的软限制FSx强制执行。
硬限制是绝对限制。如果用户超出其硬限制,则块或索引节点分配失败,并显示超出磁盘配额
消息。达到配额硬限制的用户必须删除足够的文件或目录,直至其低于配额限制,然后才能再次写入文件系统。设置宽限期后,只要低于硬限制,则用户可以在宽限期内超出软限制。
对于软限制,您可以配置宽限期(以秒为单位)。软限制必须小于硬限制。
您可以为索引节点和块配额设置不同的宽限期。您还可以为用户配额、组配额和项目配额设置不同的宽限期。当用户、组和项目配额具有不同的宽限期时,在任何配额宽限期过后,软限制都将转换为硬限制。
当用户超过软限制时,Amazon FSx 允许他们继续超过配额,直到宽限期过后或达到硬限制。宽限期结束后,软限制将转换为硬限制,用户将被禁止进行任何进一步的写入操作,直至其存储使用量恢复为低于规定的块配额或索引节点配额限制。宽限期开始时,用户不会收到通知或警告。
设置和查看配额
您可以使用设置存储配额 Lustre Linux 终端中的文件系统lfs
命令。lfs setquota
命令设置配额限制,lfs quota
命令显示配额信息。
有关 Lustre 配额命令,请参阅 Lustre 操作手册 Lustre 文档网站
设置用户、组和项目配额
用于设置用户、组或项目配额的 setquota
命令语法如下。
lfs setquota {-u|--user|-g|--group|-p|--project}
username
|groupname
|projectid
[-bblock_softlimit
] [-Bblock_hardlimit
] [-iinode_softlimit
] [-Iinode_hardlimit
] /mount_point
其中:
-u
或--user
指定要为其设置配额的用户。-g
或--group
指定要为其设置配额的组。-p
或--project
指定要为其设置配额的项目。-b
设置具有软限制的块配额。-B
设置具有硬限制的块配额。block_softlimit
和block_hardlimit
均以千字节表示,最小值为 1024 KB。-i
设置具有软限制的索引节点配额。-I
设置具有硬限制的索引节点配额。inode_softlimit
和inode_hardlimit
均以索引节点数表示,最小值为 1024 个 inode。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
] [-iinode_grace
] /mount_point
其中:
-t
表示将设置宽限期。-u
为所有用户设置宽限期。-g
为所有组设置宽限期。-p
为所有项目设置宽限期。-b
为块配额设置宽限期。-i
为索引节点配额设置宽限期。block_grace
和inode_grace
均以整数秒或XXwXXdXXhXXmXXs
格式表示。mount_point
是挂载文件系统的目录。
以下命令为用户块配额设置 1000 秒的宽限期,为用户索引节点配额设置 1 周零 4 天的宽限期。
sudo lfs setquota -t -u -b 1000 -i 1w4d /mnt/fsx
查看配额
quota
命令显示有关用户配额、组配额、项目配额和宽限期的信息。
查看配额命令 | 已显示配额信息 |
---|---|
|
有关运行命令的用户和用户主组的一般配额信息(磁盘使用情况和限制)。 |
|
特定用户的一般配额信息。拥有 Amazon 账户 root 用户凭证的用户可以为任何用户运行此命令,但非 root 用户无法运行此命令来获取有关其他用户的配额信息。 |
|
特定用户的一般配额信息以及每个对象存储目标 (OST) 和元数据目标 (MDT) 的详细配额统计信息。拥有 Amazon 账户 root 用户凭证的用户可以为任何用户运行此命令,但非 root 用户无法运行此命令来获取有关其他用户的配额信息。 |
|
特定群组的一般配额信息。 |
|
特定项目的一般配额信息。 |
|
用户配额的块和索引节点宽限时间。 |
|
组配额的块和索引节点宽限时间。 |
|
项目配额的块和索引节点宽限时间。 |
配额和 Amazon S3 关联存储桶
您可以将您的 f FSx or Lustre 文件系统链接到 Amazon S3 数据存储库。有关更多信息,请参阅 将文件系统链接到 Amazon S3 存储桶。
您可以在关联的 S3 存储桶中选择特定的文件夹或前缀作为文件系统的导入路径。指定 Amazon S3 中的文件夹并从 S3 导入文件系统时,只有该文件夹中的数据才适用配额。整个存储桶的数据不计入配额限制。
关联 S3 存储桶中的文件元数据将导入到结构与从 Amazon S3 导入的文件夹匹配的文件夹中。这些文件计入拥有这些文件的用户和组的索引节点配额。
当用户执行 hsm_restore
或延迟加载文件时,该文件的完整大小将计入与文件所有者关联的块配额。例如,如果用户 A 延迟加载用户 B 拥有的文件,则存储量和索引节点使用量将计入用户 B 的配额。同样,当用户使用 Amazon FSx API 发布文件时,数据将从拥有该文件的用户或群组的区块配额中释放出来。
由于HSM恢复和延迟加载是通过 root 访问权限执行的,因此它们会绕过配额强制执行。导入数据后,将根据在 S3 中设置的所有权计入用户或组,这可能会导致用户或组超出其块限制。如果发生这种情况,他们需要先释放文件才能再次写入文件系统。
同样,启用自动导入功能的文件系统将自动为添加到 S3 中的对象创建新的索引节点。这些新索引节点是使用根访问权限创建的,在创建时会绕过配额强制执行。这些新索引节点将根据 S3 中对象的所有者计入用户和组。如果这些用户和组因自动导入活动而超出其索引节点配额,则他们必须删除文件以释放更多容量,直至低于配额限制。
配额和恢复备份
恢复备份时,原始文件系统的配额设置将在恢复的文件系统中实施。例如,如果在文件系统 A 中设置了配额,而文件系统 B 是通过文件系统 A 的备份创建的,则文件系统 A 的配额将在文件系统 B 中强制执行。