磁盘配额 quota

谁都会走 提交于 2020-03-16 04:35:25

可以针对于用户(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来查看磁盘使用情况

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!