quota配额

什么是磁盘配额?
限制磁盘资源的使用。
 
限制原因就是因为资源不是无限的。

应用场景:
1.网络存储空间有限 网盘
2.邮件服务器
3.公司的文件共享服务器

能限制谁?
1.限制普通用户
2.限制用户组
注意:不能限制root用户
root用户对其他人的限制

能够限制什么?
inode------------ 限制用户创建文件的个数
block------------ 限制用户能够使用的磁盘空间的大小

设置配额的条件?
   需要内核支持quota的功能

grep  -i  quota  /boot/config-3.10.0-514.el7.x86_64

 CONFIG_NETFILTER_XT_MATCH_QUOTA=m

 CONFIG_XFS_QUOTA=y

 CONFIG_QUOTA=y(此行y代表支持quota功能)

 CONFIG_QUOTA_NETLINK_INTERFACE=y

 CONFIG_PRINT_QUOTA_WARNING=y

 # CONFIG_QUOTA_DEBUG is not set

 CONFIG_QUOTA_TREE=y

 CONFIG_QUOTACTL=y

 CONFIG_QUOTACTL_COMPAT=y


如何进行磁盘配额?
准备工作
关闭firewalld  selinux

实施思路:
1、对新硬盘分区、格式化、挂载时启用quota功能
2、用quotacheck生成quota主配置文件
3、用edquota给用户设置quota配额方案
4、激活用户的配额方案
5、用账号登录,创建文件进行配额测试

需求:给sdb硬盘创建一个1G的主分区,格式化成ext4文件系统,手动挂载sdb1分区到/quota目录(要启用quota功能)。创建用户u1,指定家目录为/db1/用户名。限制u1用户最大只能用10M的空间,当使用量超过6M时发出警告。切换到u1用户,测试配额功能,查看配额状态。

 答:1.首先需要分区开启用户配额和组配额   文件系统必须支持磁盘配额 usrquota,grpquota (挂      载时启用的quota选项)
     a,创建一个分区并格式化

     b,将分区设置为开机挂载(可选)
           # vim /etc/fstab
            /dev/sdb1  /quota  ext4  defaults,usrquota,grpquota  0   0 

    2.创建磁盘配额的记录文件(即quota主配置文件)
           # quotacheck  -cugv   /quota      
               -c 创建磁盘配额的配置文件
               -u 针对用户配额的配置文件aquota.user
               -g 针对用户组配额的配置文件aquota.group
               -v 显示扫描过程信息
               -a 检测系统中所有已经挂载支持quota功能的分区 

   3.针对用户进行配额         

      # edquota -u  u1    //编辑方式同vim

  Disk quotas for user u1(uid         501):
  Filesystem   blocks    soft      hard       inodes     soft     hard
  /dev/sdb1     0      8M        10M        0         0       0

   4.启动配额  ---- 一定要操作
           # quotaon /quota
     注:关闭配额quotaoff    /quota

   5.测试配额(若无权限可用chmod添加权限)

     测试时,若没有设置用户的家目录为挂载目录可cd进到,目录中测试

   # repquota -a   文件系统配额的汇总



软限制的限期
默认7天,即grace值

grace:优雅时间,当超过软限制,优雅时间倒计时为0时,软限制自动提升为硬限制(即不能超过软限制)。用'edquota  -T  用户名'修改用户的grace时间。