磁盘配额——Linux做为一个多用户的操做系统,实际生活中会发生多人共同使用一个磁盘的状况,,为了保证一个磁盘的有效利用,必须对磁盘进行使用率的限制,所以磁盘配额(quota)会是一个很是有用的工具node
目录centos
quota的使用限制bash
quota的设置内容(xfs)app
使用quota的案例(重点)ide
1、quota的使用限制
工具
对EXT系列文件系统,quota仅能针对整个文件系统进行设计,没法对单一的目录进行磁盘配额;而在xfs的文件系统中,可使用quota对目录进行磁盘配额,所以在进行磁盘配额前,必定要对文件系统进行检查。centos7
核心必须支持quota,centos7默认支持quota功能。spa
只对通常用户有效,由于root拥有所有的磁盘空间。操作系统
若启用SELinux功能,不是全部的目录都能设定quota,默认quota仅能对/home进行设定。设计
2、quota的设置内容(xfs)
分别针对用户、群组、个别目录(user,group,project)进行磁盘配额
限制inode和block的用量,既然quota是管理文件系统的,那么对inode和block的限制也在情理之中
soft/hard,表示具体限制的数值大小,当磁盘容量达到soft时,系统会发出警告,要求下降至soft值如下,当达到hard时,系统会禁止继续增长新的文件。
宽限时间(通常为7天),当某一用户使用磁盘容量达到soft时,系统会给出一个grace time,若超过这个天数,soft值会变成hard值并禁止该用户对磁盘增长新的文件
3、使用quota的案例
①编写脚本/app/bin/adduser.sh,建立用户myquota1,myquota2,myquota3,myquota4,myquota5,密码都为centos。都位于myquotagrp这个组。这五个用户有一个共享目录/app/home/myquota,而且只有myquotagrp这个组的全部成员对这个共享目录拥有所有权限,其余人没有任何权限。
1 #!/bin/bash 2 groupadd myquotagrp 3 for num in {1..5} 4 do 5 useradd -d /app/home/myquota$num -G myquotagrp myquota$num 6 echo "centos" |passwd --stdin myquota$num 7 done 8 mkdir /app/myquota 9 chgrp myquotagrp /app/myquota 10 chmod 2770 /app/myquota
查看效果以下:
②对文件系统进行检测并开启文件系统支持
因为centos7默认是xfs文件系统而且内核支持quota功能,因此用centos7的/app目录进行试验,
对于xfs文件系统,因为quota功能在挂载一开始就决定了,因此mount命令的-o remount选项不能生效,只能经过修改/etc/fstab文件进行quota功能的开启,而后卸载(umount /app)再从新挂载(mount /app), 修改内容以下:
针对quota主要有三个类别设置:
·usrquota 用户
·grpquota 群组
·prjquota 单一目录,可是不能和grpquota同时存在
③观察quota的管理数据
咱们先来看这条指令:xfs_quota
xfs_quota -x -c "command" [挂载点]
-x 专家模式,后续才能够跟-c选项
-c 后边跟命令
command: print 简单列出主机内文件系统的信息
df 和原来的df命令的同样,可是比原来的df显示的数值更加精确
report 后边必须跟支持quota的载入点,列出quota的项目设置
report后能够跟-u -g -p -i -b -h等选项
后面跟-u -g -p的话值显示相对应的信息,而不是全部user/group/project列出来,-i显示inode的使用状况,-h表示以人们便于阅读的单位(例如KB,MB等)
state 列出支持quota功能的文件系统的quota状态(user/group/project的开启状态)
④设置限制值的大小
设置myquota1,myquota2,myquota3,myquota4,myquota5的soft/hard为250M/300M限制,grace time设置为14天。
xfs_quota -x -c "limit -u bsoft=250M bhard=300M myquota1" /app xfs_quota -x -c "limit -u bsoft=250M bhard=300M myquota2" /app xfs_quota -x -c "limit -u bsoft=250M bhard=300M myquota3" /app xfs_quota -x -c "limit -u bsoft=250M bhard=300M myquota4" /app xfs_quota -x -c "limit -u bsoft=250M bhard=300M myquota5" /app xfs_quota -x -c "timer -u -b 14days" /app
设置以后的状态:
以后切到myquota1用户实验限额结果:
在家目录下建立310M的文件,显示报错,同时查看家目录下新建立的文件的大小实际是300M
⑤对project的限制(/app/myquota目录的限制)
第一步:设定目录,项目名称(project),项目ID
其中须要配置两个相关的文件/etc/projects,/etc/projid(默认没有这两个文件,须要建立,若是文件名出错后边的会失败)
echo "11:/app/myquota" > /etc/projects #设置项目ID和目录的对应关系 echo "myquotaproject:11" > /etc/projid #设置项目名称和项目ID的对应关系 xfs_quota -x -c "project -s myquotaproject" #初始化项目名称
第二步:对目录设定具体限制值,将/app/myquota设置为450M/500M
xfs_quota -x -c "limit -p bsoft=450M bhard=500M myquotaproject" /app