RHEL7的磁盘配额

磁盘管理的概念:

Linux系统是多用户任务操作系统,在使用系统时,会出现多用户共同使用一个磁盘的情况,如果其中少数几个用户占用了大量的磁盘空间,势必压缩其他用户的磁盘的空间和使用权限。因此,系统管理员应该适当的开放磁盘的权限给用户,以妥善分配系统资源。

什么是磁盘配额:

磁盘配额是一种磁盘空间的管理机制,使用磁盘配额可限制用户或组在某个特定文件系统中所能使用的最大空间。

实验:

针对ext4格式

  1. 关闭防火墙和SELINUX
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl stop firewalld
  1. 新建分区
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思

命令(输入 m 获取帮助):n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+5G
分区 1 已设置为 Linux 类型,大小设为 5 GiB

命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

[root@localhost ~]# partprobe 
Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
  1. 格式化分区
[root@localhost ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1310720 blocks
65536 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成 
  1. 创建挂载目录和配额用户
[root@localhost ~]# mkdir /sdb1
[root@localhost ~]# chmod 777 /sdb1
[root@localhost ~]# useradd zhangsan
  1. 挂载分区
[root@localhost ~]# mount -o rw,usrquota,grpquota /dev/sdb1 /sdb1
  1. 实现开机自动启动配额
[root@localhost ~]# vim /etc/fstab 
在最后一行加入
/dev/sdb1 /sdb1 ext4 defaults,usrquota,grpquota 0 0
  1. 生成磁盘内配额数据库
[root@localhost ~]# quotacheck -vug /sdb1
[root@localhost ~]# cd /sdb1
[root@localhost sdb1]# ll
总用量 32
-rw-------. 1 root root  6144 11月 28 09:00 aquota.group
-rw-------. 1 root root  6144 11月 28 09:00 aquota.user
drwx------. 2 root root 16384 11月 28 08:46 lost+found


-v   显示指令执行过程
-u   扫描磁盘空间时,计算每个用户识别码所占用的目录和文件数目
-g   扫描磁盘空间时,计算每个群组识别码所占用的目录和文件数目
  1. 激活磁盘配额
[root@localhost sdb1]# quotaon /sdb1
  1. 设置磁盘配额
[root@localhost sdb1]# edquota -u zhangsan
-u : 编辑user的quota
-g : 编辑group的quota
-t : 编辑宽限时间
-p : 复制quota资料到另一用户上


这里设定用户quota最大使用容量为20M,当使用到10M时会得到警告要求降低到10M

最多可以创建10个文件,当创建5个文件时会得到警告要求降低到5个文件


[root@localhost /]# edquota -u zhangsan
Disk quotas for user zhangsan (uid 1001):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sdb1                         0        0          0           0        0        0
 
 改为
Disk quotas for user zhangsan (uid 1001):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sdb1                         0         10240      20480     0         5        10
 

blocks :目前使用者(zhangsan)在/dev/sdb1所使用的空间,单位:KB (不要修改)
soft   :soft limit 磁盘空间限定值 单位:KB (需要设定)
hard   :hard limit 磁盘空间限定值 单位: KB (需要设定)
inodes :目前使用者使用掉的inodes,由于不容易使用inode控制,所以不要修改它。
soft   :soft limit 文件限制数量  (根据需要修改)	
hard   :hard limit 文件限制数量   (根据需要修改)
soft limit :最低限制容量,在宽限期(grace period)之内,使用容量可以超过soft limit,但必须在宽限期之内将使用容量降低到soft limit以下。
hard limit :最终限制容量,如果使用者在宽限期内继续写入数据,到达hard limit将无法再写入。
宽限时间:使用容量超过soft limit,宽限时间自动启动,使用者将容量降低到soft limit以下,宽限时间自动关闭,如果使用者没有在宽限时间内将容量降低到soft limit,那么他将无法再写入数据,即使使用容量没有到达hard limit
  1. 查询磁盘配额
[root@localhost sdb1]# repquota -a
*** Report for user quotas on device /dev/sdb1
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --      20       0       0              2     0     0      



[root@localhost sdb1]# quota -uv zhangsan  (-u : 显示user。-v : 显示quota值)
Disk quotas for user zhangsan (uid 1001): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sdb1       0   10240   20480               0       5      10        

  1. 设定宽限时间
[root@localhost sdb1]# edquota -t
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
  Filesystem             Block grace period     Inode grace period
  /dev/sdb1                     7days                  7days
  1. 使用-p参数复制quota资料到另一个用户
[root@localhost sdb1]# edquota -p redhat aaa 

针对xfs格式:

  1. 安装配额命令
[root@localhost ~]# yum install xfsprogs.x86_64
  1. 查看配额
[root@localhost ~]# xfs_quota -x -c 'report' /sdb3/
User quota on /sdb3 (/dev/sdb3)
Blocks
User ID Used Soft Hard Warn/Grace

root 0 0 0 00 [--------]

Group quota on /sdb3 (/dev/sdb3)
Blocks
Group ID Used Soft Hard Warn/Grace

root 0 0 0 00 [--------]

参数:
-x 使用专家模式,只有此模式才能设置配额
-c 启用命令模式
report 显示配额信息
limit 设置配额
  1. 设置配额
[root@localhost ~]# xfs_quota -x -c 'limit bsoft=100M bhard=120M -u wangwu' /sdb2/
[root@localhost ~]# xfs_quota -x -c 'report' /sdb2/
User quota on /sdb3 (/dev/sdb3)
Blocks
User ID Used Soft Hard Warn/Grace

root 0 0 0 00 [--------]
swk 0 102400 122880 00 [--------]
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值