You can set up quotas to limit the amount of disk space and number of inodes (roughly equivalent to the number of files) available to users. These quotas are activated automatically each time a file system is mounted. This section describes how to configure file systems for quotas, and how to set up and activate quotas.
Setting up quotas involves these general steps:
A series of commands prepares a file system to accept quotas, ensuring that quotas will be enforced each time the system is rebooted and the file system is mounted. Entries must be added to the /etc/vfstab file, and a quotas file must be created in the top-level directory of the file system.
After a quota is created for one user, it can be copied as a prototype to set up other user quotas.
Before quotas are actually turned on, another command checks for consistency by comparing the proposed quotas with the current disk usage to make sure that there are no conflicts.
Finally, a command turns the quotas on for one or more entire file systems.
These steps ensure that quotas are automatically activated on a file system each time it is mounted. For specific information about these procedures, see "Setting Up Quotas Task Map"
Table 58-1 describes the commands you use to set up disk quotas.
Table 58-1 Commands for Setting Up Quotas
Command |
Enables You To ... |
---|---|
Set the hard and soft limits on the number of inodes and disk space for each user. |
|
Examine each mounted UFS file system, comparing against information stored in the file system's disk quota file, and resolve inconsistencies. |
|
Activate the quotas for the specified file systems. |
|
Display user's quotas on mounted file systems to verify that quotas have been correctly set up. |
Before you set up quotas, you need to determine how much space and how many inodes to allocate to each user. If you want to be sure the total file system space is never exceeded, you can divide the total size of the file system between the number of users. For example, if three users share a 100-Mbyte slice and have equal disk space needs, you could allocate 33 Mbytes to each. In environments where not all users are likely to push their limits, you may want to set individual quotas so that they add up to more than the total size of the file system. For example, if three users share a 100-Mbyte slice, you could allocate 40 Mbytes to each.
When you have established a quota for one user by using the edquota command, you can use this quota as a prototype to set the same quota for other users on the same file system.
After you have configured UFS file systems for quotas and established quotas for each user, run the quotacheck command to check consistency between current disk usage and quota files before you actually turn quotas on. Also, if systems are rebooted infrequently, it is a good idea to periodically run quotacheck.
The quotas you set up with edquota are not enforced until you turn them on by using the quotaon command. If you have properly configured the quota files, quotas will be turned on automatically each time a system is rebooted and the file system is mounted.
Task |
Description |
For Instructions, Go To |
|||||
---|---|---|---|---|---|---|---|
Configure a File System for Quotas |
Edit /etc/vfstab so that quotas are activated each time the file system is mounted, and create a quotas file. | ||||||
Set Up Quotas for a User |
Use the edquota command to create disk and inode quotas for a single user account. | ||||||
| |||||||
Set Up Quotas for Multiple Users |
Optional. Use edquota to apply prototype quotas to other user accounts. | ||||||
| |||||||
Check for Consistency |
Use the quotacheck command to compare quotas to current disk usage for consistency on one or more file systems. | ||||||
| |||||||
Turn Quotas On |
Use the quotaon command to initate quotas on one or more file systems. | ||||||
|
Edit the /etc/vfstab file by using the editor of your choice. Add rq to the mount options field for each UFS file system that will have quotas.
Exit the file, saving the changes.
Change directory to the top of the file system that will have quotas.
# touch quotas |
Change permissions to read/write for root only.
# chmod 600 quotas |
The following example from /etc/vfstab shows that the /export/home directory from the system pluto is mounted as an NFS file system on the local system with quotas enabled.
#device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # pluto:/export/home - /export/home nfs - yes rq |
The following example line from /etc/vfstab shows that the local (UFS)/work directory is mounted with quotas enabled.
#device device mount FS fsck mount mount #to mount to fsck point type pass at boot options # /dev/dsk/c0t4d0s0 /dev/rdsk/c0t4d0s0 /work ufs 3 yes rq |
Use the quota editor to create a temporary file containing one line of quota information for each mounted UFS file system that has a quotas file in its top-level directory.
# edquota username |
username |
User for whom you want to set up quotas. |
Change the number of 1-Kbyte disk blocks, both soft and hard, and the number of inodes, both soft and hard, from 0 (the default) to the quotas you specify for each file system.
Exit the editor, saving your changes.
Verify the user's quota by using the quota command.
# quota -v username |
-v |
Display's user's quota information on all mounted file systems where quotas exist. |
username |
Specifies user name to view quota limits. |
The following example shows the contents of the temporary file opened by edquota on a system where /files is the only mounted file system containing a quotas file in its top-level directory.
fs /files blocks (soft = 0, hard = 0) inodes (soft = 0, hard = 0) |
The following example shows the same line in the temporary file after quotas have been set up.
fs /files blocks (soft = 50, hard = 60) inodes (soft = 90, hard = 100) |
Use the quota editor to apply the quotas you already established for a prototype user to the additional users you specify.
# edquota -p prototype-user username ... |
prototype-user |
User name of the account for which you have set up quotas. |
username .. |
Specifies one or more user names of additional accounts. |
The following example applies the quotas established for user bob to users mary and john.
# edquota -p bob mary john |
To ensure accurate disk data, the file systems being checked should be quiescent when you run the quotacheck command manually. The quotacheck command is run automatically when a system is rebooted.
Run a consistency check on UFS file systems. See the quotacheck.
# quotacheck [ -v ] -a | filesystem |
-v |
(Optional) Identifies the disk quotas for each user on a particular file system. |
-a |
Checks all file systems with an rq entry in the /etc/vfstab file. |
filesystem |
Specifies a file system to check. |
The following example checks quotas for the /export/home file system on the /dev/rdsk/c0t0d0s7 slice. The /export/home file system is the only file system with an rq entry in the /etc/vfstab file.
# quotacheck -va *** Checking quotas for /dev/rdsk/c0t0d0s7 (/export/home) |
Turn file system quotas on by using the quotaon command.
# quotaon [-v] -a | ffilesystem ...] |
-v |
(Optional) Verbose option. |
-a |
Turns quotas on for all file systems with an rq entry in the /etc/vfstab file. |
filesystem ... |
Turns quotas on for one or more file systems that you specify. |
The following example turns quotas on for the file systems on the /dev/dsk/c0t4d0s2 and /dev/dsk/c0t3d0s2 slices.
# quotaon -v /dev/dsk/c0t4d0s2 /dev/dsk/c0t3d0s2 /dev/dsk/c0t4d0s2: quotas turned on /dev/dsk/c0t3d0s2: quotas turned on |