在Linux中,由于是多用户,多任务的环境,所以会有多用户共同使用一个硬盘空间的情况发生,如果其中有少数几个用户大量占用掉了硬盘空间的话,那肯定影响其他用户的使 用权限,因此管理员应该适当限制硬盘的空间给用户,以妥善分配系统资源,使磁盘的容量使用较为公平;举例来说,我们用户的默认主文件夹都是在/home下面,如果/home是个 独立的分区,假设这个分区有10G,而/home下面共有30个账户,也就是说,每个用户平均应该会有333MB的空间才对,偏偏有个用户在他的主文件夹下面下了好多电影,占用了 8G的空间,这样会造成其他正常用户的不便,如果想要让磁盘的容量公平分配,这个时候就得要靠quota的帮忙;
1>Quota的一般用途:quota比较常使用的几个情况是:
针对WWW Server:列如每个人的网页空间的容量限制;
针对MAIL Server: 例如每个人的邮件空间限制;
针对FILE Server:列如每个人最大的可用网络硬盘空间(教学环境中最常见);
上面讲的是针对网络服务的设计,如果是针对Linux系统主机上面的设置,用途有下面这些:
1)限制某一用户组所能使用的最大磁盘配额(使用用户组限制);
2)限制某一用户所能使用的最大磁盘配额(使用用户限制);
3)以Link的方式来使邮件可以作为限制的配额(更改/var/spool/mail这个路径);
2>Quota的使用限制:虽然quota很好用,但是使用上还是有些限制要先了解的;
1)仅能针对整个文件系统:
quota实际在运行的时候,是针对整个文件系统进行限制的,列如:如果你的/dev/sda5是挂载在/home下面,那么在/home下面的所有目录都会受到限 制;
2)内核必须支持quota:
Linux内核必须支持quota这个功能才行,如果你是使用CentOS 5.x的默认内核,那你的系统已经默认支持quota这个功能,如果你是自行编译内核 的,那么请特别留意你是否已经真的打开了quota这个功能;
3)Quota的日志文件:
目前新版的Linux操作系统使用的是Kernel 2.6.xx的内核版本,这个内核版本支持新的quota模块,使用的默认文件(aquota.user,apuota.group)将 不同于旧版本的quota.user,quota.group,而由旧版本的quota可以通过convertquota这个程序来转换;
4)只对一般身份用户有效:
并不是所有在Linux上面的账号都可以设置quota,列如root就不能设置quota,因为整个系统所有的数据几乎都是它的,所以你不能针对某个目录 来进行quota的设计,但你可以针对某个文件系统来设置;
3>Quota的规范设置选项:quota针对整个文件系统的限制项目主要分为下面几个部分:
1)容量限制或文件数量限制:
文件系统主要规划为存放属性的inode与实际文件数据的block块,Quota既然是管理文件系统,所以当然可以管理inode或block,这两个管理的功能 为:
限制inode用量:管理用户可以新建的文件数量;
限制block用量:管理用户磁盘容量的限制,较常见的为这种方式;
2)soft/hard:
既然是规范,当然就有限制值,不管是inode/block,限制值都有两个,分别是soft与hard;通常hard限制值要比soft还要高,举例来说,若限制项目 为block,可以限制hard为500MB,而soft为400MB,这两个限制值的意义为:
hard:表示用户的用量绝对不会超过这个限制值,以上面的设置为例,用户所能使用的磁盘容量绝对不会超过500MB,若超过这个值则系统会锁住 该用户的磁盘使用权;
soft:表示用户在低于soft的限值时,可以正常使用磁盘,但若超过soft且低于hard的值时,每次用户登录系统时,系统会主动发出磁盘即将爆满的 警告信息,且会给予一个宽限时间(gracetime),不过,若用户在宽限时间倒数期间就将容量再次低于soft限值下,则宽限时间会停止;
3)会倒计时的宽限时间(grace time)