Quota: Difference between revisions

From Leo's Notes
This page was last edited on 29 March 2015, at 05:50.
No edit summary
No edit summary
Line 2: Line 2:
== Installation ==
== Installation ==


To enable quotas under Linux (RH based), you will need the <code>quota</code> package.
To enable quotas under Linux (a RHEL based system), you will need the <code>quota</code> package.


  yum install quota
  yum install quota


You will then need to make your mounts support quotas using <code>usrquota</code> as a option. For example, in fstab, to make <code>/export</code> have quota support:
The filesystem must be mounted with the <code>usrquota</code> option for user quotas, <code>grpquota</code> for group quotas, or both.


You may set this in <code>/etc/fstab</code>. In this example, <code>/export</code> will be made to have user quota support:
  /dev/sdb1              /export                ext4    defaults,usrquota 1 2
  /dev/sdb1              /export                ext4    defaults,usrquota 1 2


Remount the mount to apply:
Remount the filesystem (or reboot) after editing <code>/etc/fstab</code> to apply:
 
  mount -o remount /export
  mount -o remount /export


With quotas enabled, you will need to create your quotas
With quotas enabled, you will need to create your quotas
  quotacheck -cug /export
  quotacheck -cug /export


Note that:
where:
  * -c  - creates
  * -c  - creates
  * -u  - quotas for users
  * -u  - quotas for users
Line 27: Line 26:
Use <code>edquota</code> or <code>setquota</code> to modify the quota for a specific user.
Use <code>edquota</code> or <code>setquota</code> to modify the quota for a specific user.


When you run <code>edquota leo3</code> you will see:
=== Using <code>edquota</code> ===
 
When you run <code>edquota leo</code> you will see:
  1 Disk quotas for user leo3 (uid 1061):
{{hltext | code =
2  Filesystem                  blocks      soft      hard    inodes    soft    hard
  Disk quotas for user leo (uid 1061):
3  /dev/sdb1                    91380          0          0      1127        0        0
  Filesystem                  blocks      soft      hard    inodes    soft    hard
  /dev/sdb1                    91380          0          0      1127        0        0
}}


By default, there is no quotas for users (hence 0). To specify the soft/hard values for both blocks and inodes, edit the appropriate columns and then save and quit the editor.
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.


  1 Disk quotas for user leo3 (uid 1061):
If you run <code>edquota</code> again, you should see the new values:
2  Filesystem                  blocks      soft      hard    inodes    soft    hard
{{hltext | code =
3  /dev/sdb1                    91380    102400    153600      1127    8000    9000
  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 leo3 100MB of (soft) quota and a 150MB hard limit. The number of inodes enforces a file limit. That is, I have given leo3 an upper limit of 8000 (soft) file/directories and a upper hard limit of 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
You may set the grace period by running
  edquota -t
  edquota -t
=== Using <code>setquota</code> ===
Please see http://pages.cpsc.ucalgary.ca/~leo/support/quota.html




[[Category:Linux]]
[[Category:Linux]]
{{Navbox Linux}}
{{Navbox Linux}}

Revision as of 05:50, 29 March 2015

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

where:

* -c  - creates
* -u  - quotas for users
* -g  - quotas for groups

Configuration

Use edquota or setquota to modify the quota for a specific user.

Using edquota

When you run edquota leo you will see:

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:

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

Please see http://pages.cpsc.ucalgary.ca/~leo/support/quota.html