qouta磁盘配额
Linux是一个多用户的操作系统,多用户可以在同一个操作系统工作,这就可能导致了资源的滥用。需要管理员限定单个用户的资源使用额度。quota磁盘配额就是限制磁盘资源的使用。
应用场景:
1.网络存储空间有限 网盘
2.邮件服务器
3.公司的文件共享服务器
能限制谁?
1.限制普通用户
2.限制用户组
注意:不能限制root用户
root用户对其他人的限制
能够限制什么?
------------ 限制用户创建文件的个数
block------------ 限制用户能够使用的磁盘空间的大小
操作环境:centos7.3
192.168.100.3 quota
1.首先需要分区开启用户配额和组配额 文件系统必须支持磁盘配额usrquota,grpquota
创建一个分区并格式化
# fdisk -cu /dev/sdb
//创建分区# partx -a /dev/sdb
//通知内核
``# partx -a /dev/sdb
``# mkfs.ext4 /dev/sdb1 //格式化,文件系统为ext4
将文件系统挂载到系统中的/quota目录
``# mkdir /quota
``# mount /dev/sdb1 /quota
查看文件系统是否支持磁盘配额# mount | grep /quota
让文件系统支持磁盘配额# mount -o remount,usrquota,grpquota /dev/sdb1 /quota
查看文件系统是否支持磁盘配额# mount | grep /quota
/dev/sdb1 on /quota type ext4 (rw,usrquota,grpquota)
2.创建磁盘配额的记录文件# quotacheck -cugv /quota
-c 创建磁盘配额的配置文件
-u 针对用户配额的配置文件
-g 针对用户组配额的配置文件
-v 显示扫描过程种的信息
-a 检测系统中所有已经挂载支持quota功能的分区
Ls /quota
3.针对用户进行配额#useradd quotatest1 -d /quota
#useradd quotatest2 -d /quota
# ls -ld /quota
drwxr-xr-x 3 root root 4096 6ÔÂ 10 12:38 /quota
# chmod 777 /quota
//保证普通用户可以对/quota目录可写
例子:限制quota1用户最多只能创建10个文件 创建文件数达到7个警告 用户使用的空间最多使用10M 使用空间达到8M警告
# edquota -u quotatest1
//编辑方式同vim
Disk quotas for user quota1 (uid 501):
Filesystem blocks soft hard s soft hard
/dev/sdb1 0 8000 10000 0 7 10
-u, --user edit user data
-g, --group edit group data
s 单位是个
blocks 单位是KB
软限制:超过软限制只警告,不影响使用 只警告一次
硬限制:是不可逾越的限制
4.启动配额 ---- 一定要操作# quotaon /quota
Qoutaoff /quota //关闭配额
5.测试配额
1)文件个数的测试# su - quotatest1
//切换到普通用户,磁盘配额不能限制root用户
cd /quota
//一定要切换到做了配额的目录下操作
创建六个文件$ touch {a..f}.txt
创建第七个文件$ touch g.txt
//超过软限制警告,有警告,但是还可以创建
sdb: warning, user file quota exceeded.
$ touch h.txt
$ touch i.txt
$ touch j.txt
//超过硬限制不能创建文件
sdb: write failed, user file limit reached.
touch: 无法创建"k.txt": 超出磁盘限额
文件数量的磁盘配额设置成功
2)使用空间测试$ dd if=/dev/zero of=1.txt bs=1M count=5
$ ls –lh
查看用量
$ dd if=/dev/zero of=2.txt bs=1M count=4
继续创建,已使用9M
$ dd if=/dev/zero of=3.txt bs=1M count=2
磁盘按使用量限制配额测试成功。
用户组的配额,即同一个用户组内的用户配额相同,与按用户设置配额相似,不在累述。