System Administration Guide: Advanced Administration

Setting Up Quotas

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:

  1. 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.

  2. After a quota is created for one user, it can be copied as a prototype to set up other user quotas.

  3. 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.

  4. 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).

The following table describes the commands you use to set up disk quotas.

Table 17–1 Commands for Setting Up Quotas

Command 

Task 

Man Page 

edquota

Sets the hard limits and soft limits on the number of inodes and the amount of disk space for each user  

edquota(1M)

quotacheck

Examines each mounted UFS file system, comparing the file system's current disk usage against information stored in the file system's disk quota file, and resolves inconsistencies 

quotacheck(1M)

quotaon

Activates the quotas for the specified file systems 

quotaon(1M)

quota

Displays users' disk quotas on mounted file systems to verify that the quotas have been correctly set up 

quota(1M)

Guidelines for Setting Up Quotas

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 that 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 user.

In environments where not all users are likely to push their limits, you might 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.

Before you turn on the quotas, you must first configure the UFS file systems for the quotas, establish quotas for each user, and run the quotacheck command to check for consistency between current disk usage and quota files. Also, if systems are rebooted infrequently, it is a good idea to periodically run the quotacheck command.

The quotas you set up with the edquota command are not enforced until you turn them on by using the quotaon command. If you have properly configured the quota files, the quotas are turned on automatically each time a system is rebooted and the file system is mounted.