磁盘配额

quota命令
用于显示用户或者工作组的磁盘配额信息。输出信息包括磁盘使用和配额限制
选项
-g:列出群组的磁盘空间限制;
-q:简明列表,只列出超过限制的部分;
-u:列出用户的磁盘空间限制;
-v:显示该用户或群组,在所有挂入系统的存储设备的空间限制;
-V:显示版本信息。

我们可以限制某一群组所能使用的最大磁盘配额,而且可以再限制某一使用者的最大磁盘配额 ,好比做一个收费的应用,vip可以得到空间更大一些。

1、新建用户,设置密码

useradd westos
echo "westos" |passwd westos --stdin

2、创建一个逻辑分区,并且格式化ext4文件系统

fdisk /dev/vdb
mkfs.ext4 /dev/vdb1

3、创建挂在目录 ,并且修改权限777,可以让其他用户拥有所有权限

mkdir /public
chmod 777 /public

4、创建文件挂载点

echo "/dev/vdb1  /public    ext4 defaults,usrquota,grpquota      0 0
" >> /etc/fstab
#第一个字段为被挂载的分区,第二个字段为挂载的目录,第三个字段是被挂载的分区的文件系统类型,后面的几个字段是支持quota的参数。各字段用空格分隔

mount -a #读取/etc/fstab,重新挂在生效,或者重启也行

5、使用quotacheck命令生成配置磁盘配置的数据库文件

若selinux开启的话会提示权限不够,通过setenforce 0临时关掉selinux就可以了
创建磁盘配额配置文件,命令参数解释如下:
#-v 显示扫描过程;
#-u 针对扫描情况与目录的使用情况建立aquota.user;
#-g 针对用户扫描文件与使用情况建立aquota.group;

quotacheck -vug /public
ls /public
#quotacheck执行成功可以看到/public/下面多了两个文件

6、配置westos用户使用/dev/vdb1分区的限额
edquota -u westos

Disk quotas for user quser1 (uid 502):
  Filesystem    blocks    soft    hard   inode   soft   hard
  /dev/hdb1       0       10      20      0      0      3
Filesystem 文件系统
blocks 已经使用的块数(块的单位为1K)
soft 块数软限制,0表示禁用
hard 块数硬限制,0表示禁用
inodes 已经创建的文件个数,如果后面有*表示已经超出软限制
soft 创建的文件个数的软限制,0表示禁用
hard 创建的文件个数的硬限制,0表示禁用、开启这个分区的磁盘配额

7、开启这个分区的磁盘配额

quotaon /public #挂在点看你前面做了什么操作,可自行修改

测试部分

(1)测试磁盘使用额度

#切换到westos用户
 su westos
 #进入/dev/vdb1分区
 cd /public

#使用dd命令进行文件写入测试,
# if=/dev/zero 表示从”/dev/zero”文件输出,of=/public/testfile1 表示输入到”/public/testfile1”文件中,也就是,从/dev/zero这个文件中读取垃圾数据写入/public/testfile1这个文件中;
# bs=1K 表示一次读取写入的大小是1KB,count=12 表示读取12次;
#所以理论上最后写入/vdb1/testfile1的数据应该是12KB

dd if=/dev/zero of=/public/testfile1 bs=1K count=12
 #因为针对这个用户在这个分区的软限制设置是10KB,所以这里给出了警告信息
dd if=/dev/zero of=/public/testfile3 bs=1K count=12
 #出现了一个警告,并且下方显示只有8K的数据被复制,这是因为我们设置的硬限制是20KB
 #第一个文件已经占用了12KB的数据,第二个文件仅写入了8KB的数据,硬限制是不能被超越的,而软限制10KB是可以被超越的,超越的数据,会在这个分区中默认保存7天,然后系统将自动删除这些数据

(2)测试文件数量限制
按照前面的介绍和我们的配置,超过3个文件的软限制时会给出警告,而无法超过5个文件的硬限制,使用touch来创建空文件
创建空文件省略….
#超过3个文件时出现了警告
创建空文件省略….
#touch第6个文件的时候提示创建失败
#超过文件数量软限制的部分同样会被保存7天,然后被系统自动删除
#查看当前用户的磁盘配额使用情况,两个已经超出的配置分别是文件大小和文件数量,宽限时间还有6天

quota -vugs
 #dev/vdb1    20K*  10K  20K   6days   5*    3     5   6days
 #可以使用root权限修改宽限时间
 edquota -t

关闭磁盘配额

  #关闭单个磁盘的磁盘配额
  quotaoff /public
  #关闭所有已经开启的磁盘配额
  quotaoff -a
  #反之,开启所有磁盘配额
  quotaon -a
  #如果不再使用磁盘配额,可以将配置文件也删除
  rm -rf /public/aquota.*
  #最后删除/etc/fstab中的自动挂载即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值