磁盘配额

配额:quota,用来限制磁盘资源的使用。

磁盘配额分为:uquota(限制普通用户),gquota(限制用户组),pquota(限制项目)。

分别在两个方面进行限制:
block----限制用户能够使用磁盘空间的大小
inode----限制用户存储文件的个数
 

限制的情形分为以下三种:

soft 软限制:超过软限制只警告,不影响使用
hard 硬限制:是不可逾越的限制
grace time 时间限制:宽限时间,当超过软限制,没有超过硬限制的时候,将启动倒计时,默认设置为7天,如果7天内不进行任何磁盘管理操作,软限制将变成硬限制。

设置配额,需要哪些条件?
1)需要内核支持磁盘配额
# grep -i quota /boot/config-3.10.0-514.el7.x86_64
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_XFS_QUOTA=y
CONFIG_QUOTA=y

CONFIG_QUOTA_NETLINK_INTERFACE=y
CONFIG_PRINT_QUOTA_WARNING=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=y
CONFIG_QUOTACTL=y
CONFIG_QUOTACTL_COMPAT=y

查阅内核支持配额信息,加粗的两行代表centos7u3使用的内核支持配额。

2)文件系统支持磁盘配额

 

设置配额的步骤:

1)准备分区
# parted /dev/sdb mkpart primary 1 1G


2)制作文件系统
# mkfs.xfs /dev/sdb1


3)修改文件系统的属性并挂载(支持磁盘配额)
uquota gquota pquota
# umount /dev/sdb1
# mount -o uquota,gquota,pquota /dev/sdb1 /sdb1
# mount |grep sdb1
/dev/sdb1 on /sdb1 type xfs (rw,relatime,attr2,inode64,usrquota,prjquota,grpquota)

4)配置磁盘配额(设置user1用户只能在此文件系统内创建10个文件,并且创建文件的总大小不能超过10M)
1)准备用户
# useradd user1
2)为user1用户设置配额
# xfs_quota -x -c 'limit -u ihard=10 bhard=10M user1' /sdb1
-x 专家模式 只有使用了-x后面才可以使用-c的指令
-c 后面接子命令
limit 设置配额
-u 给用户设置配额
-g 给用户组设置配额
-p 给项目设置配额
isoft inode的软限制
ihard inode的硬限制
bsoft block的软限制
bhard block的硬限制


3)查看用户的配额信息
# xfs_quota -x -c 'report -uibh' /sdb1
User quota on /sdb1 (/dev/sdb1)
Blocks Inodes
User ID Used Soft Hard Warn/Grace Used Soft Hard Warn/Grace
---------- --------------------------------- ---------------------------------
root 0 0 0 00 [------] 3 0 0 00 [------]
user1 0 0 10M 00 [------] 10 0 10 00 [------]

report 列出文件系统的quota信息
-u 只显示用户的配额
-g 只显示用户组的配额
-p 只显示项目的配额
-i 只显示inode的配额
-b 只显示block的配额
-h 人性化显示

5)测试
# chmod 777 /sdb1
# su - user1
$ cd /sdb1 //一定要切换到做了配额的目录下在操作
$ touch {1..10}.txt
$ ls
10.txt 1.txt 2.txt 3.txt 4.txt 5.txt 6.txt 7.txt 8.txt 9.txt
$ touch 11.txt //超过硬限制,不能够创建11.txt文件
touch: 无法创建"11.txt": 超出磁盘限额


$ rm -rf 10.txt 9.txt
$ dd if=/dev/zero of=a.txt bs=1M count=10
$ dd if=/dev/zero of=b.txt bs=1M count=1 //超过硬限制,不能够b.txt文件
dd: 打开"b.txt" 失败: 超出磁盘限额

关闭配额
1)停止配额
# xfs_quota -x -c 'off -u' /sdb1
# xfs_quota -x -c 'off -g' /sdb1
# xfs_quota -x -c 'off -p' /sdb1
2)删除配额
# xfs_quota -x -c 'remove -u' /sdb1
# xfs_quota -x -c 'remove -g' /sdb1
# xfs_quota -x -c 'remove -p' /sdb1

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WUYANGEZRA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值