🚗10、磁盘配额
00 分钟
2024-3-8
2024-6-25
type
status
date
slug
summary
tags
category
icon
password
文章状态
磁盘配额
一、磁盘配额(Quota)
(一)Quota的意义
Linux是多任务多用户的操作系统,所以多个用户使用同一块硬盘的情况时有发生。为避免用户或组大幅占用硬盘资源,会对其设置磁盘配额。
(二)Quota的作用
Quota可为用户和组能使用的磁盘资源(包括容量和文件数量)设限制。# 对应为文件系统中的block资源和inode资源
(三)基本概念
软限制(soft) 用户在低于软限制的时候可以正常使用磁盘;超过软限制之后且低于硬限制的时候,每次用户登录系统时系统会发出警告信息,超出部分触发宽限天数,宽限天数到期后锁住用户磁盘使用权限。
硬限制(hard) 用户使用的硬盘资源绝对不会超过的限制值。用户对磁盘的使用权在超过硬限制时会被锁住。
宽限天数 当用户的磁盘资源使用介于软限制和硬限制之间时,会触发宽限时间。达到硬限制时,用户的磁盘使用权会被锁住。默认宽限天数为倒计时7天。
二、配置磁盘配额
·CentOS 6↓
· 挂载、临时关闭SELinux、扫描分区生成配置文件、对用户或组生成磁盘配额、启用磁盘配额、查看磁盘配额、关闭磁盘配额
(一)挂载 # 已添加硬盘且格式化后
·临时配置
mount -o remount,usrquota,grpquota /disk1/ # 本次开机生效
·永久配置
① /dev/sdb1 /disk1/ ext4 defaults,usrquota,grpquota 0 0
↑修改/etc/fstab文件
② 重新挂载 mount -o remount /abc/
(二)临时关闭SELinux
setenforce 0 # 临时关闭SElinux
getenforce # 查看
cat /etc/selinux/config
# SELinux永久配置文件。enforcing开启;permissive记录;disabled关闭
(三)扫描分区生成配置文件
# quota是通过分析整个文件系统中每个用户/组拥有的文件总数与总容量,将这些数据记录在该文件系统的最顶层目录,然后在该配置文件中再使用每个账号或组的限制去规定磁盘使用量。
quotacheak命令
作用:扫描文件系统并创建quota的配置文件
选项:-a 扫描在/etc/fstab (/etc/mtab)文件中加入quota设置的文件
  • u 针对用户扫描文件与目录的使用情况,会新建aquota.user文件
  • g 针对用户组扫描文件与目录的使用情况,会新建aquota.group文件
  • v 显示扫描过程
  • c 清除原有的配置文件,重新建立新的配置文件
  • m 强制以读写的方式扫描文件系统
  • f 强制扫描文件系统,并写入新的配置文件
# -m 和 -f 是在文件系统可能已经启动quota,但还想重新扫描文件系统的时候会被系统要求加入的两个参数
举例:quotacheck -avug
(四)对用户或组设置磁盘配额
edquota命令
作用:设置用户和组的磁盘配额限制
选项:-u 用户名
  • g 组名
  • t 设定宽限时间
  • p 复制磁盘配额规则
举例:① edquota -u hf01 ② edquota -p hf01 -u hf02
(五)启用磁盘配额
quotaon命令
作用:启动磁盘配额
格式:quotaon [-选项] [分区名]
选项:-a 根据/etc/mtab内文件系统设置有关quota #不需加指定分区
  • u 针对用户启动quota(aquota.user)
  • g 针对组启动quota(aguota.group)
  • v 显示启动过程的相关信息
举例:quotaon -avug
(六)查看磁盘配额
·查询用户或组的配额
quota命令
格式:quota [-选项] [用户名或组名]
选项:-v 显示详细信息
  • u 用户名
  • g 组名
  • s 以常见单位显示大小
举例:① quota -uvs hf01 ② quota -gvs xxhf
·查询文件系统配额
repquota命令
格式:repquota [-选项] [分区名或挂载点]
选项:-v 显示详细信息
-u 查询用户配额
  • g 查询组配额
  • s 以常见单位显示大小
  • a 根据/etc/mtab文件查询所有分区的磁盘配额
举例:① repquota -uvs /dev/sdb1
(七)关闭磁盘配额
quotaoff命令
作用:关闭磁盘配额
格式:quotaoff [-选项] [分区名]
选项:-a 根据/etc/mtab关闭全部quota
  • u 关闭用户的quota
  • g 关闭组quota
·CentOS 7↓
· 挂载、查看分区情况、对用户/组/目录设置磁盘配额、启用(关闭)磁盘配额 ?
(一)挂载
# 临时挂载mount -o remount,usrquota…不生效,需先卸载,再次挂载时添加特殊选项;永久挂载在/etc/fstab文件第四列中写入usrquota,grpquota,prjquota选项
(二)查看分区磁盘配额情况
xfs_quota -x -c “命令”
选项:
  • x 启用“专家模式”允许对磁盘配额进行编辑
  • c quota可以在交互模式和命令模式两种方式下执行,添加 -c命令可以让quota顺序执行 -c选项后的命令
命令:
print 列出所具有XFS设备标识的路径
df 与df命令相同,可以添加-b(block)、-i(inode)等
report 列出目前的磁盘配额详细信息,需配合ugrbi等选项
state 目前支持磁盘配额的文件系统信息
e.g.
xfs_quota -x -c "print"
# 查看分区磁盘配额开启情况
xfs_quota -x -c "report -ugbir" /disk1/
# 查看指定分区user、group、block、iNode等情况
xfs_quota -x -c "state"
# 查看分区磁盘配额开启情况和宽限天数
(三)对用户、组、目录设置磁盘配额
xfs_quota -x -c “limit -u/g b(/i)soft=N b(/i)hard=N [usrname/grpname]” [挂载点]
3.1用户设置磁盘配额
3.1.1 xfs_quota -x -c "limit -u bsoft=300M bhard=500M hf01" /disk1/
# 对hf01用户在disk1分区中使用磁盘容量设置软限制和硬限制(300M、500M)
3.1.2 xfs_quota -x -c "limit -g isoft=10 ihard=15 xxhf" /disk1/
# 对xxhf组在disk1分区中创建文件数量设置软限制和硬限制(10、15)
3.2目录设置磁盘配额
  • ** 使用projectquota需要生成两个配置文件↓ ***
echo "15:/mnt/u1dir" >> /etc/projects
# “:”分隔。前为可自定义的标识符“15”;后为需设限目录的“路径”。
echo "myprjquota:15" >> /etc/projid
# “:”分隔。前为可自定义的“本次目录限额的名称”;后为第①步中定义过的标识符“15”。
xfs_quota -x -c "project -s myprjquota"
# 初始化prj
xfs_quota -x -c "print" /disk/
xfs_quota -x -c "report -pbih" /disk/
# 查看
xfs_quota -x -c "limit -p bsoft=40M bhard=50M myprjquota" /mnt/
# 对myprjquota目录设置使用磁盘容量的软限制和硬限制(40M、50M)
三、创建指定大小文件
dd if=/dev/zero of=/root/test.txt bs=1M count=50
dd 命令本身
if 数据来源
of 保存位置
bs 每次读取数据大小
count 读取数据次数
上一篇
9、LVM
下一篇
11、备份与恢复