Linux学习—CentOS7磁盘配额工具quota

Linux学习—CentOS7磁盘配额工具quota

磁盘配额——Linux作为一个多用户的操作系统,实际生活中会发生多人共同使用一个磁盘的情况,,为了保证一个磁盘的有效利用,必须对磁盘进行使用率的限制,因此磁盘配额(quota)会是一个非常有用的工具

一、quota的使用限制

对EXT系列文件系统,quota仅能针对整个文件系统进行设计,无法对单一的目录进行磁盘配额;而在xfs的文件系统中,可以使用quota对目录进行磁盘配额,因此在进行磁盘配额前,一定要对文件系统进行检查。
核心必须支持quota,centos7默认支持quota功能。
只对一般用户有效,因为root拥有全部的磁盘空间。
若启用SELinux功能,不是所有的目录都能设定quota,默认quota仅能对/home进行设定。

二、quota的设置内容(xfs)

分别针对用户、群组、个别目录(user,group,project)进行磁盘配额
限制inode和block的用量,既然quota是管理文件系统的,那么对inode和block的限制也在情理之中
soft/hard,表示具体限制的数值大小,当磁盘容量达到soft时,系统会发出警告,要求降低至soft值以下,当达到hard时,系统会禁止继续增加新的文件。
宽限时间(一般为7天),当某一用户使用磁盘容量达到soft时,系统会给出一个grace time,若超过这个天数,soft值会变成hard值并禁止该用户对磁盘增加新的文件

三、使用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/myquota n u m − G m y q u o t a g r p m y q u o t a num -G myquotagrp myquota numGmyquotagrpmyquotanum
6 echo “centos” |passwd --stdin myquota$num
7 done
8 mkdir /app/myquota
9 chgrp myquotagrp /app/myquota
10 chmod 2770 /app/myquota

查看效果如下:
Linux学习—CentOS7磁盘配额工具quota_第1张图片
②对文件系统进行检测并开启文件系统支持
由于centos7默认是xfs文件系统并且内核支持quota功能,所以用centos7的/app目录进行试验,
在这里插入图片描述
对于xfs文件系统,由于quota功能在挂载一开始就决定了,所以mount命令的-o remount选项不能生效,只能通过修改/etc/fstab文件进行quota功能的开启,然后卸载(umount /app)再重新挂载(mount /app), 修改内容如下:
Linux学习—CentOS7磁盘配额工具quota_第2张图片
针对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等选项

Linux学习—CentOS7磁盘配额工具quota_第3张图片
后面跟-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
设置之后的状态:
Linux学习—CentOS7磁盘配额工具quota_第4张图片
Linux学习—CentOS7磁盘配额工具quota_第5张图片
之后切到myquota1用户实验限额结果:
Linux学习—CentOS7磁盘配额工具quota_第6张图片
在家目录下创建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” #初始化项目名称
Linux学习—CentOS7磁盘配额工具quota_第7张图片
第二步:对目录设定具体限制值,将/app/myquota设置为450M/500M
xfs_quota -x -c “limit -p bsoft=450M bhard=500M myquotaproject” /app
Linux学习—CentOS7磁盘配额工具quota_第8张图片

转载 火星的小白:http://blog.51cto.com/13570193/2071900

你可能感兴趣的:(Linux云计算)