磁盘配额(Quota)的应用与实践

一、磁盘配额(Quota)的应用与实践
在Linux系统中,由于是多用户、多任务的环境,所以会有多用户共同使用一个硬盘空间的情况发生,如果其中有少数几个用户大量占掉了硬盘空间的话,那肯定会影响其他用户的使用权限。因此管理员应该适当限制硬盘的空间给用户,以妥善分配系统资源。此时,就可以使用Quota。

实例环境:5个用户myquota{1,2,3,4,5}都属于myquotagrp
        独立分区/dev/hda3 挂载点/home
        每个用户300MB(hard),250MB(soft)
        myquotagrp用户组组多仅能使用1000MB(hard),900MB(soft)

        
1.让文件系统支持quota
#mount -o remount,usrquota,grpquota /home
#mount | grep home
或是写入配置文件
#vim /etc/fstab
LABEL=/home    /home    ext3    defaults,usrquota,grpquota 1    2
#umount /home
#mount -a
#mount | grep home
/dev/hd3 on /home type ext3 (rw,usrquota,grpquota)

2.新建Quota配置文件

#quotacheck [-avugfM] [/mount_point]
参数:
-a: 扫描所有在/etc/mtab内,含有quota支持的文件系统,加上此参数后,/mount_point可不必写,因为扫描所有的文件系统了
-u: 针对用户扫描文件与目录的使用情况,会新建aquota.user
-g: 针对用户组扫描文件与目录的使用情况,会新建aquota.group
-v: 显示扫描过程的信息

#quotacheck -avug  //创建配置文件
#ll -d /home/a*  //查看配置文件
#quotacheck -avug -mf //强制扫描已挂载的文件系统

3.Quota启动,关闭与限制值设置

#quotaon [-avug]
#quotaon [-vug] [/mount_point]
参数:
-u: 针对用户启动quota (aquota.user)
-g: 针对用户组启动quota (aquota.group)
-v: 显示启动过程的相关信息
-a: 根据/etc/mtab内的文件系统设置启动有关的quota,若不加-a的话,则后面就需要加上特定的那个文件系统

#quotaon -auvg
#quotaon -uv /var

4.关闭quota

#quotaoff [-a]
#quotaoff [-ug] [/mount_point]
-a :全部的文件系统的quota都关闭(根据/etc/mtab)
-u :仅针对后面接的那个/mount_point关闭user quota
-g :仅针对后面接的那个/mount_point关闭group quota

5.编辑账号/用户组的限值与宽限时间
#edquota [-u username] [-g groupname]
#edquota -t <==修改宽限时间
#edquota -p 范本账号 -u 新账号
参数:
-u :后面接账号名称。可以进入quota的编辑界面(vim) 去设置username的限制值
-g :后面接组名。可以进入quota的编辑界面(vim) 去设置groupname的限制
-t :可以修改宽限时间
-p :复制范本。那个模板账号为已经存在并且已设置好quota的用户,意义为将范本账号这个人的quota限制值复制给新账号


#edquota -u myquota1
Filesystem    blocks    soft    hard    inodes    soft    hard
/dev/hda3    80     250000 300000    10    0    0      //单位为KB

#edquota -p myquota1 -u myquota2
#edquota -p myquota1 -u myquota3
#edquota -p myquota1 -u myquota4
#edquota -p myquota1 -u myquota5

#edquota -g myquotagrp
Disk quotas for group myquotagrp (gid 713):
Filesystem    blocks    soft    hard    inodes    soft    hard
/dev/hda3    400    900000    1000000     50    0    0

#edquota -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/hda3     14days                7days         //原来是7days改为14days


6.生成Quota限制值的报表
#quota [-uvs] [username]
#quota [-gvs] [groupname]
-u :后面可以接username,表示显示出该用户的quota限制值。若不接。username,表示显示执行者的quota限制值
-g :后面可接groupname,表示显示出该用户组的quota限制值
-v :显示每个用户在文件系统中的quota值
-s :使用1024为倍数来指定单位,会显示如M之类的单位

#quota -uvs myquota1 myquota2
#quota -gvs myquotagrp


#repquota -a [-vugs]
参数:
-a :直接到/etc/mtab查询具有quota标志的文件系统,并报告quota的结果
-v :输出的数据将含有文件系统相关的详细信息
-u :显示出用户的quota限制(这是默认)
-g :显示出个别用户组的quota限值
-s :使用M,G为单位显示结果

#repquota -auvs  //查询所有用户的quota限制情况


7.测试与管理
测试一:利用myquota1身份,创建一个270M的大文件
#su - myquota1
$dd if=/dev/zero of=bigfile1 bs=1M count=270
$su - root

#repquota -auv

测试二:利用myquota1身份,在创建另外一个大文件,让总容量超过300MB
$dd if=/dev/zero of=bigfile2 bs=1M count=300
$du -sk

#repquota -au


8.warnquota对超出限额者发出警告信息
#warnquota  //会发出两封邮件,一封给超出限制值的用户,一封给root
#mail
&N
&exit

#vim /etc/warnquota.conf


给定时扫描并发警告

#vim /etc/cron.daily/warnquota
/usr/sbin/warnquota

#chmod +x /etc/cron.daily/warnquota


9.#setquota [-u|-g] name block(soft) block(hard) inode(soft) inode(hard) 文件系统

#quota -uv myquota5  //查myquota5限值
Disk quotas for group myquotagrp (gid 714):
Filesystem    blocks    quota     limit    grace files    quota    limit    grace
/dev/hda3    80    250000    300000        10    0    0

#setquota -u myquota5 100000 200000 0 0 /home
#quota -uv myquota5
Disk quotas for group myquotagrp (gid 714):
Filesystem    blocks    quota     limit    grace files    quota    limit    grace
/dev/hda3    80    100000    200000        10    0    0

10不改动既有系统的Quota,使邮件主机也有一定的限额
1.将/var/spool/mail这个目录完整地移动到/home下面
2.利用ln -s /home/mail /var/spool/mail来新建连接数据
3.将/home进行quota限额设置


注意:以上测试要关闭selinux,或者修该selinux规则。

转载于:https://my.oschina.net/u/2251056/blog/687432

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值