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 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.
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.
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 the bytes used by every 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 using 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 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.
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.
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.