Linux磁盘配额Quota配置详解

记录日常 2010-03-08

Quota一直就是个很有用的东西!怎么说呢?举个例子来说明,如果您曾经申请过网络的mail服务时,那么肯定就会明白什么是20MB的邮件空间、 30MB的免费网页空间,好了,这个20MB,30MB是怎样定义出来的呢?哈哈!没错,就是quota这个东西搞出来的!如果我们要限制用户使用硬盘的 容量使用大小,嗯!来这里看看就对了!

什么是quota

『quota』就字面上的意思来看,呵呵!就是有多少『限额』的意思啦!如果是用在零用钱上面,就是类似『有多少零用钱一个月』的意思之类的。如果是在容量空间上面呢?以Linux来说,呵呵!就是有多少容量限制的意思。

在Linux系统中,由于是多人多任务的环境,所以会有多人共同使用一个硬盘空间的情况发生,如果其中有少数几个使用者大量的占掉了硬盘空间的话,那势必 压缩其它使用者的使用权力!因此管理员应该适当的开放硬盘的权限给使用者,以妥善的分配系统资源!避免有人抗议呀!举例来说,我们使用者的预设家目录都是 在/home底下,如果/home是个独立的partition,他大概有10G好了,而/home底下共有30个人,也就是说,每个使用者平均应该会有 333MB的空间才对。偏偏有个使用者在他的家目录底下塞了好多只影片,占掉了8GB的空间,想想看,是否造成其它正常使用者的不便呢?这个时候就得要靠 『quota』的帮忙了!

Quota的一般用途

quota比较常使用的几个情况是:

针对Web服务器,例如:每个人的网页空间的容量限制!

针对Mail服务器,例如:每个人的邮件空间限制。

针对File服务器,例如:每个人最大的可用网络硬盘空间。

在Linux当中,使用来作为硬盘空间管理的就是所谓的quota这个东东啦!

Quota的使用限制

使用这个模块要有几个步骤,底下就分别说说吧!另外要特别注意的是,使用quota时有几个基本的限制需要谈一谈:

仅针对整个partition:

quota实际在运作的时候,是针对『整个partition』进行限制的,例如:如果你的/dev/hda5是挂载在/home底下,那么在/home底下的所有目录都会受到限制!

核心必须支持quota:

Linux系统核心必须有支持quota这个模块才行:如果您是使用FC4的预设核心,嘿嘿!那恭喜你了,你的系统已经预设有开放quota这个模块啰! 如果您是自行编译核心的,那么请特别留意您是否已经『真的』开启了quota这个模块?至于核心编译的过程我们会在未来进行说明!

Quota的记录文件:

目前新版的Linux distributions如:Fedora Core 4与SUSE Server9等使用的是Kernel2.6.xx的核心版本,这个核心版本支持新的quota模块,使用的预设档案 (aquota.user,aquota.group)将不同于旧版本的quota.user,quota.group!(多了一个a!)而由旧版本的 quota可以藉由convertquota这个程序来转换呢!

只对一般身份使用者有效:

这就有趣了!并不是所有在Linux上面的账号都可以设定quota呢,例如root就不能设定quota,因为整个系统所有的数据几乎都是他的!^_^

quota这支程序对硬盘配额的限制项目:

quota这个程序针对整个partition的限制项目主要分为底下几个部分:

soft:

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

hard:

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

宽限时间:

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

基本的quota命令介绍

在开始进行quota的实践之前,我们得来了解一下quota要使用的指令!基本上分为两种,一种是查询功能(quota、quotacheck、 quotastats、warnquota、repquota),另一种则是编辑quota的内容(edquota、setquota)。下面我们来谈一 谈这些基本的指令吧!

/etc/mtab

相关推荐