Quota considerations include:
- The maximum tested quota limit is 400,000 (although the file system has no hard-coded limit on quotas). However, when listing a large number of quotas, only a partial list may be returned.
- With CloudPools data, the quota is calculated based on the size of the data local to the cluster. For example, for a 100MB file tiered to a cloud provider, SmartQuotas would calculate just the size of the local stub file (8K).
- SmartQuotas reports the logical capacity of the files, whether they are deduplicated or not.
- The QuotaScan job runs after the creation of a quota, but not after a change. However, it does run on a schedule and incorporates any changes then.
- If two quotas are created on the same directory – for example an accounting quota without Snapshots and a hard quota with Snapshots - the quota without Snapshot data overrules the limit from the quota with Snapshot data.
- SmartQuotas also provide a low impact way to provide directory file count reports.
- Configuration changes for linked quotas must be made on the parent quota that the linked quota is inheriting from. Changes to the parent quota are propagated to all children. To override configuration from the parent quota, you must unlink the quota first.
- If a quota type uses the accounting-only option, enforcement limits cannot be used for that quota.
- Cloned and deduplicated files are treated as ordinary files by quotas. If the quota includes data protection overhead, the data protection overhead for shared data is not included in the usage calculation.
- Moving quota directories across quota domains is not supported.
- You can edit or delete a quota report only when the quota is not linked to a default quota.
- A quota can only be unlinked when it is linked to a default quota. Configuration changes for linked quotas must be made on the parent (default) quota that the linked quota is inheriting from. Changes to the parent quota are propagated to all children. If you want to override configuration from the parent quota, you must first unlink the quota.
- Disabling all quota notifications also disables all system notification behavior. Use the --clear options to remove specific quota notification rules and fall back to the system default.
- Quota containers compartmentalize /ifs, so that a directory with a container will appear as its own separate ‘file system slice’. For example, to configure a directory quota with a 4TB container on /ifs/data/container1, you could use the following CLI command:
# isi quota quotas create /ifs/data/container1 directory --hard-threshold 4T --container true
Within OneFS, quota data is maintained in Quota Accounting Blocks (QABs). Each QAB contains many Quota Accounting records, which need to be updated whenever a particular user adds or removes data from a file system on which quotas are enabled. If many clients are accessing the file system simultaneously, these blocks can become highly contended and a potential bottleneck.
To address this issue, quota accounts have a mechanism to avoid hot spots on the nodes storing QABs. Quota Account Constituents (QACs) help parallelize the quota accounting by including additional QAB mirrors on other nodes.
The following sysctl increases the number of quota accounting constituents, which allows for better scalability and reduces latencies on create/delete flurries when quotas are used.
Using this parameter, the internally calculated QAC count for each quota is multiplied by the specified value. If a workflow experiences write performance issues, and it has many writes to files or directories governed by a single quota, increasing the QAC ratio (efs.quota.reorganize.qac_ratio) might improve write performance.
The QAC ration can be changed to value 8 from the default value of 1 by running the following OneFS CLI command:
# isi_sysctl_cluster efs.quota.reorganize.qac_ratio=8
For more information, see the Storage Quota Management and Provisioning with Dell PowerScale SmartQuotas white paper.