linux存储管理之磁盘配额

磁盘配额



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 //强制扫描已挂载的文件系统

file://C:\Users\anliu\AppData\Local\Temp\ct_tmp/1.png
图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文件

file://C:\Users\anliu\AppData\Local\Temp\ct_tmp/2.png
图6-11  修改/etc/fstab文件
第2步:在/mnt/quota目录创建aquota.user和aquota.group文件


第3步:使用quotacheck命令生成符合系统要求的aquota.user和aquota.group文件


file://C:\Users\anliu\AppData\Local\Temp\ct_tmp/3.png
图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用户的磁盘配额。
file://C:\Users\anliu\AppData\Local\Temp\ct_tmp/4.png
图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所示。
file://C:\Users\anliu\AppData\Local\Temp\ct_tmp/5.png
图6-14  查看组群ztguang的磁盘空间限额

第6步:启动quota的限额
设定好quota之后,建议再执行一次quotacheck命令,然后执行“quotaon -avug”命令来启动quota的限额,如图6-15所示。
file://C:\Users\anliu\AppData\Local\Temp\ct_tmp/6.png
图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)切换到指定用户验证配额

猜你喜欢

转载自www.cnblogs.com/anttech/p/10612350.html