磁盘配额Quota配置方法

     硬盘配额可以有效的限制用户对于磁盘空间的使用,不同的用户只能在系统限制的空间范围内进行数据的交换和保存,如果数据间达到一定的额度的时候,会在系统约定的时间内(比如 14天)进行数据的清除。
      Quota仅针对整个文件系统,也就是要配额的空间单独分区进行挂载,比如:
只能在单独挂载的空间(上图 /home目录)内进行配置,如果在/目录下面配置,要影响到root用户的使用。
      Quota实际在运行的时候,是针对整个文件系统进行限制的。例如:如果 /dev/sdb1挂载到/home目录下面,那么在/home目录的所有目录都会受到限制。(注:Quotant必须要系统内核支持,Redhat 5.x系统默认支持,并且只对一般用户有效,而不能对root用户进行配额设置)
    Quota可以做 block容量限制或是inode文件数量限制。
² Block容量限制:管理用户磁盘容量的方式,较常使用
² Inode文件数量限制:管理用户可以新建的“文件数量”
    Quota不管是 block还是inode的限制,限制的值都有2个,分别是soft和hard。通常hard限制要比soft还要高,比如hard设置为500MB,而soft设置为400MB。
用户使用数据量低于 soft限制时,可以正常使用;在介于soft和hard之间时,在用户登录的时候会指示磁盘将饱满的警告信息;当数据量超过hard值的时候,系统会锁住该用户的磁盘使用权。
    Quota为用户提供宽限时间,当数据量介于 soft和hard之间时,系统出现一个倒计数,并且把介于soft和hard之间的空间提供给用户使用,一旦超过hard值时,磁盘的使用权就会被锁定,并且无法新增任何文件。系统默认的宽限为7天,可以根据实际情况进行修改。
    Quota配置和使用方法
1、创建用户和组(参见集群使用文档中用户和组建立相关章节)。
2、确定要设置 Quota的磁盘空间为一个单独挂载的空间,本例中使用/dav/sdb1分区,挂载到/home目录。
3、编辑 /etc/fstab文件,增加下面所示的一行进行配置:
/dev/sdb1 /home ext3 defaults,usrquota,grpquota 1 2
4、执行生效:
umount /home
mount –a
mount |grep home
5、 Quota分析整个文件系统中的每个用户和组拥有的文件总数及容量,使用quotacheck来完成操作。
quotacheck –avug #完成检测,建议在创建完用户后执行一次,如果 quota已经启动,使用quotaoff –a关闭服务后再执行。
6、启动 quota服务
quotaon –auvg
7、关闭 quota服务
quotaoff –a
8、 edquota配置帐号、用户组的限制与宽限时间
配置帐号: edquota –u xuhan
注:只修改 soft和hard选项,单位为KB,blocks和inode由系统自动生成,不可更改。
配置用户组: edquota –g users
注:如果 soft和hard为0,则表示不做组的限制
配置宽限时间: edquota –t
9、如果一个系统中用户较多,可以直接复制配置文件来完成设置,命令如下:
edquota –p 范本帐号 –u 新帐号
10、查看配置情况:
edquota –u xuhan #查看 user用户的配置情况
11、 Quota限制值的报表
一是针对个或用户组的 quota命令,一是针对整个文件系统的repquota。
单一用户 quota报表:
quota –uvs xuhan #显示 xuhna用户的报表
quota –gvs users #显示 users用户的报表
针对整个系统的 quota报表:
repquota –auvs #显示所有用户的报表
repquota –agvs #显示所有组的报表
12、新建用户后的相关操作
设置用户的限制: edquota –p 范本帐号 –u 新帐号
关闭服务: quotaoff –a
重新检测 quota配置:quotacheck –avug
启动服务: quotaon –auvg