范例二:强制扫描已挂载的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 磁盘配置