Linux 磁盘配额 Quota 配置详解
由于Linux是一个多用户管理的操作系统,而Linux默认情况下并不限制每个用户使用磁盘空间的大小,假如某个用户疏忽或者恶意占满磁盘空间,将导致系统磁盘无法写入甚至崩溃,为了保证系统磁盘的有足够的剩余空间,我们需要对用户和组进行磁盘空间使用限制。
- 配额作用:限制用户和组,对磁盘空间的使用量,限制用户和组,在磁盘内创建文件的个数
- 软限制:低级限制,超出部分会有宽限天数,宽限天数到期后超出部分被清空,软限制不能超过硬限制
- 硬限制:绝对限制,此限制不会被突破,达到指定限制条件后将无法继续使用更多磁盘空间
- 宽限天数:当有数据超过软限制后,超出部分会被计时,宽限天数到期后超出部分数据将被清空,宽限天数默认是7天
注:磁盘配额是针对分区进行设置的,无法实现用户在系统中共计只能使用50MB磁盘空间,只能设置某用户在/home分区能使用50M这样的限制.切记:磁盘配额是针对分区的!
格式化新分区: 格式化/dev/sdb新分区,并检查分区是否支持磁盘配额.
1 | [root@localhost ~]# yum install -y quota |
挂载并检测分区: 挂载格式化好的分区,并检查分区是否支持配额(主要看有没有usrquota,grpquota参数)
1 | [root@localhost ~]# mount /dev/sdb /quot/ |
上方的设置为临时挂载,设置开机自启动的方式是写入/etc/fstab文件,如下写法.
1 | [root@localhost ~]# cat /etc/fstab |
生成磁盘配额文件: 使用quotacheck -ugv 生成配额文件,生成后的配额配置文件保存在/dev/sdb里面
1 | [root@localhost ~]# quotacheck -ugv /dev/sdb |
编辑配额限制单个用户: 使用交互方式,给lyshark用户设置软限制100M硬限制200M
1 | [root@localhost ~]# edquota -u lyshark |
编辑配额限制用户组: 使用交互方式,给tomwang组,设置软限制1000M硬限制2000M
1 | [root@localhost ~]# edquota -g tomwang |
非交互方式限制用户: 使用非交互方式,设置用户superroot的软限制为100M硬限制为200M
1 | setquota -u 用户名 软(容) 硬(容) 软(数) 硬(数) 分区名 |
使用模板用户配置: 有时候我们不想挨个配置,可以以lyshark用户为模板,赋予toms账户相同的限制条件
1 | [root@localhost ~]# edquota -p lyshark -u toms |
启动/关闭磁盘配额: 配置好以后,直接执行quotaon -augv命令即可开启配额,使磁盘配额生效.
1 | [root@localhost ~]# quotaon -augv |
查看分区磁盘配额: 最后配置好就是查看了,查看/dev/sdb分区配额可执行以下命令.
1 | [root@localhost ~]# repquota -ugvs /dev/sdb |
文件系统的支持与查看
用df命令可查看本系统用的是什么文件系统。查看本用户目录用的什么文件系统。
1
2
3 [root@localhost ~]# df -hT ~
Filesystem Type Size Used Avail Use% Mounted on
12.31.3.27@tcp:/home lustre 2.7T 1.9T 848G 69% /home可以看到是Lustre文件系统,该系统是一种并行分布式文件系統,通常用于大型计算机集群和超算。Lustre是源自Linux和Cluster的混成词。
查看该类文件系统磁盘配额的命令为
1
2
3
4
5
6 [root@localhost ~]# lfs quota
error: missing quota argument(s)
Display disk usage and limits.
usage: quota [-q] [-v] [-h] [-o <obd_uuid>|-i <mdt_idx>|-I <ost_idx>]
[<-u|-g|-p> <uname>|<uid>|<gname>|<gid>|<projid>] <filesystem>
quota [-o <obd_uuid>|-i <mdt_idx>|-I <ost_idx>] -t <-u|-g|-p> <filesystem>2. 查看此案配额的报告数据
则我们用下列命令参看当前用户(
$USER)在~/project目录下的配额,并以人较易阅读的GBytes、MBytes、KBytes等格式自行显示:
1
2
3
4
5 [root@localhost ~]# lfs quota -h -u $USER ~/project
Disk quotas for usr macong (uid 53018):
Filesystem used quota limit grace files quota limit grace
/home/macong/project
193.5G 1T 1T - 325835 1000000 1000000 -






