配额管理
配额综述
1)在内核中执行
2)以文件系统为单位启用
3)对不同组或者用户的策略不同
4)根据块或者节点进行限制,进行执行软限制(soft limit)和硬限制(hard limit)
5)配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。
实现配额的前提
1)独立分区上的文件系统,不能是硬盘,不能是目录
2)具有磁盘配额的挂载选项。
(rw)类的就是挂载选项,可通过mount或cat/proc/mount来查看是否具有。
3)在/etc/fstab中添加特定的关键字。
default更改为usrquota&grpquota
4)getenforce得到的结果需要为Permissive或disable,否则需要setenforce 0或修改配置文件/etc/selinux/config
5)可能需要重新挂载根
mount -o remount /
设定配额
1)初始化
分区挂载选项:usrquota ,grpquota
初始化数据库:quotacheck
2)开启和取消
开启配额:quotaon
取消配额:quotaoff
3)编辑和定义
直接编辑配额:
edquota username
定义原始标准用户
edquota -p user1 user2
4)在shell中直接编辑:
setquota usename 4096 5120 40 50 /foo
报告配额状态
1)用户调查:quota username
2)配额概述:repquota
3)其他工具:warnquota
配额相关命令
1)quotacheck
quotacheck - scan a filesystem for disk usage, create, check and repair quota files
初始化数据库
quotacheck [options] filesystem|-a
-u, --user 检查用户文件
-g, --group 检查组文件
-c, --create-files 创建新的配额文件
-b, --backup 创建老的配额文件的备份
-f, --force 强制检查,即使配额已被激活
-i, --interactive 交互模式
-n, --use-first-dquot 使用复制结构的第一个复制
-v, --verbose 输出详细信息
-d, --debug 显示更多调试信息
-m, --no-remount 不重新挂载只读文件系统
-M, --try-remount 尝试重新挂载只读文件系统,即使尝试失败
-R, --exclude-root 检查所有文件系统,排除root
-F, --format=formatname 检查指定格式的配额文件
-a, --all 检查所有文件系统
-h, --help 显示帮助并退出
-V, --version 显示版本信息并退出
2)quotaon,quotaoff
quotaon, quotaoff - turn filesystem quotas on and off
开启和取消文件系统配额
quotaon [options] -a|filesys...
-a, --all 关闭所有文件系统的配额
-f, --off 关闭配置
-u, --user 在用户配额上操作
-g, --group 在组配额上操作
-p, --print-state 显示配额是否开启或关闭
-x, --xfs-command=cmd 执行XFS配额命令
-F, --format=formatname 在指定配额格式上操作
-v, --verbose 显示详细信息
3)edquota
edquota - edit user quotas,直接编辑用户配额
edquota [options] username|groupname ...
-u, --user 编辑用户数据
-g, --group 编辑组数据
-r, --remote (via RPC)编辑远程配额
-m, --no-mixed-pathnames 修剪领头斜杠语法从NFSv4 挂载点
-F, --format=formatname 编辑指定格式的配额
-p, --prototype=name 从一个标准的用户/组上复制数据
--always-resolve 始终尝试解析名称, 即使它仅由数字组成
-f, --filesystem=filesystem 仅在指定文件系统上编辑数据
-t, --edit-period 编辑合适的周期
-T, --edit-times 编辑一个用户或组的合适时间
4)setquota
setquota - set disk quotas,设置磁盘配额
setquota [-u|-g] [-rm] [-F quotaformat] <user|group> <block-softlimit> <block-hardlimit> <inode-softlimit> <inode-hardlimit> -a|<filesystem>...
setquota [-u|-g] [-rm] [-F quotaformat] <-p protouser|protogroup> <user|group> -a|<filesystem>...
setquota [-u|-g] [-rm] [-F quotaformat] -b [-c] -a|<filesystem>...
setquota [-u|-g] [-F quotaformat] -t <blockgrace> <inodegrace> -a|<filesystem>...
setquota [-u|-g] [-F quotaformat] <user|group> -T <blockgrace> <inodegrace> -a|<filesystem>...
-u, --user 设置用户的限制
-g, --group 设置组的限制
-a, --all 设置所有文件系统的限制
--always-resolve 始终尝试解析名称, 即使它仅由数字组成
-F, --format=formatname 在指定配额格式上操作
-p, --prototype=protoname 从用户/组上复制限制
-b, --batch 从标准输入读取限制
-c, --continue-batch 在发生错误时继续处理
-r, --remote 设置远程配置 (via RPC)
-m, --no-mixed-pathnames 修剪 NFSv4 挂载点的前导斜线
-t, --edit-period 编辑合适的周期
-T, --edit-times 编辑用户/组的合适时间
5)quota
quota - display disk usage and limits,显示磁盘使用情况和限制
quota [options]
-u, --user 显示用户的配额
-g, --group 显示组的配额
-q, --quiet 显示更多简洁信息
-v, --verbose 显示更多详细信息
-s, --human-readable 使用人类可读性数值单位显示(MB, GB...)
--always-resolve 始终尝试转换名称为id,即使它是用数字表示的
-w, --no-wrap 不包裹长的行
-p, --raw-grace 从新的时间点上采用秒级别显示合适的时间
-l, --local-only 不查询NFS文件系统
-Q, --quiet-refuse 当NFS服务没有反应时,不显示错误信息
-i, --no-autofs 不查询autofs挂载点
-F, --format=formatname 显示指定格式的配额
-f, --filesystem-list 仅显示给出文件系统的配额信息
-A, --all-nfs 显示所有NFS挂载点配额
-m, --no-mixed-pathnames 修剪 NFSv4 挂载点的前导斜线
--show-mntpoint 在输出上显示文件系统的挂载点
--hide-device 在输出上不显示文件系统的设备
6)repquota
repquota - summarize quotas for a filesystem,报告文件系统的配额信息
repquota [options] -a | mntpoint
-v, --verbose 同时显示用户/组,而不使用任何用法
-u, --user 显示关于用的的信息
-g, --group 显示关于组的信息
-s, --human-readable 以人类易读的方式显示数值 (MB, GB, ...)
-t, --truncate-names 截断名称为9个字符
-p, --raw-grace 从时间点上采用秒级别输出合适时间
-n, --no-names 不翻译uid/gid为名称
-i, --no-autofs 避免autofs挂载点
-c, --cache 立即翻译id中大的数值
-C, --no-cache 一个接一个的翻译id
-F, --format=formatname 报告指定格式的信息
-a, --all 报告指定挂载点带有配额的信息