Home > Storage > PowerScale (Isilon) > Product Documentation > Storage (general) > Storage Quota Management and Provisioning with Dell PowerScale SmartQuotas > Quota types
SmartQuotas consists of two types of capacity quotas:
Accounting quotas monitor and report on the amount of storage that is consumed but do not take any limiting action or intervention. Instead, they are primarily used for auditing, planning, or billing purposes. For example, SmartQuotas accounting quotas can be used to:
Enforcement quotas, on the other hand, include all the functionality of the accounting option plus the ability to limit disk storage and send notifications. Using enforcement limits, you can logically partition a cluster to control or restrict how much storage that a user, group, or directory can use. For example, you can set capacity limits to ensure that adequate space is always available for key projects and critical applications and to ensure that users of the cluster do not exceed their allotted storage capacity.
Optionally, real-time email quota notifications can be sent to users, group managers, or administrators when they are approaching or have exceeded a quota limit.
SmartQuotas can have one of four enforcement types:
Enforcement setting | Description |
Hard | A limit that cannot be exceeded. If an operation such as a file write causes a quota target to exceed a hard quota, the operation fails, an alert is logged to the cluster and a notification is sent to any specified recipients. Writes resume when the usage falls below the threshold. |
Soft | A limit that can be exceeded until a grace period has expired. When a soft quota is exceeded, an alert is logged to the cluster, and a notification is issued to any specified recipients. However, data writes are permitted during the grace period. If the soft threshold is still exceeded when the period expires, writes are blocked and a hard-limit notification is issued to any specified recipients. |
Advisory | An informal limit that can be exceeded. When an advisory quota threshold is exceeded, an alert is logged to the cluster, and a notification is issued to any specified recipients. Reaching an advisory quota threshold does not prevent data writes. |
None | No enforcement. The quota is accounting only. |
All quota enforcement types have both a limit, or threshold, and a grace period. In OneFS 8.2 and later, a soft quota and advisory quota threshold can be specified as a percentage as well as a specific capacity. For example:
# isi quota quotas create /ifs/quota directory --percent-advisory-threshold=80 --percent-soft-threshold=90 --soft-grace=1d --hard-threshold=100G
A hard quota has a zero-time grace period, an advisory quota has an infinite grace period, and a soft quota has a configurable grace period. When a quota limit and grace period have been exceeded, client write operations to anywhere within that quota domain will fail with EDQUOT. Although enforcements are implemented generically in the quota databases, only one resource may be limited per domain, either logical or physical space.
Even when a hard quota limit is reached, operations are not blocked in certain instances. These instances include administrative control through root (UID 0), system maintenance activities, and the ability of a blocked user to free up space.
The following table describes the three SmartQuotas enforcement states:
Enforcement state | Description |
Under (U) | If the usage is less than the enforcement threshold, the enforcement is in the state U. |
Over (O) | If the usage is greater than the enforcement threshold, the enforcement is in state O. |
Expired (E) | If the usage is greater than the soft threshold, and the usage has remained over the enforcement threshold past the grace period expiration, the soft threshold is in state E. If an administrator modifies the soft threshold but not the grace period, and the usage still exceeds the threshold, the enforcement is in state E. |
Exceptions to enforcement of quotas include the following scenarios:
Governance is the mechanism by which SmartQuotas determines which domains apply to a given file or directory. After a sequence of domain configuration changes, a persistent record is required to know where a file had been accounted. As such, quotas use tagging, and the governing domains are recorded in a dynamic attribute of the inode.
A quota domain account tracks the usage and limits of a particular domain. For scalability reasons, the QDA system dynamically breaks up the quota domain's account of the quota into some number of quota account constituents (QACs), each of which tracks a part of the account. Modifications to the account are distributed at random among these constituents. Each QAC is stored in a set of mirrored quota accounting blocks (QABs). QABs track quota usage and consist of several level counters for different tracked resource types and level limits for advisory, soft, and hard quotas.
The quota domain record stores all configuration and state information that is associated with a domain. The record can be subdivided into three components:
Component | Description |
Configuration | Quota configuration |
Enforcement | The grace period, limit, and notification state |
Account | A mechanism for space utilization accounting |
With SmartQuotas, the primary ways of tracking, enforcing, and reporting resource usage are as follows:
Tracking method | Description |
Physical size | Simple to track because it includes all the data and metadata resources used, including the data-protection overhead. The quota system can also track the difference before and after the operation. |
File system logical size | Slightly more complex to calculate and track but provides users with a more comprehensible means of understanding their usage. |
File accounting | The most straightforward tracking method, because whenever a file is added to a domain, the file count is incremented. |
Application logical size | The method that reports total logical data stored across different tiers, including CloudPools, to account for the exact file sizes. This method allows users to view quotas and free space as an application would view them, in terms of how much capacity is available to store logical data, regardless of data reduction or tiering technology. |
Before OneFS 8.2, SmartQuotas size accounting metrics typically used a count of the number of 8 KB blocks that are required to store file data on a cluster. Accounting based on block count can result in challenges, such as small file over-reporting. For example, a 4 KB file would be logically accounted for as 8 KB. Similarly, block-based quota accounting only extends to on-premises capacity consumption. This means that a 100 MB file that is stored within a CloudPools tier is only accounted for as an 8 KB SmartLink stub file, rather than its actual size.
To directly address this issue, in OneFS 8.2 and later, application logical quotas provide a new quota accounting metric. Application logical size accounts for, reports, and enforces the actual space that is consumed and available for storage, independent of whether files are cloud-tiered, sparse, deduplicated, or compressed. Application logical quotas can be configured from the CLI with the following syntax:
# isi quota quotas create <dir> directory –-thresholds-on=applogicalsize
Legacy quotas created on earlier OneFS versions can easily be converted to use application logical size after upgrading to OneFS 8.2.
For logical space accounting, some inode attributes, such as ACLs and symbolic links, are included in the resource count. This uses the same data that is displayed in the logical size field by the isi get –DD <file> CLI command.