在 Azure 托管 Lustre 文件系统中使用配额
本文介绍如何为 Azure 托管 Lustre 文件系统设置和配置配额。 配额允许系统管理员限制用户在文件系统中可以使用的存储量。 可以为单个用户、组或项目设置配额。
先决条件
- 现有的 Azure 托管 Lustre 文件系统 - 使用 Azure 门户、Azure 资源管理器 或 Terraform 创建一个。 若要了解有关 Blob 集成的详细信息,请参阅 Blob 集成先决条件。
配额类型
Azure 托管 Lustre 支持以下类型的配额:
- 用户配额:限制单个用户在文件系统中可以使用的存储量。 特定用户的用户配额可以不同于其他用户的配额。
- 组配额:限制一组用户在文件系统中可以使用的存储量。 组配额适用于属于特定组的所有用户。
- 项目配额:限制项目在文件系统中可以使用的存储量。 项目配额适用于与项目关联的所有文件或目录。 项目可以包含多个目录或位于文件系统中不同目录中的单个文件。
以下限制配额可以应用于用户、组或项目配额:
- 阻止配额:限制用户、组或项目在文件系统中可以使用的存储量。 以 KB 为单位配置存储大小。
- Inode 配额:限制用户、组或项目可以在文件系统中创建的文件数。 将最大 inode 数配置为整数。
注意
配额不适用于根用户。 不会强制为根用户设置配额。 同样,使用 sudo 命令将数据写入根用户会绕过配额强制实施。
设置和查看文件系统的配额
若要设置文件系统的配额,请使用 lfs setquota
该命令。 此命令 lfs setquota
允许为单个用户、组或项目设置配额。 若要查看文件系统的配额,请使用 lfs quota
该命令。
设置文件系统的配额
若要为用户、组或项目设置配额,请使用以下语法:
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
指定块配额的硬限制。 若要了解有关限制的详细信息,请参阅 配额的限制和宽限期。-i
指定 inode 配额的软限制。-I
指定 inode 配额的硬限制。/mount_point
指定文件系统的装入点。
以下示例设置一个块配额,软限制为 1 TB,对于装载到/mnt/fs1
的文件系统上的用户user1
,硬限制为 2 TB:
sudo lfs setquota -u user1 -b 1T -B 2T /mnt/fs1
查看文件系统的配额
若要查看文件系统的配额,请使用 lfs quota
命令。 可以查看有关用户配额、组配额、项目配额和宽限期的信息。
以下示例显示了在装载到 /mnt/fs1
的文件系统上显示配额的不同方法:
命令 | 说明 |
---|---|
lfs quota /mnt/fs1 |
显示运行命令的用户和用户的主组的常规配额信息(磁盘使用情况和限制)。 |
lfs quota -u user1 /mnt/fs1 |
显示文件系统中用户的 user1 常规配额信息。 |
lfs quota -g group1 /mnt/fs1 |
显示文件系统中组 group1 的常规配额信息。 |
lfs quota -p project1 /mnt/fs1 |
显示文件系统中项目的 project1 常规配额信息。 |
lfs quota -t -u /mnt/fs1 |
显示用户配额的块和 inode 宽限期。 |
lfs quota -t -g /mnt/fs1 |
显示组配额的块和 inode 宽限期。 |
lfs quota -t -p /mnt/fs1 |
显示项目配额的块和 inode 宽限期。 |
配额的限制和宽限期
Azure 托管 Lustre 强制用户、组和项目配额作为硬限制或具有可配置宽限期的软限制。
硬限制是绝对限制。 如果用户超出硬限制,则块或 inode 分配失败并显示 Disk quota exceeded
消息。 达到配额硬限制的用户必须删除足够的文件或目录,才能再次写入文件系统,才能在配额限制下获取。
软限制必须小于硬限制。 如果用户超出软限制,用户可以继续超过配额,直到宽限期过或达到硬限制为止。 宽限期结束后,软限制将转换为硬限制,并且用户将被阻止进一步写入操作,直到其使用情况返回低于定义的块配额或阴极配额限制。 宽限期开始时,用户不会收到通知或警告。
宽限期默认为一周,适用于所有用户(针对用户配额)、组(组配额)或项目(项目配额)。 换句话说,不能对不同的用户配额应用不同的宽限期。 相同的限制适用于组配额和项目配额。 但是,可以为 inode 和块配额设置不同的宽限期。
宽限期设置可能因用户、组和项目配额而异,但更改适用于这三个类别中的每个实体。
为配额设置宽限期
若要为配额设置宽限期,请使用以下语法:
sudo lfs setquota -t {-u|-g|-p}
[-b block_grace]
[-i inode_grace]
/mount_point
命令使用以下参数:
-t
指定要设置宽限期。-u
设置所有用户的宽限期。-g
为所有组设置宽限期。-p
为所有项目设置宽限期。-b
指定块配额的宽限期。-i
指定 inode 配额的宽限期。 默认情况下,这两个值block_grace
和inode_grace
值都以秒为单位。 还可以使用XXwXXdXXhXXmXXs
格式指定宽限期(以周、天、小时、分钟或秒为单位)。
不允许在之后或-g
-p
之后-u
使用任何值。 默认情况下,宽限期为一周。
后续步骤
本文介绍了如何设置和配置 Azure 托管 Lustre 文件系统的配额。 若要了解有关 Azure 托管 Lustre 的详细信息,请参阅 Azure 托管 Lustre 文档。