目录配额

当您需要对通用型NAS文件系统中某个目录所能包含的文件数量或者文件大小或者某个用户所能使用的资源进行限制时,您可以通过配额管理功能中的目录配额或用户配额进行配置。同时,同一个路径下,您还可以为多个用户设置不同的资源配额。

前提条件

  • 已创建通用型NAS文件系统。更多信息,请参见创建文件系统

  • 已添加挂载点。更多信息,请参见添加挂载点

  • 已创建权限组和规则。更多信息,请参见操作步骤

  • 已根据挂载场景,完成挂载文件系统并在文件系统中创建目录。更多信息,请参见挂载场景

配额类型

分类依据

配额类型

配额统计的范围

  • 目录配额:统计目录下所有用户的文件系统使用量。

  • 用户(组)配额:统计目录下某个用户(组)下的文件系统使用量。

说明

仅通用型NAS NFS协议文件系统支持用户(组)配额功能。

配额的限制级别

  • 统计型配额:只统计文件系统使用量,方便用户查看。

  • 限制型配额:当您为指定目录配置限制型配额时,若文件系统使用量超出配额后,将导致创建文件或目录、追加写入等操作失败。

使用限制

  • 文件系统实例

    • 通用型NAS NFS协议文件系统支持目录配额和用户(组)配额。

    • 通用型NAS SMB协议文件系统支持目录配额功能。

    • 极速型NAS不支持目录配额功能。

  • 配额

    对于单个文件系统,最多可以对500个目录设置配额,支持配置的最大目录深度为8层。(例如,根目录/深度为0层,/workspace深度为1层,/workspace/dir1深度为2层,依此类推。)

    重要
    • 设置限制型配额后,如果文件使用量超过限制会导致写入操作(包括增加文件长度、创建文件、目录、移动文件到目录等操作)失败,应用层会收到IOError。您可以参照为什么向文件系统写入数据时,返回Disk quota exceeded错误信息?进行处理。

    • 由于限制型配额的高风险性,强烈建议您在业务关键路径上谨慎评估和测试验证后再配置限制型配额。

    • 新建目录配额后,会有初始化过程,状态为初始化中。初始化过程时长取决于文件系统的文件和目录数目,最长可达数小时甚至更长。初始化完成之后,状态为运行中。目录配额的状态您可通过NAS控制台或调用DescribeDirQuotas API查询。

    • NAS配额的设置为异步执行,因此限制型配额的生效和失效都有延迟(正常情况下5分钟~15分钟)。

  • 地域

    • 通用型NAS NFS协议文件系统:所有地域。

    • 通用型NAS SMB协议文件系统:除华南1金融云外的所有地域。

新建目录配额

  1. 登录NAS控制台

  2. 在左侧导航栏,选择文件系统>文件系统列表

  3. 在页面左侧顶部,选择目标文件系统所在的资源组和地域。

    image

  4. 找到目标文件系统,单击文件系统ID或者单击管理,进入配额管理页面,单击新建目录配额

  5. 新建目录配额对话框,配置目录路径,完成目录的添加。

    重要
    • 仅支持为通用型NAS文件系统中已创建的目录设置配额。配额的目录路径就是目录在通用型NAS文件系统的绝对路径,而不是计算节点(例如,ECS,容器)上的本地路径。

    • 不支持路径名中包含中文字符的目录。

    例如,通用型NAS挂载本地路径是/mnt,而在通用型NAS文件系统中,根目录为/,且有一级子目录/dir0,二级子目录/dir/subdir1等。如果您需要配置根目录、一级子目录、二级子目录的目录配额,则目录路径如下所示:

    • 根目录:/

    • 一级子目录:/dir0

    • 二级子目录:/dir/subdir1

    image

  6. 查询目录配额状态。

    新建目录配额后,会有初始化过程,状态为初始化中。初始化过程时长取决于文件系统的文件和目录数目,最长可达数小时甚至更长。初始化完成之后,状态为运行中。同时,在用户配额列表中,会自动生成一条用户类型为所有用户、配额类型为统计型的配额。该用户配额仅支持修改配额类型,不支持修改用户类型。

添加用户配额

当用户配额的配额类型为统计型时,可以统计用户(组)在目录中的使用量和文件数;当用户配额的类型为限制型时,可以限制用户(组)在目录中的使用容量和文件数。

说明
  • 仅通用型NAS NFS协议文件系统支持用户(组)配额功能。

  • 同一个用户类型只能配置一种类型的配额类型。

操作步骤

配额管理区域,找到目标目录路径,单击管理配额。在弹出的面板中,单击添加用户配额,在弹出的对话框中配置相关信息。 add_user_quota

参数

是否必选

说明

用户类型

指定用户ID的类型,包括Uid、Gid、所有用户三种。分别限制用户、用户组、全部用户。同一个路径下,可以为多个用户设置不同的配额。

ID

用户类型UidGid时,需要配置该参数。表示要限制的用户或用户组。

例如:

  • 要限制Uid=500的用户,用户类型是Uid,ID500。

  • 要限制Gid=100的用户组,用户类型是Gid,ID100。

配额类型

  • 统计型:仅统计指定目录路径的文件系统使用量。

  • 限制型:除了统计和展示外,超出配额后,I/O会被限制。

容量限制(GiB)

配额类型限制型时,需要配置该参数。表示配额用户在配额路径下所拥有文件和目录的最大存储量。

说明
  • 存储量最小值为0 GiB,最大值为10,000,000 GiB。

  • 容量限制和文件数限制至少填写其中一项。

文件数限制

配额类型限制型时,需要配置该参数。表示配额用户在配额路径下所拥有文件和目录的最大数量。

说明
  • 容量限制和文件数限制至少填写其中一项。

  • 文件数最小值为1,最大值为1,000,000,000。

删除单条用户配额

在用户配额列表中,找到目标配额条目,单击删除

重要

当您删除文件系统中已配置配额的目录时,NAS也会删除目录配额和用户配额列表中的目标配额条目。

编辑单条用户配额

在用户配额列表中,找到目标配额条目,单击编辑。可编辑的选项有配额类型、容量限制、文件数限制。

说明

只有当配额类型为限制型时,可以编辑容量限制和文件数限制,且至少编辑其中一项。

API

管理配额功能提供了以下的API接口:

常见问题

为什么向文件系统写入数据时,返回Disk quota exceeded错误信息?

  • 问题原因

    目标目录的使用量或文件数超过了设定的用户配额限制,因此导致写入操作(包括增加文件长度、创建文件、目录、移动文件到目录等操作)失败,返回类似Disk quota exceeded的错误信息。

  • 解决方案

    1. 建议您尽快清理数据释放空间,或者提升该目录的容量限制。具体操作,请参见编辑单条用户配额

    2. 清理完成后,建议先对配额的目录执行测试性的写操作(例如,创建并写数据到测试文件)来触发配额缓存的异步刷新,判断这些测试性写操作能够成功,然后再重新启动业务。