本文介绍如何通过阿里云quota_tool工具在已挂载NAS的机器上管理NAS配额,包括设置配额、查询配额及取消配额。

前提条件

已挂载容量型/性能型NAS下的NFS文件系统,详情请参见手动挂载NFS文件系统

背景信息

阿里云NAS配额功能可以帮助您轻松的查看和管理NAS目录级的配额。目录级配额是指NAS目录下面包含的所有文件的数量和所占用的空间大小。

从配额统计的范围分类,包括全量配额和用户(组)配额。全量配额统计目录下所有用户的文件使用量,用户(组)配额统计目录下某个用户(组)的文件使用量。

从限制级别的范围分类,包括统计型配额和限制型配额。统计型配额只统计使用量,方便用户查看。限制型配额,则会在文件使用量超过限制后,导致创建文件/目录、追加写等操作失败。
注意
  • 目前只支持设置统计型配额。
  • 目前,配额功能只支持华北 3(张家口)、华北 5(呼和浩特)、亚太东南 2(悉尼)、亚太东南 3(吉隆坡)和美国西部 1(硅谷)。
  • NAS的配额计算是后台异步的,因此您通过quota_tool工具查询得到的统计信息是有延迟的(正常情况下5~15分钟)。

设置配额

本文文件系统的挂载目录以/mnt为例进行说明。

  1. 以root用户登录云服务器ECS
    quota_tool工具需要运行在已挂载了NAS的机器(如ECS)上,且必须以root用户运行。本文以在ECS上运行quota_tool工具为例进行说明。
  2. 下载quota_tool工具。
    wget https://nasimport.oss-cn-shanghai.aliyuncs.com/quota_tool_v1.0 -O quota_tool
  3. 添加quota_tool工具的执行权限。
    sudo chmod a+x quota_tool
  4. 设置配额。
    说明 目前对于单个文件系统,最多只能对10个目录设置配额。

    设置配额命令格式为sudo ./quota_tool set --dir [DIR] [OPTION]

    参数 说明
    --dir [DIR] 设置配额的目录。例如:--dir /mnt/data/。
    OPTION 根据需求,选择OPTION进行设置。
    说明 在选择OPTION时,--accounting为必选,--alluser/--uid/--gid为必选且只能选其一。
    • --accounting:设置统计型配额。
    • --alluser:设置通用目录级配额。
    • --uid:用户Uid。例如:--uid 505,只统计Uid为505用户的配额。
    • --gid:用户Gid。例如:--gid 1000,只统计Gid为1000用户组的配额。

    下面举例说明设置配额的操作。

    • 如果您要为/mnt/data/目录设置统计型配额,统计目录下面所有的文件,请执行以下命令。
      sudo ./quota_tool set --dir /mnt/data/ --accounting --alluser
    • 如果您要为/mnt/data/目录设置统计型配额,统计目录下Uid为505用户的所有文件,请执行以下命令。
      sudo ./quota_tool set --dir /mnt/data/ --accounting --uid 505

查询配额

设置了NAS目录级配额后,可以查询目录当前的配额统计信息。

  1. 以root用户登录云服务器ECS
  2. 执行以下命令查询配额。
    sudo ./quota_tool get --dir /mnt/data/

    如果您要查询该文件系统当前设置的所有配额,可执行sudo ./quota_tool get --dir /mnt/data/ --all命令。

    说明
    • 设置配额后初次查询时,有个初始化过程,这期间查询状态为Initializing,初始化完成之后,查询的结果为success。初始化过程时长取决于文件系统的文件和目录数目。
    • 初始化完成后日常查询时,由于配额是后台异步计算的,因此查询显示的FileCountReal和SizeReal会有5~10分钟的更新延迟。
    查询Quota

    返回的JSON格式数据中每一项参数说明如下所示。

    参数 说明
    Path 查询的目录。
    Report 针对已设置的Uid/Gid的具体统计信息。
    ReportStatus 查询状态。
    FileCountLimit 文件数量限制,无限制则为Empty。
    FileCountReal 当前目录下真实的文件数(包括目录、文件和特殊文件)。
    QuotaType Accounting(统计型配额)。
    Uid 统计对应的Uid(All代表所有Uid)。
    Gid 统计对应的Gid(All代表所有Gid)。
    SizeLimit 文件大小限制,无限制则为Empty。
    SizeReal 当前目录下文件的总大小。

取消配额

设置配额后,您也可以取消配额。

  1. 以root用户登录云服务器ECS
  2. 取消配额。

    取消配额的命令格式为sudo ./quota_tool cancel --dir [DIR] [OPTION]

    参数 说明
    --dir [DIR] 取消配额的目录,如--dir /mnt/data/。
    OPTION 根据需求,选择OPTION进行设置。
    说明 在选择OPTION时,--alluser/--uid/--gid为必选且只能选其一。
    • --alluser:取消全量配额。
    • --uid:用户Uid。例如:--uid 505,取消Uid为505用户的配额。
    • --gid:用户Gid。例如:--gid 1000,取消Gid为1000用户组的配额。

    下面举例说明取消配额的操作。

    • 如果您为/mnt/data/目录设置了配额,现在要取消Uid为100用户的配额,请执行以下命令。
      sudo ./quota_tool cancel --dir /mnt/data/ --uid 100
    • 如果您为/mnt/data/目录设置了配额,现在要取消全量配额,请执行以下命令。
      sudo ./quota_tool cancel --dir /mnt/data/ --alluser