一、磁盘配额

磁盘配额就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能

使用最大配额范围内的磁盘空间。设置磁盘配额后,可以对每一个用户的磁盘使用

情况进行跟踪和控制,通过监测可以标识出超过配额报警阈值和配额限制的用户,

从而采取相应的措施。磁盘配额管理功能的提供,使得管理员可以方便合理地为用

户分配存储资源,可以限制指定账户能够使用的磁盘空间,这样可以避免因某个用户

的过度使用磁盘空间造成其他用户无法正常工作甚至影响系统运行避免由于磁盘空

间使用的失控可能造成的系统崩溃,提高了系统的安全性。

其实简单的来说,就是通过对用户所能使用的磁盘空间和所能创建的文件个数,进行限

制,磁盘配额只能对文件系统(磁盘分区)来做,而不能对目录做,以下所说的文件系统,都

是一个独立的磁盘分区.

二、LINUX磁盘配额

首先我们要检测一下,看内核是不是支持磁盘配额,使用以下命令

[root@Honway scripts]# grep CONFIG_QUOTA /boot/config-2.6.18-164.el5

CONFIG_QUOTA=y

CONFIG_QUOTACTL=y

如果是y,表示内核支持,否则的话,要编译内核,添加支持磁盘配额的模块才行.
 

如果上面的支持,那我们就可以真正的开始配置磁盘配额了

1,为要启用磁盘配额的文件系统设定挂载选项:

首先,要对哪个文件系统(分区来做),然后设定其挂载选项,如果已经挂载了,需要使用重

新挂载一下,比如我们要对/home来做(/home是一个独立的磁盘分区)

# mount -o remount,usrquota,grpquota /home

如果要对一个新建的磁盘分区来做,那我们使用如下方法

在linux中,一个磁盘分区想要使用,必需要挂载,

挂载的时候,使用选项usrquota和grpquota来开启磁盘分区对配额的支持.

然后可以使用mount命令查看,看到最后一行后面的选项里面(rw,usrquota,grpquota)

当然,我们可以把这个写到/etc/fstab文件里面,让系统开机后,自动挂载
 
2,创建或更新配额数据库:

# quotacheck -cmug /filesystem

         -c      创建,不读取现有的数据库

         -m    一定不要将现有的文件系统挂载为只读

         -u      检测用户配额数据库

         -g      检测组配额数据库

完成后,我们可以看到,在里面生成了两个文件

aquota.user

aquota.group

slackware是我自己创建的,方便以后做验证.

3,启用对应文件系统上磁盘配额的功能

# quotaon /home     启用/home上的磁盘配额

# quotaoff /home 关闭/home上的磁盘配额

# quotaon -a 启用所有文件系统上的磁盘配额

# quotaoff -a 关闭所有文件系统上的磁盘配额
 
4,设定用户配额或组配额

# edquota         打开交互式的编译磁盘配额文件

         # eduota [-u] redhat

         # edquota -g redhat

         # edquota -p redhat centos     将redhat的磁盘配额复制给centos

         # edquota -t 设定宽限期限

# setquota     非交互式

  setquota  [  -r ] [ -u | -g ] [ -x ] [ -F quotaformat ] name block-softlimit block-

       hardlimit inode-softlimit inode-hardlimit -a | filesystem...

  setquota  -t  [  -u  |  -g ] [ -x ] [ -F quotaformat ] block-grace inode-grace -a |

       filesystem...
   
   
显示某文件系统上磁盘配额摘要信息

# repquota FILESYSTEM

向所有超出文件系统配额的用户发邮件:

# warnquota

例:

键入命令

[root@Honway ~]# edquota slackware
 
 
打开了一个VI编译器,来对用户的配额进行编辑,以下是对各字段的解释

Filesystem:在哪个文件系统(分区)上有磁盘配额限制

blocks:已经使用的块大小,单位为K

soft:空间大小的软限制(可以超出)

hard:空间使用大小的硬限制(绝对不能超出)

inodes:当前用户拥有文件个数

soft:文件个数的软限制(可以超出)

hard:文件个数的硬限制(不可以被超出)

我们可以对其进行修改

写完之后,wq保存退出.然后使用用户slackware来进行验证

 
用户可以直接使用quota命令,来查看自己的磁盘配额限制

各字段的详细解释

Filesystem:在哪个文件系统(分区)上有磁盘配额限制

blocks:已经使用的块大小,单位为K

quota:空间大小的软限制(可以超出)

limit:空间使用大小的硬限制(绝对不能超出)

grace:超出软限制之后,为用户保留多长时间,如果在设定的时间内用户还没有把超出的

空间让出来,则删除文件

files:当前用户拥有文件个数

quota:文件个数的软限制(可以超出)

limit:文件个数的硬限制(不可以被超出)

grace:宽限时间,同空间大小限制的宽限时间