Quota
Installation
To enable quotas under Linux (a RHEL based system), you will need the quota
package.
$ yum install quota
The filesystem must be mounted with the usrquota
option for user quotas, grpquota
for group quotas, or both.
You may set this in /etc/fstab
. In this example, /export
will be made to have user quota support:
/dev/sdb1 /export ext4 defaults,usrquota 1 2
Remount the filesystem (or reboot) after editing /etc/fstab
to apply:
# mount -o remount /export
With quotas enabled, you will need to create your quotas
# quotacheck -cug /export
## If you get the following error
## quotacheck: Cannot guess format from filename on /dev/sda. Please specify format on commandline.
## quotacheck: Cannot find filesystem to check or filesystem not mounted with quota option.
## ... specify the format like so:
# quotacheck -cugvF vfs0 /export
where:
Flag | Description |
---|---|
-c |
creates |
-u |
quotas for users |
-g |
quotas for groups |
-v |
verbose |
-F |
force format |
Configuration
Use edquota
or setquota
to modify the quota for a specific user.
Using edquota
When you run edquota leo
you will see:
# edquota leo
Disk quotas for user leo (uid 1061):
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 91380 0 0 1127 0 0
By default, there will be no quotas set (represented as 0-values in the output). To specify the soft and hard limits for both blocks (actual space, in bytes) and inodes (number of inode records available that points to a file or directory), edit the values under each column. Quota values will be applied once you save and quit the text editor.
If you run edquota
again, you should see the new values:
# edquota
Disk quotas for user leo (uid 1061):
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 91380 102400 153600 1127 8000 9000
In the above example, I gave leo 100MB soft and 150MB hard quota and a 8000 soft and 9000 hard inode limit. This means leo will be able to write up to 150MB or have 9000 files and directories before writes fail. Exceeding the soft quota for more than the grace period will also prevent leo from writing to the filesystem.
You may set the grace period by running
# edquota -t
Using setquota
# setquota -u -F vfsv1 username 460800 563200 22500 33000 /export/ug
See Also: http://pages.cpsc.ucalgary.ca/~leo/support/quota.html