Overview of Quotas

Prev Next

VAST Cluster enables you to manage how cluster capacity is used through quotas. The quota mechanism limits the amount of storage capacity that can be used by a certain directory and, more granularly, by particular users or groups within that directory.

There are two types of quotas:

  • Directory quotas. These quotas can be defined per directory. They limit the capacity that can be used by the directory and the number of files or directories that can be created under the directory.

    Quotas can be nested up to three levels deep for any path. For example, if there are quotas already defined for directories /a/b, /a/b/c and /a/b/c/d, a quota could not be created for /a/b/c/d/e as this would result in nesting four levels deep. Likewise, a quota could not be created for /a, as it would result in nesting four levels deep of /a/b/c/d. However, quotas could be created at /a/b/c/e or /a/b/f as these would not exceed nesting three levels deep.

  • User quotas. These quotas can be defined per user and user group. They limit the amount of capacity individual users and groups can use  within a directory and the numbers of directories and files.

Quota Limits and Behavior

A directory quota (can) limit the amount of storage and/or the number of files/objects that can be contained in the directory. Writes are blocked when hard limits are reached, while soft limits can be specified at lower levels for warning purposes. You can also specify a grace period during which the soft capacity limit can be exceeded without triggering warnings.  

Directory Quota Accounting

Quota capacity usage is counted according to the bytes used by every file and not according to the logical file size.

Many operating systems support sparse files, which are files that are allocated disk space only for the used bytes and not for the empty bytes in the file. The logical file size can be much larger than the allocated space taken by the file. VAST Cluster is aware of sparse files and does not count the empty bytes in a sparse file as quota capacity. For example, a sparse file whose logical file size is 500GB but only 64MB were written to it, uses only 64MB of quota capacity.

User Quota Accounting

Users querying directory capacity from a client protocol see the capacity in terms of the directory quota. In other words, for example, when nothing has yet been written to the directory, then regardless of user quota, user running the df command from Linux should return the entire directory quota even if the user quota is smaller.

Files owned by a user count towards the user's quota usage.

Files are counted towards a group quota if the file is owned by the group owner.

User quotas are updated when owning groups or users are changed on affected files and directories.

User quota accounting recognizes all supported client protocols.

Directory Quota Alarms

When a directory's soft limit is reached, the "SOFT_EXCEEDED" alarm is triggered.

If the directory exceeds the soft limit for the entire grace period, an additional "GRACE_EXPIRED" alarm is triggered and further writes to the directory are disabled.

If the directory reaches the hard limit, the "HARD_EXCEEDED" alarm is triggered, and the and further writes to the directory are disabled.

User Quota Alarms

If user/group quotas are enabled, alarms are enabled by default for the following events, which can be managed as Event Definitions:

  • A threshold event that monitors the number of users exceeding their quotas. According to the default event definition, an alarm of major severity is raised when one or more users exceed their user quota limits. The alarm notification reports the number of users that exceeded their quotas.  

  • A threshold event that monitors the number of users that are blocked from writing to the quota. According to the default event definition, an alarm of critical severity is raised when one or more users is blocked from writing to the quota.

Remote Quota Protocol (rquota) Support

VAST Cluster lets users track their quota consumption using the Remote Quota Protocol (rquota). rquota is supported for NFSv3.

For each rquota request made for a certain user ID and path, VAST Cluster returns the current quota limits (amount of storage, number of files) and actual consumption values.

Requirements and limitations are as follows:

  • rquota v1 is supported.

  • VAST Cluster responds to GETQUOTA requests.  SETQUOTA requests are not supported.

  • Quota information can be provided for active users only.

  • Information about group quotas is not provided.