可以针对于用户(usrquota),组(grpquota)做限额
限额的类型有块的大小(block)(可以生成多大的文件),节点数量(inode)(多少个文件)
让分区支持磁盘配额功能
#lvcreate -L 3G -n qdisk sys
#mkfs.ext4 /dev/sys/qdisk
#mkdir /mnt/qdisk
#mount -o usrquota,grpquota /dev/sys/qdisk /mnt/qdisk
#vi /etc/fstab
------------------------
/dev/sys/qdisk /mnt/qdisk ext4 defaults,usrquota,grpquota 0 0
------------------------
#chmod 1757 /mnt/qdisk
#useradd u1
#useradd u2
#useradd u3
在设置配额之前需呀了解
01 受众 (user,group root不受限制)
02 限制条件 (block,inode)
03 限制强度 (soft,hard)
grace time: 默认7天
一旦你超过了软限制之后,系统的grace time开始计时,
grace time过期以后,你的hard的值会调整为你当前的超限值。
基本命令
quotacheck //扫描具有usrquota,grpquota的目录,并创建quota记录文件
-a //扫描所有当前挂载并支持quota功能的分区
-u //创建针对于用户的quota记录文件
-g //创建针对于组的quota记录文件
-v //显示扫描过程中的信息
quotacheck [-augv] [mount_point]
#yum provides */quotacheck
#yum install quota
# quotacheck -avgu
# quotacheck -ugv /mnt/qdisk
quotaon //启动磁盘配额功能
quotaon -ugv /mnt/qdisk
quotaoff //关闭
quotaoff -ugv /mnt/qdisk
edquota //编辑
edquota [-u username] [-g groupname]
-u //用户
-g //组(主要组)
-t //grace time
-p //复制用户的磁盘配额限制
edquota -u u1
----------------------------------------------------
block soft hard inode soft hard
51200 102400 20 40
#su - u1
$cd /mnt/qdisk
$dd if=/dev/zero of=file1 bs=1M count=30 ; sync
$dd if=/dev/zero of=file2 bs=1M count=30 ; sync
$dd if=/dev/zero of=file3 bs=1M count=30 ; sync
$dd if=/dev/zero of=file4 bs=1M count=30 ; sync
#repquota -a
$rm -f file*
$touch {1,2,3,4,5}{1,2,3,4,5}
$touch a{1,2,3,4}{1,2,3,4}
#repquota -a
sync 强制写回(将内存中修改后但未保存到磁盘的数据写回磁盘)
linux是异步同步操作系统
会把多个小的写入流汇集成为一个大的写入流写回到硬盘
这样避免频繁的I/O操作
当我们使用reboot命令重启系统是,系统第一个操作就是sync
---------------------------------------------------
磁盘配额的过程
01 划分一个分区
02 将分区挂载到一个目录,并带有(usrquota,grpquota)属性
使用mount来校验
03 使用quotacheck -a 或 quotacheck -ugv mount_point
来检查配额文件是否存在user; group
04 启动磁盘配额 quotaon -ugv "mount_point"
05 edquota -t
06 edquota -u 用户名
edquota -g 组名 (不可以是附属组)
07 使用repquota -a来查看磁盘使用情况
来源:https://www.cnblogs.com/mayuansheng/p/5760102.html