当前位置: 主页 > 操作系统 > Linux > Linux磁盘配额Quota详解

Linux磁盘配额Quota详解

时间:2010-3-12来源:互联网 点击:

      范例二:强制扫描已挂载的filesystem

  [root@linux ~]# quotacheck -avug -m

  有些时候,在某些Linux distributions上面,进行quotacheck时,可能会出现如下的错误讯息:

  quotacheck: Cannot get quotafile name for /dev/hda3

  quotacheck: Cannot get quotafile name for /dev/hda3

  果真如此的话,那么你可以如同上面一般,加上-m的参数来『强制』扫描。

  也可以手动先建立记录文件,然后再扫描,如下所示:

  [root@linux ~]# touch /disk2/aquota.user; touch /disk2/aquota.group

  [root@linux ~]# quotacheck -avug

  必须要注意的是,我这里是以/disk2作为一个测试的mount point,您的挂载点不一定会和范例一样!

  这个命令主要的目的在扫描某一个磁盘的quota空间,他会针对该partitions进行扫描,并且,由于该磁盘若持续运作时,可能扫描的过程中,文件 可能会增减,造成quota扫描的错误发生,因此,当使用quotacheck时,该磁盘将『自动被设定成为只读扇区(read-only)』;至于扫描 完毕之后,扫瞄所得的磁盘空间结果会写入该扇区最顶端。(例如:在例子中,扫描/disk2这个/dev/hdb1的扇区,如果是初次扫描,那么扫描完毕 之后会产生aquota.user与aquota.group,会放置在/disk2/aquota.user与/disk2/aquota.group 底下!而如果是建立quota后的扫描,那么就会更新这两个文件!)另外,Linux也特别强调quota在使用的时候,需要特别注意在reboot时, 得先将quota关闭才好!

  此外,由于新版的Linux distribution在quota的设计上似乎有点小问题,有时候无法完整的进行quotacheck,发生如同上表的情况,解决的方法就是主动手动的建立quotafile即可!例如上面的范例二所显示的。

  edquota

  [root@linux ~]# edquota [-u username] [-g groupname]

  [root@linux ~]# edquota -t <==修改宽限时间

  [root@linux ~]# 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』!

  范例:

  范例一:设定dmtsai这个用户的quota限制值

  [root@linux ~]# edquota -u dmtsai

  Disk quotas for user dmtsai (uid 501):

  Filesystem blocks soft hard inodes soft hard

  /dev/hdb1 0 0 0 0 0 0

  进入编辑画面后,以vi的相关行为进行编辑喔!

  我们可以看到被编辑的用户是dmtsai,

  而下面共有七个字段,每个字段的意义我们将在底下的说明继续介绍。而假设我们对于dmtsai的限制是30MB的话,那么:

  Disk quotas for user dmtsai (uid 501):

  Filesystem blocks soft hard inodes soft hard

  /dev/hdb1 0 25000 30000 0 0 0

  然后就可以储存后离开!

  范例二:将dmtsai的quota限制值(30MB)复制给vbird1这个用户

  [root@linux ~]# edquota -p dmtsai -u vbird1

  范例三:修订宽限时间

  [root@linux ~]# 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/hdb1 7days 7days

  预设的恕限时间是7天!你当然可以修订时间!

  这个命令就是在编辑每一个『个人』或者是『群组』的quota数值!通常我们以edquota –u username或者是edquota -g groupname来编辑个人与群组的quota设定值。不过,或许您会觉得一个一个分配似乎很慢的样子!那么您也可以直接copy一个人的设定值给其它 人,就如同上面第二个例子,利用已经建立好的dmtsai来建立vbird1这个人的quota限额!这个指令可是很重要的呦!另外,范例一当中出现的那 七个字段代表的意义我们得要谈一谈啊:

  filesystem:

  代表这个quota是针对哪一个partition的意思。以范例一的情况来说,指的是/dev/hdb1啰!也就是/disk2那个目录底下的quota限制值啦!

  blocks:

  这个是目前使用者dmtsai(uid501)在/dev/hdb1这个filesystem(参考上面一个信息),所消耗的磁盘容量,也就是目前的使用掉的空间啦!单位是Kbytes喔!这个信息是quota程序自己计算出来的,所以请不要修改他!

  soft与hard:

  这个是目前的dmtsai使用者在这个filesystem之内的quota限制值!至于soft与hard的意思就如同前一节最后面提的那个意思 啦!soft代表的是一个『警告』限值,hard则是一个『不可超过的限值』,soft与hard中间的差值则为宽限的数值。而当soft与hard数值 为0的时候,表示『没有限制』的意思!而数值的单位仍是Kbytes喔!

  inodes:

  是目前使用掉inode的状态,也是quota自己计算出来而得到的,所以不要去变更他。一般而言,inode不容易控制,所以您可以不必去限制inode呢!

  quotaon

  [root@linux ~]# quotaon [-avug]

  [root@linux ~]# quotaon [-vug] [/mount_point]

  参数:

  -u :针对用户启动quota(aquota.user)

  -g :针对群组启动 quota(aquota.group)

  -v :显示启动过程的相关讯息;

  -a :根据/etc/mtab内的filesystem设定启动有关的quota,若不加-a的话,

  则后面就需要加上特定的那个filesystem!

  范例:

  范例一:启动所有的具有quota的filesystem

  [root@linux ~]# quotaon -auvg

  /dev/hdb1 [/disk2]: group quotas turned on

  /dev/hdb1 [/disk2]: user quotas turned on

  范例二:仅启动/disk2里面的user quota设定值:

  [root@linux ~]# quotaon -uv /disk2

  这个命令是在启动quota的!不过,由于这个指令是启动aquota.group与aquota.user的,所以您就必须要先完成quotacheck的工作了!然后简单的下达quotaon -a即可启动!

  quotaoff

  [root@linux ~]# quotaoff [-a]

  [root@linux ~]# quotaoff [-ug] [/mount_point]

  参数:

  -a :全部的filesystem的quota都关闭(根据/etc/mtab)

  -u :仅针对后面接的那个/mount_point关闭user quota

  -g :仅针对后面接的那个/mount_point关闭group quota

  范例:

  范例一:

  [root@linux ~]# quotaoff -a

  这个命令就是关闭了quota的限制啦!

站长资讯网
.
分页: [1] [2]
TAG: Linux quota 磁盘配置
推荐内容最近更新人气排行
关于我们 | 友情链接 | 网址推荐 | 常用资讯 | 网站地图 | RSS | 留言