VAST Cluster lets you manage how cluster capacity is consumed 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. A directory quota is set on a particular directory and limits the capacity that can be used by the directory and the number of files or subdirectories that can be created under the directory.
Directory quotas can be nested up to 16 levels deep for any path. For example, if there are quotas already defined for each of the directories within the path
/dir1/dir2/<...>/dir17, a quota could not be created for/dir1/dir2/<...>/dir17/dir18as this would result in nesting 17 levels deep. However, quotas could be created at/dir1/dir2/<...>/dir16/dir18or/dir1/dir2/<...>/dir15/dir19as these would not exceed nesting 16 levels deep.User quotas. A user quota is set on a user or a group of users and limits the capacity that the user (or a group) can use within a directory and the numbers of directories and files that can be created by the user under the directory.
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 raising alarms.
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, a SOFT_EXCEEDED alarm is raised.
If the directory exceeds the soft limit for the entire grace period, an additional GRACE_EXPIRED alarm is raised and further writes to the directory are not allowed.
If the directory reaches the hard limit, a HARD_EXCEEDED alarm is raised, and further writes to the directory are not allowed.
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 are 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:
rquotav1 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.