Linux-磁盘配额quota
磁盘配额满足条件
1、 内核大于等于2.4
2、 对用户或组设置
3、 对一个单独的文件系统操作
参考:
http://13428668762.blog.51cto.com/3319384/898535
http://linux.vbird.org/linux_basic/0420quota.php#the_quota
1.先查看所配置的分区/ 是否是个独立的 filesystem
git@git-PowerEdge-R720:~$ df -h /
文件系统 容量 已用 可用 已用% 挂载点
/dev/sda1 931G 832G 52G 95% /
git@git-PowerEdge-R720:~$ mount | grep /
/dev/sda1 on / type ext4 (rw)
从上面可以看出,/是独立的filesystem,因此可以直接限制/dev/sda1。由于VFAT文件系统不支持Linux Quota功能,所以还要使用mount查询一下/的文件系统类型,如图是ext4,支持Quota。
2.加入quota支持
(1)若只是在本次实验中使用quota,可以使用下面的方式加入quota功能:
git@git-poewrEdge-R720:~$ mount -o remount,errors=remount-ro,usrquota,grpquota /
git@git-PowerEdge-R720:~$ mount | grep /
/dev/sda1 on / type ext4 (rw,errors=remount-ro,usrquota,grpquota)
(2)长期使用quota,可使用下面设置:
git@git-PowerEdge-R720:~$ vim /etc/fstab
# / was on /dev/sda1 during installation
UUID=848613cf-feaa-44a2-8c3a-9ad4cb21ca6e / ext4 errors=remount-ro,usrquota,grpquota 0 1
git@git-PowerEdge-R720:~$ umount /
git@git-PowerEdge-R720:~$ umount -a
git@git-PowerEdge-R720:~$ mount | grep /
/dev/sda1 on / type ext4 (rw,errors=remount-ro,usrquota,grpquota)
3.quotacheck :扫描文件系统并建立quota的记录档
git@git-PowerEdge-R720:~$ quotacheck -avugm
报错1:setenforce: SELinux is disabled
解决方法:需要安装policycoreutils。
报错2:quotacheck: Cannot stat old user quota file //aquota.user: 没有那个文件或目录. Usage will not be substracted.
解决方法:并使用sestatus查看selinux的状态是否为distable,不是的话使用setenforce 0关闭selinux即可
root@git-PowerEdge-R720:~# quotacheck -avugm
quotacheck: 正在扫描 /dev/disk/by-uuid/848613cf-feaa-44a2-8c3a-9ad4cb21ca6e [/] 完成
quotacheck: 已检查 1291680 个目录和 12880888 个文件
root@git-PowerEdge-R720:~# ll -d /a*
-rw------- 1 root root 9216 2月 22 11:15 /aquota.group
-rw------- 1 root root 9216 2月 22 11:15 /aquota.user
4.quotaon :启动quota 的服務
root@git-PowerEdge-R720:~# quotaon -avug
/dev/disk/by-uuid/848613cf-feaa-44a2-8c3a-9ad4cb21ca6e [/]:group 配额已开启
/dev/disk/by-uuid/848613cf-feaa-44a2-8c3a-9ad4cb21ca6e [/]:user 配额已开启
5.edquota :編輯帳號/群組的限值與寬限時間编辑帐号/组群的限值与宽限时间
(1) 设置用户磁盘配额,共有3种方式可供选择: (数字单位为 KB ,1000000 = 1GB)
a) 通过文本编辑器设置用户磁盘配额,该方式比较直观,但是效率较低,不推荐批量使用。
edquota [-u username] [-g groupname]
b)通过复制现有用户配置,为新用户设置磁盘配额,该方法效率较高,推荐使用。
edquota -p user1 -u user2 (把user1的配置复制给user2)
c)通过命令行直接设置用户磁盘配额,方便灵活,推荐使用。
setquota [-u|-g] username block(soft) block(hard) inode(soft) inode(hard)
(例: setquota -u user1 150000000 160000000 0 0 / 表示设置用户user1的磁盘配额为160GB)
( 2)edquota -t修改宽限时间
其他相关命令:
repquota -avus 查询所有使用者的quota 限制情況.
quotaoff -avug 关闭quota,配额失效。