linux 磁盘配额(quota)
Posted 香饼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 磁盘配额(quota)相关的知识,希望对你有一定的参考价值。
基本的quota命令
quota命令分两种:
1、查询功能(quota, quotacheck, quotats, warnquota, repquota)
2、编辑quota的内容(edquota, setquota)
/etc/mtab
当我们使用quota的时候,基本上,系统会去搜寻:【系统上具有quota参数的partition】,当我们使用quota的功能时,我们的filesystem必须要已经支持quota的旗标才行,我们编辑/etc/fstab后,再重新挂载filesystem的方法来让系统的filesystem支持quota的
quota命令
格式:quota [ -uvsl ] [ username ]
quota [ -gvsl ] [ groupname ]
参数:
-u:后面可以接username,表示显示出该使用者的quota限制值,否者username, 表示显示出执行者的quota限制值
-g:后面可接groupname,表示显示出该群组的quota限制值
-v:显示每个filesystem的quota值
-s:可选择以inode或磁盘容量的限制值来显示
-l:仅显示出目前本机上面的filesystem的quota值
quotacheck命令
格式:quotacheck [ -avug ] [ /mount_point ]
参数:
-a:扫描所在/etc/mtab内,含有quota支持的filesystem,加上此参数后, /mount_point可不必写,因扫描了所有的filesystem
-u:针对使用者扫描文件与目录的使用情况,建立aquota.user
-g:针对群组扫描文件与目录的使用情况,建立aquota.group
-v:显示扫描过程的信息
-M:【强制】进行quotackeck的扫描
edquota命令
格式:edquota [ -u username ] [ -g groupname ]
edquota -t <== 修改宽限时间
edquota -p username_demo -u username
参数:
-u:后面接账号名称,可以进入quota的编辑画面(vi)去设定username的限制 值
-g:后面接群组名称,可以进入quota的编辑画面(vi)去设定groupname的限 制值
-t:可以修改宽限时间(就是超过quota的soft limit值后,还能使用磁盘的宽限 期限)
-p:复制范本,那个username_demo为已经存在并且已设定好quota的使用者, 意义【将username_demo这个人的quota限制值赋值给username】
字段说明:
1、filesystem
(1) 代表这个quota针对哪一个partition的意思,例一来看,值得是/dev/hdb1,就是/disk2那个目录底下的quota限制值
2、blocks
(1) 这个是目前使用者dmtsai(uid 501)在/dev/hdb1这个filesystem(参考上面一个信息),所耗掉磁盘容量,也就是目前的使用掉的空间,单位是Kbytes,这个信息是quota程序自己计算出来的,尽量不要修改
3、soft与hard
(1) 这个是目前的dmtsai使用者在这个filesystem之内的quota限制值,soft与hard的意思就如同,前一节最后面提的那个意思,soft代表的是一个【警告】限制,hard则是一个【不可超过的限制】,soft与hard中间的差值则为宽限的数值,当soft与hard数值为0时,表示【没有限制】的意思,数值单位是Kbytes
4、inodes
(1) 目前使用掉inode的状态,也是quota自己计算出来得到的,所以不要去变更他,一般来说,inode不容易控制,所以您可以不必去限制inode
quotaon命令
格式:quotaon [ -avug ]
quotaon [ -vug ] [ /mount_point ]
参数:
-u:针对使用者启动quota(aquota.user)
-g:针对群组启动quota(aquota.group)
-V:显示启动过程的相关信息
-a:根据/etc/mtab内的filesystem设定启动有关的quota,若不加-a的话,则后 面就需要加上特定的那个filesystem
注:
此命令再启动quota的,由于这个命令时启动aquota.group与aquota.user的,所以必须先完成quotacheck的工作,下达quotaon -a 即可启动
例:
需求:
1、对quser1级quser2两个使用者来进行磁盘配额,而这两个使用者都是挂在qgroup群组里面
2、每个使用者总共有50MB的磁盘空间(不考虑inode)限制,并且soft limit为45MB
3、宽限时间设定为1天,也就是说,这两个人可以突破45MB的限制,但是在一天之内必须要将多余的文件砍掉,否则将无法使用剩下的空间(这个账号大概就不能进行文件新增的工作)
4、gquota群组考虑最大限额,所以设定为90MB
思路:
1、准备好测试的环境,使用者与群组的建立
2、建立好filesystem的quota支持
编辑/etc/fstab,将usrquota,grpquota添加进去
挂载磁盘
这里成功的将filesystem的quota功能加入
3、扫描磁盘的使用者情况,并产生重要的aquota.group与aquota.user
使用quotacheck可以轻易的将所有的数据给他输出,并且在/mnt/sdb6底下产生aquota.group与aquota.user两个文件
quotacheck -avug
使用quotacheck就可以将所需要的数据给它输出,有时候在在某些linux版本中,aquota.user(group)不能启动quota,可能是因为旧版本quota的关系,另外做一个link文件欺骗quota
4、启动quota的限额
注:看到上面有个turned on的出现,才算成功
5、编辑使用者的可使用空间
将quser1的设定值复制给quser2
设值宽限时间
将时间改为1天(默认7days)
查询设置
注:由于设定空间没有超过45MB,所以grace(宽限时间)就不会出现
6、编辑群组可使用的空间
7、设定开机自启quota
关闭quota 用quotaoff
8、利用repquota显示更完整的quota结果报告
除了quota观察使用者与群组使用的quota限制值之外,我们还可以使用更详细的quota报告命令,就是repquota这个命令。
格式:reqquota -a [ -vug ]
参数:
-a:直接到/etc/mtab搜寻具有quota标志filesystem,并报告quota的结果
-v:输出所有的quota结果,而非仅下达命令者自己的quota限制
-u:显示出使用者的quota限制(这是默认值)
-g:显示出个别群组的quota限制
以上是关于linux 磁盘配额(quota)的主要内容,如果未能解决你的问题,请参考以下文章