Questo contenuto non è disponibile nella lingua selezionata.
3.3. XFS Quota Management
The XFS quota subsystem manages limits on disk space (blocks) and file (inode) usage. XFS quotas control or report on usage of these items on a user, group, or directory or project level. Also, note that while user, group, and directory or project quotas are enabled independently, group and project quotas are mutually exclusive.
When managing on a per-directory or per-project basis, XFS manages the disk usage of directory hierarchies associated with a specific project. In doing so, XFS recognizes cross-organizational "group" boundaries between projects. This provides a level of control that is broader than what is available when managing quotas for users or groups.
XFS quotas are enabled at mount time, with specific mount options. Each mount option can also be specified as
noenforce; this allows usage reporting without enforcing any limits. Valid quota mount options are:
uquota/uqnoenforce: User quotasgquota/gqnoenforce: Group quotaspquota/pqnoenforce: Project quota
Once quotas are enabled, the
xfs_quota tool can be used to set limits and report on disk usage. By default, xfs_quota is run interactively, and in basic mode. Basic mode subcommands simply report usage, and are available to all users. Basic xfs_quota subcommands include:
quota username/userID- Show usage and limits for the given
usernameor numericuserID df- Shows free and used counts for blocks and inodes.
In contrast,
xfs_quota also has an expert mode. The subcommands of this mode allow actual configuration of limits, and are available only to users with elevated privileges. To use expert mode subcommands interactively, use the following command:
xfs_quota -x
# xfs_quota -x
Expert mode subcommands include:
report /path- Reports quota information for a specific file system.
limit- Modify quota limits.
For a complete list of subcommands for either basic or expert mode, use the subcommand
help.
All subcommands can also be run directly from a command line using the
-c option, with -x for expert subcommands.
Example 3.2. Display a Sample Quota Report
For example, to display a sample quota report for
/home (on /dev/blockdevice), use the command xfs_quota -x -c 'report -h' /home. This displays output similar to the following:
To set a soft and hard inode count limit of 500 and 700 respectively for user
john, whose home directory is /home/john, use the following command:
xfs_quota -x -c 'limit isoft=500 ihard=700 john' /home/
# xfs_quota -x -c 'limit isoft=500 ihard=700 john' /home/
In this case, pass mount_point which is the mounted xfs file system.
By default, the
limit subcommand recognizes targets as users. When configuring the limits for a group, use the -g option (as in the previous example). Similarly, use -p for projects.
Soft and hard block limits can also be configured using
bsoft or bhard instead of isoft or ihard.
Example 3.3. Set a Soft and Hard Block Limit
For example, to set a soft and hard block limit of 1000m and 1200m, respectively, to group
accounting on the /target/path file system, use the following command:
xfs_quota -x -c 'limit -g bsoft=1000m bhard=1200m accounting' /target/path
# xfs_quota -x -c 'limit -g bsoft=1000m bhard=1200m accounting' /target/path
Note
The commands
bsoft and bhard count by the byte.
Important
While real-time blocks (
rtbhard/rtbsoft) are described in man xfs_quota as valid units when setting quotas, the real-time sub-volume is not enabled in this release. As such, the rtbhard and rtbsoft options are not applicable.
Setting Project Limits Copia collegamentoCollegamento copiato negli appunti!
Copia collegamentoCollegamento copiato negli appunti!
With XFS file system, you can set quotas on individual directory hierarchies in the file system that are known as managed trees. Each managed tree is uniquely identified by a project ID and an optional project name.
- Add the project-controlled directories to
/etc/projects. For example, the following adds the/var/logpath with a unique ID of 11 to/etc/projects. Your project ID can be any numerical value mapped to your project.echo 11:/var/log >> /etc/projects
# echo 11:/var/log >> /etc/projectsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Add project names to
/etc/projidto map project IDs to project names. For example, the following associates a project called logfiles with the project ID of 11 as defined in the previous step.echo logfiles:11 >> /etc/projid
# echo logfiles:11 >> /etc/projidCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Initialize the project directory. For example, the following initializes the project directory
/var:xfs_quota -x -c 'project -s logfiles' /var
# xfs_quota -x -c 'project -s logfiles' /varCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Configure quotas for projects with initialized directories:
xfs_quota -x -c 'limit -p bhard=lg logfiles' /var
# xfs_quota -x -c 'limit -p bhard=lg logfiles' /varCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Generic quota configuration tools (
quota, repquota, and edquota for example) may also be used to manipulate XFS quotas. However, these tools cannot be used with XFS project quotas.
Important
Red Hat recommends the use of
xfs_quota over all other available tools.
For more information about setting XFS quotas, see
man xfs_quota, man projid(5), and man projects(5).