磁盘配额在网站、邮件、文件等服务器常见,主要有针对用户、用户组、限制某一目录的的最大磁盘配额。
ext文件系统进能针对整个文件系统配额,xfs可以针对目录配额。配额和文件系统有关。
内核必须支持磁盘配额(CentOS7)。
SELinux下加入特殊权限,可能只能对/home进行配额
针对xfs
针对用户、用户组或个别目录(无法共存)的配额,配额关于容量限制和文件数量限制。,并分软限制和硬限制。
软限制soft在宽限时间grace time下超出并小于硬限制hard的情况下,发出警告。超过宽限时间则软限制的值取代硬限制,锁定使用权。
文件系统的类型查看:df -hT /home
写入参数到/etc/fstab中:vim /etc/fstab 在第四栏添加:usrquota,grpquota
针对配额的限制有:quota/usrquota/uquota针对用户账号 gquota/grpquota针对用户组 pquota/prjquota针对目录。
修改完文件后卸载,重新挂载。检查文件正误,确保系统正常。删除参数时,注销所有一般账户。重新挂载时,注销所有账户。
xfs_quota -x -c "命令如:print列出主机内文件系统参数,df挂载点信息,report磁盘配额,state文件状态"
列出文件系统支持:xfs_quota -x -c "print"
列出挂载点的文件使用情况:xfs_quota -x -c "df -h" /home
列出/home下所有用户的磁盘配额限制值:xfs_quota -x -c "report -ubih" /home
列出目前支持配额的系统是否启用了磁盘配额功能:xfs_quota -x -c "state"
Accounting计算功能,Enforcement实际磁盘配额功能。分用户、组、目录三部分
xfs_quota -x -c "命令如:limit实际限制选项(block inode name,名字为bsoft/bhard/isoft/ihard name),timer设置grace time"
设置用户myquota1的block限制值:xfs_quota -x -c "limit -u bosft=250M bhard=300M myquota1" /home
设置用户组的myquotagrp的block限制值:xfs_quota -x -c "limit -g bosft=950M bhard=1G myquotagrp" /home
设置block的grace time :xfs_quota -x -c "timer -ug -b 14days" /home
测试:xfs_quota -x -c "report -ugbih" /home;xfs_quota -x -c "state"
设置prjquota(针对目录的限制)
首先在/etc/fstab中取消针对用户组的限制然后加入针对目录的限制信息,然后卸载,挂载,重新查看配额状态
建立文件制定方案识别码和目录放在/etc/projects 建立方案名称和标识符在/etc/projid,内容标识码、目录、名称自定
如:echo "10:/home/myquota" >> /etc/projetcs ; echo "myquotaprj:10" >> /etc/projid
然后执行初始化方案:xfs_quota -x -c "project -s myquotaprj"
检查状态:xfs_quota -x -c "print";xfs_quota -x -c "report -pbih" /home;
设置配额限制:xfs_quota -x -c "limit -p bosft=450M bhard=500M myquotaprj" /home
然后检查状态。
配额管理
暂时取消磁盘配额的限制:disable,恢复正常:enable,完全关闭off(重新挂载才可再次启动磁盘配额,用于remove),删除配额限制:remove
如暂时取消用户的磁盘配额的限制:xfs_quota -x -c "disable -u" /home
恢复用户的(其它如 -g -p 在disable选项中):xfs_quota -x -c "disable -u" /home
等。
ext文件系统的配额方案参考:
http://cn.linux.vbird.org/linux_basic/0420quota_1.php
将邮箱和家目录的总和配额限制示例:不同的文件系统下
mv /var/spool/mail /home
ln -s /home/mail /var/spool/mail
然后对/home进行配额