首页 > 服务器 > Linux服务器 > 正文

Linux Quota基础教程

2024-09-05 22:52:37
字体:
来源:转载
供稿:网友

Quota介绍

这篇文章将介绍Linux的一个重要工具-Quota,使用Quota能对某一分区下指定用户或用户组进行磁盘限额。这里要说明的是,限额不是针对用户主目录,而是针对这个分区下的用户或用户组。Quota通过限制用户的blocks或者inodes起到限额的作用。

Quota配置

1、首先我们需要设置分区的Quota档案格式,只要在 /etc/fstab 里头增加了 usrquota, grpquota 就可以。如下,对分区/和/home启用quota磁盘格式。

/dev/VolGroup00/LogVol04 /

ext3 defaults,usrquota,grpquota 1 1

LABEL=/boot /boot ext3 defaults 1 2

devpts /dev/pts devpts gid=5,mode=620 0 0

tmpfs /dev/shm tmpfs defaults 0 0

/dev/VolGroup00/LogVol00 /home

ext3 defaults,usrquota,grpquota 1 2

proc /proc proc defaults 0 0

sysfs /sys sysfs defaults 0 0

/dev/VolGroup00/LogVol02 /tmp ext3 defaults 1 2

/dev/VolGroup00/LogVol03 /var ext3 defaults 1 2

/dev/VolGroup00/LogVol01 swap swap defaults 0 0

2、重新挂载/和/home文件系统激活quota。

mount -o remount /

mount -o remount /home

3、初始化quota数据库,运行quotacheck -cug 命令之后,在每个挂载分区根目录下你会发现生成了aquota.user aquota.group两个文件,这两个文件记录了对分区限额的信息。

初始化quota数据库:

quotacheck -cug /

quotacheck -cug /home/

检测是否已经生成:

ls -al /aquota*

-rw------- 1 root root 6144 May 26 17:15 /aquota.group

-rw------- 1 root root 6144 May 26 17:15 /aquota.user

ls -al /home/aquota*

-rw------- 1 root root 7168 May 26 17:16 /home/aquota.group

-rw------- 1 root root 7168 May 26 17:16 /home/aquota.user

4、开启一个定时任务,用来定时扫描quota空间。最好设置在深夜执行,如下:

#MIN(0-59) HOUR (0-23)

DoM (1-31) MONTH (1-12) DoW (0-7) CMD

0 1 * * 0 quotacheck -vug /

20 1 * * * quotacheck -vug /home

5、启用文件系统的quota支持。最简单的方法是重启计算机,你也可以使用quotaon命令而不需要重启计算机。

使用quotaon激活:

quotaon /home

quotaon /

检查是否激活成功:

quotaon -p /home

group quota on /home (/dev/mapper/VolGroup00-LogVol00) is on

user quota on /home (/dev/mapper/VolGroup00-LogVol00) is on

quotaon -p /

group quota on / (/dev/mapper/VolGroup00-LogVol04) is on

user quota on / (/dev/mapper/VolGroup00-LogVol04) is on

1 2 下一页

 

设定用户或用户组磁盘限额

在为用户设置限额时,需要知道几个术语:

soft :这是最低限制容量的意思,使用者在宽限期间之内,他的容量可以超过 soft ,但必需要宽限时间之内将磁盘容量降低到 soft 的容量限制之下!

hard :这是『绝对不能超过』的容量!跟 soft 相比的意思为何呢?通常 hard limit 会比 soft limit 为高,例如网络磁盘空间为 30 MB ,那么 hard limit 就设定为 30MB ,但是为了让使用者有一定的警戒心,所以当使用空间超过 25 MB 时,例如使用者使用了 27 MB 的空间时,那么系统就会警告使用者,让使用者可以在『宽限时间内』将他的档案量降低至 25 MB ( 亦即是 soft limit )之内!也就是说, soft 到 hard 之间的容量其实就是宽限的容量啦!可以达到针对使用者的『警示』作用!

 

宽限时间:那么宽限时间就可以很清楚的知道含意是什么了!也就是当您的使用者使用的空间超过了 soft limit ,却还没有到达 hard limit 时,那么在这个『宽限时间』之内,就必需要请使用者将使用的磁盘容量降低到 soft limit 之下!而当使用者将磁盘容量使用情况超过 soft limit 时,『宽限时间』就会自动被启动,而在使用者将容量降低到 soft limit 之下,那么宽限时间就会自动的取消!

1、使用edquota编辑用户限额

edquota thirt

2、设置如下:

Disk quotas for user thirt (uid 500):

Filesystem blocks soft hard inodes soft hard

/dev/mapper/VolGroup00-LogVol04 0 0 0 0 0 0

/dev/mapper/VolGroup00-LogVol00 88 92160 102400 13 0 0

解释:

filesystem:这个是那个 partition 的意思!

blocks:这个是目前使用者 thirt ( uid 500 )在 /dev/mapper/VolGroup00-LogVol00 这个 filesystem (参考上面一个信息),所耗掉的磁盘容量,也就是目前的使用掉的空间啦!单位是 Kbytes 喔!这个信息是 quota 程序自己计算出来的,所以请不要修改他!

soft 与 hard :这个是目前的 test 在这个 filesystem 之内的 quota 限制值!至于 soft 与 hard 的意思就如同上面提的那个意思!当 soft 与 hard 数值为 0 的时候,表示『没有限制』的意思!而数值的单位仍是 Kbytes 喔!

inodes :是目前使用掉 inode 的状态,也是 quota 自己计算出来而得到的,所以不要去变更他。一般而言, inode 不容易控制,所以您可以不必去限制 inode 呢!

3、设置过期时间

设置/ 文件系统的默认过期时间:

edquota -f / -t

Grace period before enforcing soft limits for users:

Time units may be: days, hours, minutes, or seconds

Filesystem Block grace period Inode grace period

/dev/mapper/VolGroup00-LogVol04 7days 7days

设置/home文件系统过期时间:

edquota -f /home -t

Grace period before enforcing soft limits for users:

Time units may be: days, hours, minutes, or seconds

Filesystem Block grace period Inode grace period

/dev/mapper/VolGroup00-LogVol00 7days 7days

4、验证设置

打印所有限额信息

repquota -a

打印单个用户限额信息

quota thirt

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表