由于Linux是一个多用户管理的操作系统,而Linux默认情况下并不限制每个用户使用磁盘空间的大小,假如某个用户疏忽或者恶意占满磁盘空间,将导致系统磁盘无法写入甚至崩溃;为了保证系统磁盘的有足够的剩余空间,我们需要对用户和组进行磁盘空间使用限制。
磁盘配额限制类型:
- 限制用户和组对磁盘空间的使用量
- 限制用户和组在磁盘内创建文件的个数
磁盘配额限制级别:
- 软限制:低级限制,此限制可以突破,突破时会被警告,超出部分会有宽限天数,宽限天数到期后超出部分被清空,软限制不能超过硬限制
- 硬限制:绝对限制,此限制不会被突破,达到指定限制后无法使用更多空间
- 宽限天数:当有数据超过软限制后,超出部分会被计时,宽限天数到期后超出部分数据将被清空,宽限天数默认是7天
下面我们开始详细看一下对用户磁盘空间设置的详细命令,首先需要先开启quota,然后再对quota进行设置。
一 、ext系列文件系统的quota
1、开启quota(ext、xfs)
vim /etc/fstab
/etc/fstab文件中写入以下行,最后保存退出
UUID=e060a9c0-c9d3-4632-ae17-70ffee835d6f /app ext4 defau lts,usrquota,grpquota 1 0
然后再重新挂载,再grep一下查看是否挂载成功
[[email protected] ~]# mount -o remount /dev/sdb [[email protected] ~]# mount |grep quota /dev/sdb on /app type ext4 (rw,usrquota,grpquota)
2、生成quota数据库
[[email protected] ~]# quotacheck -cugm /app/ [[email protected] ~]# cd /app [[email protected] app]# ls aquota.group aquota.user lost+found
3、开启quota
[[email protected] app]# quotaon /app
到此为止ext4类型的文件系统的quota已经开启成功,下面再展示相关用法及设置
4、quota
-v 显示当前用户自己的quota限额
[[email protected] app]# quota -v Disk quotas for user root (uid 0): Filesystem blocks quota limit grace files quota limit grace /dev/sdb 20 0 0 2 0 0
-v username 显示指定用户的quota限额 此时需要注意这个命令仅限root
repquota -v /app 显示所有用户的quota限额(仅限用户在该目录有所属的文件) 仅限root
5、配置quota下面这几条命令都是直接打开相应的脚本文件然后在里边直接进行相应的块或是inode的软硬设备
edquota -u/g username/groupname edquota -u caocao edquota -g weiguo
非交互式 个人觉得如果知道对文件要求是什么的话,直接用下述方法比较好
setquota -u[default] |-g username|groupname 10M 20M 5 20 /app setquota -u caocao 0 0 0 0 /app setquota -g weiguo 10M 20M 50 100 /app edquota -p caocao zhangfei 将liubei的quota设置复制给zhangfei
注意:对group设置quota时,应该对附加组设置,同时,目录要设置sgid权限才有意义
二 、xfs文件系统的quota
1.vim /etc/fstab
在需要开启quota的文件系统的挂载选项的defaults后加usrquota,grpquota如下
UUID=f5f95aff-f321-46b6-9a1b-14781387548d /backup xfs defaults,usrquota,grpquota 1 0
一定要卸载再挂载才生效
2.配置
xfs_quota -x -c "print" 查看当前系统中所有的xfs文件系统哪些开启了quota
[[email protected] bin]#xfs_quota -x -c "print" Filesystem Pathname / /dev/mapper/centos-root /boot /dev/sda1 /backup /dev/md1 (uquota, gquota) /app /dev/mapper/centos-app
xfs_quota -x -c "report -ugibh" 查看quota设置
-u 查看用户的
-g 查看组的
-i 查看inode
-b 查看block (默认)
-h human-readable
-uibh
下边是应用最多的 –ugibh组合的应用,用户和组都可以显示quota权限
xfs_quota -x -c "state" /backup 查看qutoa状态,显示grace time时间
[[email protected] home]#xfs_quota -x -c "state" /backup/ User quota state on /backup (/dev/md1) Accounting: ON Enforcement: ON Inode: #67 (2 blocks, 2 extents) Group quota state on /backup (/dev/md1) Accounting: ON Enforcement: ON Inode: #68 (2 blocks, 2 extents) Project quota state on /backup (/dev/md1) Accounting: OFF Enforcement: OFF Inode: #68 (2 blocks, 2 extents) Blocks grace time: [14 days] 是修改之后的时间,默认是7天 Inodes grace time: [7 days] Realtime Blocks grace time: [7 days]
xfs_quota -x -c "limit -u bsoft=30M bhard=40M 用户" /backup
3.对用户设置quota
xfs_quota -x -c "limit -g bsoft=50M bhard=100M shuguo" /backup
[[email protected] home]#xfs_quota -x -c "limit -u bsoft=40M bhard=50M sunquan" /backup [[email protected] home]#repquota -v /backup/ *** Report for user quotas on device /dev/md1 Block grace time: 14days; Inode grace time: 7days Block limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------- root -- 0 0 0 3 0 0 sunquan +- 46080 40960 51200 7days 2 0 0 *** Status for user quotas on device /dev/md1 Accounting: ON; Enforcement: ON Inode: #67 (2 blocks, 2 extents)
对组设置quota
xfs_quota -x -c "timer -u -b 14days" /backup 设置quota grace time
获取帮助
xfs_quota -x -c "help limit"
xfs_quota -x -c "help report"
三、quota关闭
quotaoff 选项 分区名
-a 根据/etc/mtab文件关闭所有分区的磁盘配额(不写分区名)
-u 关闭用户的磁盘配额
-g 关闭组的磁盘配额
-v 显示启动过程信息
如果想下次开机时不再启动,最好还是在/etc/fstab文件中修改一下比较好。以上是quota相关的设置。
原文地址:https://www.cnblogs.com/w-s-y/p/9464066.html