设为首页 收藏本站
查看: 540|回复: 0

[经验分享] CentOS关于quota的总结与实践

[复制链接]

尚未签到

发表于 2018-4-25 11:02:22 | 显示全部楼层 |阅读模式
  1 理论基础
  1.1 Quota的概念
  Quota即限额的意思,用来限制用户、组、文件夹的空间使用量。
  1.2 用途范例
  - web服务器控制站点可用空间大小
  - mail服务器控制用户可用空间大小
  - file服务器控制用户可用空间大小
  1.3 限制模式

  - 根据用户(UID)控制每个用户的可用空间大小
  - 根据组(GID)控制每个组的可用空间大小
  - 根据目录(directory,project)控制每个目录的可用空间大小(xfs可用project模式)
  1.4 使用条件
  - EXT格式只能对文件系统进行限制,xfs可用对project进行限制
  - 内核需要预开启对Quota支持
  - Quota限制只对非管理员有效
  - 默认只开启对/home使用Quota,其他需要配置SELinux

  1.5 限制的可配置对象

  - 根据用户(User)、组(Group)、特定目录(project)
  - 容量限制或文件数量限制(block/inode)
  - 限制值soft(超过空间用量给予警告和宽限时间)和hard(超过空间用量则剥夺用户使用权)
  - 宽限时间(grace time),空间用量超出soft限定而未达到hard限定给予的处理时限(超出时限soft值变成hard值)
  2 实际操作
  2.1 配置前准备
  2.1.1 建立用户组
groupadd gp1  2.1.2 添加组成员
useradd -g gp1 user1
echo "pwd1" | passwd --stdin user1
useradd -g gp1 user2
echo "pwd1" | passwd --stdin user2  2.1.2 创建用户目录并变更所有组
mkdir /home/gp1
chgrp gp1 /home/gp1
chmod 2770 /home/gp1  2.1.2 检查文件系统类型
df -hT /home  显示如下:
Filesystem              Type  Size  Used Avail Use% Mounted on
/dev/mapper/centos-home xfs   5.0G   67M  5.0G   2% /home  2.2 启用文件系统的quota功能
  2.2.1 编辑fstab

vim /etc/fstab  修改内容如下:
/dev/mapper/centos-home  /home  xfs  defaults,usrquota,grpquota   0 0  注,类型如下:
  - 根据用户(uquota/usrquota/quota)
  - 根据组(gquota/grpquota)
  - 根据目录(pquota/prjquota)(不能与grpquota同时设定)
  2.2.2 卸载并重新挂载
umount /home
mount -a  2.2.3 检查
mount | grep home  显示如下:
/dev/mapper/centos-home on /home type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)  2.3 查阅Quota信息
  2.3.1 命令格式
xfs_quota -x -c "子命令" [挂载点]
选项:
-x  :专家模式,使用-x才能使用-c
-c  :子命令选项
子命令:
      print :列出当前系统参数等
      df    :类似于df,选项有-b (block) -i (inode) -h (加上單位)等
      report:列出quota项目,包含-ugr (user/group/project)和-bi等
      state :列出当前支持quota文件系统信息和相关的启动项  2.3.2 查询支持Quota的分区
xfs_quota -x -c "print"  2.3.3 查询Quota目录的使用情况
xfs_quota -x -c "df -h" /home  2.3.4 显示用户的Quota的限制信息
xfs_quota -x -c "report -ubih" /home  注,显示项目加参数“-u”
  2.4 配置限制
  2.4.1 命令格式:

xfs_quota -x -c "limit [-ug] b[soft|hard]=N i[soft|hard]=N name"
xfs_quota -x -c "timer [-ug] [-bir] Ndays"
选项:
limit :限制的对象,包括user/group/project
        bsoft/bhard : block的soft/hard限制值
        isoft/ihard : inode的soft/hard限制值
        name        : 用户和组的名称
timer :宽限时间(grace time)  2.4.2 根据用户和块大小限制
xfs_quota -x -c "limit -u bsoft=250M bhard=300M user1" /home
xfs_quota -x -c "limit -u bsoft=250M bhard=300M user2" /home  检查配置:
xfs_quota -x -c "report -ubih" /home  2.4.3 根据组和块大小限制
xfs_quota -x -c "limit -g bsoft=950M bhard=1G gp1" /home  检查配置:
xfs_quota -x -c "report -gbih" /home  2.4.5 配置宽限时间
xfs_quota -x -c "timer -ug -b 14days" /home  验证配置:
xfs_quota -x -c "state" /home  2.4.6 验证Quta
su - user1
dd if=/dev/zero of=123.img bs=1M count=310
ll -h
exit
xfs_quota -x -c "report -ubh" /home  2.5 根据project限制

  2.5.1 修改fstab

vim /etc/fstab  2.5.2 卸载挂载并重新挂载
umount /home
mount -a  2.5.3 检查取消
xfs_quota -x -c "state"  2.5.4 创建专案存储位置
mkdir /home/proj01  2.5.5 指定项目识别号
echo "01:/home/proj01" >> /etc/projects  2.5.6 指定项目名称并关联项目识别号
echo "proj01:01" >> /etc/projid  2.5.7 初始化项目名称
xfs_quota -x -c "project -s proj01"  检查配置:
xfs_quota -x -c "print " /home
xfs_quota -x -c "report -pbih " /home  2.5.8 根据块大小配置限制
xfs_quota -x -c "limit -p bsoft=450M bhard=500M proj01" /home  检查配置:
xfs_quota -x -c "report -pbih " /home  2.5.9 验证配置
dd if=/dev/zero of=/home/myquota/123.img bs=1M count=510  2.6 Quota的管理
  2.6.1 临时禁用Quota限制
xfs_quota -x -c "disable -up" /home  检查禁用:
xfs_quota -x -c "state" /home  验证禁用:
dd if=/dev/zero of=/home/user1/123.img bs=1M count=520  查阅Quota状态:
xfs_quota -x -c "report -pbh" /home  清理测试文件:
rm -rf /home/user1/123.img  2.6.2 临时启动Quota限制
xfs_quota -x -c "enable -up" /home  检验启动:

dd if=/dev/zero of=/home/user1/123.img bs=1M count=520  2.6.3 完全关闭Quota限制
xfs_quota -x -c "off -up" /home  测试关闭:
xfs_quota -x -c "enable -up" /home  恢复关闭:
umount /home; mount -a  2.6.4 删除Quota限制(无法恢复)
xfs_quota -x -c "off -up" /home
xfs_quota -x -c "remove -p" /home  验证删除:
xfs_quota -x -c "report -phb" /home  2.7 利用软连接实现Quota
  1)启用/home分区的Quota功能
编辑fstab

vim /etc/fstab修改内容如下:
/dev/mapper/centos-home  /home  xfs  defaults,usrquota,grpquota   0 02)创建软连接到Quota分区
ln -s /home/mail /var/spool/mail  -------------------------------------------------------------
  参阅文档
  -------------------------------------------------------------
  http://linux.vbird.org/linux_basic/0420quota.php
  http://www.centoscn.com/CentOS/config/2013/1103/2043.html
  http://www.iyunv.net/os/RedHat/400503.html
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-451799-1-1.html 上篇帖子: Centos 7 文件和目录管理 下篇帖子: CentOS6.8(及7)的文件系统(2)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表