磁盘配额
1 相关命令:quota、quotacheck、edquota、quotaon、quotaoff
quota要使用的命令有两种:一种用于查询功能,包括quota、quotacheck、quotastats、repquota和warnquota;另一种用于编辑quota的内容,包括edquota和setquota。
1)quota命令
语法:quota [-uvsl] [username] 或 quota [-gvsl] [groupname]
quota命令各选项及其功能见表6-2。
例1:# quota -guvs //显示root用户的quota限制值
例2:# quota -vs -u ztg //显示ztg用户的磁盘配额
2)quotacheck命令
语法:quotacheck [-avug] [/mount_point]
quotacheck命令各选项及其功能见表6-3。
例1:# quotacheck -avug //将所有在/etc/mtab(如图6-10所示)内,含有quota支持的分区进行扫描
例2:# quotacheck -avug -m //强制扫描已挂载的文件系统
图6-10 /etc/mtab文件
3) edquota命令
语法:edquota [-u username] [-g groupname] 或
edquota -t 或 edquota -p user1 -u user2
edquota命令各选项及其功能见表6-4。
4) quotaon命令
语法:quotaon [-avug]] 或 quotaon [-vug] [/mount_point]
quotaon命令各选项及其功能见表6-5。
例:# quotaon -auvg 启动所有具有quota的文件系统
5) quotaoff命令
语法:quotaoff [-a] 或 quotaoff [-ug] [/mount_point]
quotaoff命令各选项及其功能见表6-6。
2 实例—实现磁盘限额
实例6-1 实现磁盘限额
问题描述:将/dev/hda4分区挂载在/mnt/quota下,在/mnt/quota目录中对用户(ztg和ztguang,这两个用户都在ztguang群组里)实行磁盘空间的配额限制。
第1步:修改/etc/fstab文件
图6-11 修改/etc/fstab文件
第2步:在/mnt/quota目录创建aquota.user和aquota.group文件
第3步:使用quotacheck命令生成符合系统要求的aquota.user和aquota.group文件
图6-12 生成aquota.user和aquota.group文件
第4步:为用户设置磁盘空间限额
使用edquota来编辑每个用户或组群的可用磁盘空间,如图6-14所示,执行第1条命令“edquota ztg”,打开一个vi窗口,为用户ztg设置磁盘空间的限额,如下所示。
[root@localhost quota]# edquota ztg
Disk quotas for user ztg (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/hda4 0 100000 110000 0 0 0
如图6-13所示,执行第2条命令“edquota -p ztg ztguang”,将ztg的quota限制值复制给ztguang用户(ztg和ztguang用户有相同的磁盘限额)。
如图6-13所示,执行第3条命令“edquota -t”,设置“宽限时间”,如下所示。
[root@localhost quota]# 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/hda4 7days 7days
预设的“宽限时间”是7天,读者可以根据具体情况进行设置。
如图6-13所示,执行第4条命令“edquota –vu ztg ztguang”, 显示ztg和ztguang用户的磁盘配额。
图6-13 为用户设置磁盘空间限额
第5步:为组群(ztguang)设置磁盘空间限额
组群ztguang包含两个用户ztg和ztguang。
执行命令“edquota -g ztguang”,设置组群ztguang的磁盘空间限额,如下所示。
[root@localhost quota]# edquota -g ztguang
Disk quotas for group ztguang (gid 501):
Filesystem blocks soft hard inodes soft hard
/dev/hda4 0 190000 210000 0 0 0
执行命令“edquota -vg ztguang”,查看组群ztguang的磁盘空间限额,如图6-14所示。
图6-14 查看组群ztguang的磁盘空间限额
第6步:启动quota的限额
设定好quota之后,建议再执行一次quotacheck命令,然后执行“quotaon -avug”命令来启动quota的限额,如图6-15所示。
图6-15 启动quota的限额
第7步:自动启动quota的限额
如果希望系统重启后自动启动quota的限额,可以在/etc/rc.d/rc.local中添加如下代码。
if [ -x /sbin/quotacheck ]; then
echo "Checking quotas,This may take some time ... "
/sbin/quotacheck -avug
echo "Done."
fi
if [ -x /sbin/quotaon ]; then
echo "Enabling disk quota ... "
/sbin/quotaon -avug
echo "Done."
fi
xfsprogs---适合xfs分区
使用xfs_quota命令管理xfs文件系统磁盘配额
1)检查软件包是否安装
2)创建被限额使用磁盘空间的大小的用户及密码-->创建用户存放文件的目录,并将该目录的所有权赋给该用户,以此保证用户能读写目录中的文件。
3)以支持配额的方式重新挂载磁盘分区到指定目录。
mount -o usrquota,grpquota /dev/sdb5 /data
4)设置系统启动时支持配额
/dev/sdb5 /data xfs defaults,usrquota,grpquota 0 0
5)为指定用户设置配额
xfs_quota -x -c 'limit bsoft=100M bhard=120M isoft=3 ihard=6 -u tom' /data
查看配额
xfs_quota -x -c 'report -u tom' /data
6)切换到指定用户验证配额