управлять использованием квоты в файловых системах XFS (manage use of quota on XFS filesystems)
QUOTA OVERVIEW
In most computing environments, disk space is not infinite. The
quota subsystem provides a mechanism to control usage of disk
space. Quotas can be set for each individual user on any/all of
the local filesystems. The quota subsystem warns users when they
exceed their allotted limit, but allows some extra space for
current work (hard limit/soft limit). In addition, XFS
filesystems with limit enforcement turned off can be used as an
effective disk usage accounting system.
Users' View of Disk Quotas
To most users, disk quotas are either of no concern or a fact of
life that cannot be avoided. There are two possible quotas that
can be imposed - a limit can be set on the amount of space a user
can occupy, and there may be a limit on the number of files
(inodes) they can own.
The quota
command provides information on the quotas that have
been set by the system administrators and current usage.
There are four numbers for each limit: current usage, soft limit
(quota), hard limit, and time limit. The soft limit is the
number of 1K-blocks (or files) that the user is expected to
remain below. The hard limit cannot be exceeded. If a user's
usage reaches the hard limit, further requests for space (or
attempts to create a file) fail with the "Quota exceeded"
(EDQUOT) error.
When a user exceeds the soft limit, the timer is enabled. Any
time the quota drops below the soft limits, the timer is
disabled. If the timer pops, the particular limit that has been
exceeded is treated as if the hard limit has been reached, and no
more resources are allocated to the user. The only way to reset
this condition, short of turning off limit enforcement or
increasing the limit, is to reduce usage below quota. Only the
superuser (i.e. a sufficiently capable process) can set the time
limits and this is done on a per filesystem basis.
Surviving When the Quota Limit Is Reached
In most cases, the only way for a user to recover from over-quota
conditions is to abort whatever activity is in progress on the
filesystem that has reached its limit, remove sufficient files to
bring the limit back below quota, and retry the failed program.
However, if a user is in the editor and a write fails because of
an over quota situation, that is not a suitable course of action.
It is most likely that initially attempting to write the file has
truncated its previous contents, so if the editor is aborted
without correctly writing the file, not only are the recent
changes lost, but possibly much, or even all, of the contents
that previously existed.
There are several possible safe exits for a user caught in this
situation. They can use the editor shell escape command to
examine their file space and remove surplus files.
Alternatively, using sh
(1), they can suspend the editor, remove
some files, then resume it. A third possibility is to write the
file to some other filesystem (perhaps to a file on /tmp) where
the user's quota has not been exceeded. Then after rectifying
the quota situation, the file can be moved back to the filesystem
it belongs on.
Default Quotas
The XFS quota subsystem allows a default quota to be enforced for
any user, group or project which does not have a quota limit
explicitly set. These limits are stored in and displayed as ID
0's limits, although they do not actually limit ID 0.