VAST Cluster enables you to manage how cluster capacity is used through quotas. 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.
User quotas. These quotas can be defined per user. They limit the amount of capacity individual users and groups can use within a directory and the numbers of directories and files.
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 defined at lower levels for warning purposes. It's also possible to define a grace period to limit how long you allow the soft capacity limit to be exceeded.
Limitations apply to moving directories in and out of quota-controlled directories. The following moves are not supported:
Moving a directory between two quota-controlled directories.
Moving a directory out of a quota-controlled directory into a directory that is not controlled by a quota.
Moving a directory from a directory that is not controlled by a quota into a quota-controlled directory.
There is no limitation on moving files from one directory to another.
Quota capacity usage is counted according to used bytes in each file and not according to the logical file size. Bytes are counted in blocks of 32KB. A file that is smaller than 32KB is counted as taking 32KB of quota space.
A file with 8KB of data (contiguous offsets 0-8k) would consume 32KB of quota capacity. 10,000 such files would consume 320,000KB=~320MB of quota capacity although they comprise only 80MB of logical data.
Although the files would be counted as using 32KB of quota capacity they would use no more than 8KB of SSD space (less with compression/deduplication).
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.
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
df command from Linux should return the full 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.
When a directory's soft limit is reached, the alarm "SOFT_EXCEEDED" is triggered.
If the directory remains in excess of the soft limit for the time defined as the grace period, an additional alarm, "GRACE_EXPIRED," is triggered and the directory is blocked to writes.
If the directory reaches the hard limit, the alarm "HARD_EXCEEDED" is triggered, and the directory is blocked to writes.
If user/group quotas are enabled, alarms are enabled by default on the following events, which can be managed as Event Definitions:
A threshold event that monitors the number of users exceeding their quotas. Per the default event definition, an alarm of major severity is raised when one or more users exceed their user quota limits on the quote. The alarm notification reports the number of users that exceeded their quota.
A threshold event that monitors the number of users that are blocked from writing to the quota. Per the default event definition, an alarm of critical severity is raised when one or more users is blocked from writing to the quota.