首页 > Linux&Fedora专区 > Linux的配额quota的安装方法
2013
07-31

Linux的配额quota的安装方法

        linux主机跟windows主机不太一样,在win下,都是直接使用可视化图形界面进行操作,但linux必须得手工设置quota,经常有遇到linux有关配额有问题而无从下手的问题,本文将详细讲解这一命令。不过必须先来了解一下quota的使用限制。最关键一点是仅能针对整个filesystem,是不能使用对针对某个目录。如下事例:

         quota是对/dev/sda3这个分区来分限制。再来看其他上面的其他参数。

[root@fdm ~]# quota xmppgcn

Disk quotas for user xmppgcn (uid 501):

     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace

      /dev/sdb6  540460  1024000 1024000           13695  1024000 1024000

         一共有9列,去掉filesystem之后有8列,blocksquotalimitgrace这四列限制的是用户的容量大小,最后四个限制的是文件数。

         第二列blocks是目前此用户使用了多少容量;第三列和第四列可以理解成软限和硬限,grace是宽限时间,默认为7天,如果软限限制为100M,硬限为120M,这样客户实际上可以使用超过100M的空间容量,一但超出100M了,宽限时间就开始计时了,就会提示用户超出使用文件了,但客户还是可以写入文件。等宽限时间一到,就不能写了。最后四列的文件数限制也是同理。一般来说,虚拟主机的这两个限制值都是一样的。

         好了,来看quota的安装方法。

         1、配置/etc/fstab使分区支持quota。在defaults后加入usrquotagrpquota,由于我这边只限制了用户,没有限制用户组,所以只加入了usrquota

[root@fdm ~]# vi /etc/fstab

/dev/sdb6                  /vhost                         ext3    defaults,usrquota        1 2

重新挂载/vhost文件系统激活quota

[root@fdm ~]# mount -o remount /vhost/

         2、创建quota记录文件。

[root@fdm
~]# quotacheck -cuv /vhost

quotacheck: Quota for users is enabled on mountpoint /vhost so quotacheck might damage the file.Please turn quotas off or use -f to force checking.

很简单,就一条命令,就可以创建这个分区支持quota了,由于这个环境之前有配置过quota,所以运行会提示那个报错,新的硬盘一般是不会有这个问题的。Quotacheck的参数如下:

-a:扫瞄所有在 /etc/mtab 内,含有 quota 支持的 filesystem

-u:针对使用者扫瞄文件与目录的使用情况,会创建 aquota.user

-g:针对群组扫瞄文件与目录的使用情况,会创建 aquota.group

-v:显示扫瞄过程的资讯;

-f:强制扫瞄文件系统,并写入新的 quota 配置档 (危险)

-M:强制以读写的方式扫瞄文件系统,只有在特殊情况下才会使用。

-c:读取现有的配额文件。只执行一个新的扫描并保存到磁盘

         3、启用quota。也很简单quotaon即可。

         [root@fdm ~]# quotaon /vhost/

         我们可以检查一下之前没有配置出错。如下user quotaOK的。

[root@fdm ~]# quotaon -p /vhost/

group quota on /vhost (/dev/sdb6) is off

user quota on /vhost (/dev/sdb6) is on

         4、对用户设置quota。有两种方法,setquota以及edquota

         虽然启用了quota,但没有配置用户的限额。所以查看用户时,会报如下错误:

[root@fdm ~]# quota testcom

Disk quotas for user testcom (uid 500): none

setquota主要有四个值,容量以及文件数量的softhard限制,设置方法如下:

[root@fdm ~]# setquota xmppgcn 102400 102400 102400 102400 /vhost/

[root@fdm ~]# quota xmppgcn

Disk quotas for user xmppgcn (uid 501):

     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace

      /dev/sdb6  540460* 102400  102400           13695  102400  102400

         我这边改为100M了,blocks已经超出了,加星号了。edquota其实是调用vi来执行的。

[root@fdm ~]# edquota xmppgcn

Disk quotas for user xmppgcn (uid 501):

Filesystem          blocks       soft       hard     inodes     soft     hard

/dev/sdb6         540460    1024000    1024000    13695  1024000  1024000

         这七个参考详解如下,其实跟quota出现的是一样的,只是少了一个grace宽限时间:

文件系统 (filesystem):说明该限制值是针对哪个文件系统 ( partition)

磁碟容量 (blocks):这个数值是 quota 自己算出来的,单位为 Kbytes,不能动

soft:磁碟容量 (block) soft 限制值,单位亦为 KB

hardblock hard 限制值,单位 KB

文件数量 (inodes):这是 quota 自己算出来的,单位为个数,请不要更动他

softinode soft 限制值

hardinode hard 限制值

其实edquota可以实际复制quota。如下操作:

[root@fdm ~]# edquota -p xmppgcn -u testcom

[root@fdm ~]# quota testcom

Disk quotas for user testcom (uid 500):

     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace

      /dev/sdb6 1747048* 1024000 1024000           50948  1024000 1024000

直接把xmppgcnquota信息传递给了testcom这个用户了。而使用edquota –t可以修改宽限时间。

5、打印所有限额信息

[root@fdm ~]# repquota -as

*** Report for user quotas on device /dev/sdb6

Block grace time: 7days; Inode grace time: 7days

                        Block limits                File limits

User            used    soft    hard  grace    used  soft  hard  grace

———————————————————————-

testcom   —   1707M  10000M  10000M          50948 1024k 1024k      

xmppgcn   —    528M   1000M   1000M          13695 1024k 1024k

最后编辑:
作者:admin
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。