本文介绍如何为 Azure 托管 Lustre 文件系统设置和配置配额。 配额允许系统管理员限制用户在文件系统中可以使用的存储量。 可以为单个用户、组或项目设置配额。
先决条件
- 现有的 Azure 托管 Lustre 文件系统 - 使用 Azure 门户、 Azure 资源管理器或 Terraform 创建一个。 若要了解有关 Blob 集成的详细信息,请参阅 Blob 集成先决条件。
配额类型
Azure Managed Lustre 支持以下类型的配额:
- 用户配额:限制单个用户在文件系统中可以使用的存储量。 特定用户的用户配额可以不同于其他用户的配额。
- 组配额:限制一组用户在文件系统中可以使用的存储量。 组配额适用于属于特定组的所有用户。
- 项目配额:限制项目在文件系统中可以使用的存储量。 项目配额适用于与项目关联的所有文件或目录。 项目可以包含多个目录或位于文件系统中不同目录中的单个文件。
以下限制配额可以应用于用户、组或项目配额:
- 阻止配额:限制用户、组或项目在文件系统中可以使用的存储量。 以 KB 为单位配置存储大小。
- Inode 配额:限制用户、组或项目可以在文件系统中创建的文件数。 将 inode 的最大数量配置为整数值。
注释
配额不适用于根用户。 不会强制为根用户设置配额。 同样,使用 sudo 命令以 root 用户身份写入数据会绕过配额限制的强制执行。
设置和查看文件系统的配额
若要设置文件系统的配额,请使用 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指定文件系统的装入点。
以下示例为挂载到 /mnt/fs1 的文件系统上的用户 user1 设置了块配额,其中软限制为 1 TB,硬限制为 2 TB:
sudo lfs setquota -u user1 -b 1T -B 2T /mnt/fs1
查看文件系统的配额
若要查看文件系统的配额,请使用 lfs quota 命令。 可以查看有关用户配额、组配额、项目配额和宽限期的信息。
以下示例显示了在装载到 /mnt/fs1的文件系统上显示配额的不同方法:
| Command | Description |
|---|---|
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 |
显示组配额的块和索引节点宽限期。 |
lfs quota -t -p /mnt/fs1 |
显示项目配额的块和索引节点宽限期。 |
配额的限制和宽限期
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格式指定宽限期(以周、天、小时、分钟或秒为单位)。
-u、-g 或 -p 后不允许有任何值。 默认情况下,宽限期为一周。
后续步骤
本文介绍了如何设置和配置 Azure 托管 Lustre 文件系统的配额。 若要了解有关 Azure 托管 Lustre 的详细信息,请参阅 Azure 托管 Lustre 文档。