本文主要是介绍RHEL7的磁盘配额,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
磁盘管理的概念:
Linux系统是多用户任务操作系统,在使用系统时,会出现多用户共同使用一个磁盘的情况,如果其中少数几个用户占用了大量的磁盘空间,势必压缩其他用户的磁盘的空间和使用权限。因此,系统管理员应该适当的开放磁盘的权限给用户,以妥善分配系统资源。
什么是磁盘配额:
磁盘配额是一种磁盘空间的管理机制,使用磁盘配额可限制用户或组在某个特定文件系统中所能使用的最大空间。
实验:
针对ext4格式
- 关闭防火墙和SELINUX
[root@localhost ~]# setenforce 0
[root@localhost ~]# systemctl stop firewalld
- 新建分区
[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 已按照只读方式打开。
- 格式化分区
[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, 884736Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
- 创建挂载目录和配额用户
[root@localhost ~]# mkdir /sdb1
[root@localhost ~]# chmod 777 /sdb1
[root@localhost ~]# useradd zhangsan
- 挂载分区
[root@localhost ~]# mount -o rw,usrquota,grpquota /dev/sdb1 /sdb1
- 实现开机自动启动配额
[root@localhost ~]# vim /etc/fstab
在最后一行加入
/dev/sdb1 /sdb1 ext4 defaults,usrquota,grpquota 0 0
- 生成磁盘内配额数据库
[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 扫描磁盘空间时,计算每个群组识别码所占用的目录和文件数目
- 激活磁盘配额
[root@localhost sdb1]# quotaon /sdb1
- 设置磁盘配额
[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 10blocks :目前使用者(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
- 查询磁盘配额
[root@localhost sdb1]# repquota -a
*** Report for user quotas on device /dev/sdb1
Block grace time: 7days; Inode grace time: 7daysBlock 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
- 设定宽限时间
[root@localhost sdb1]# edquota -t
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or secondsFilesystem Block grace period Inode grace period/dev/sdb1 7days 7days
- 使用-p参数复制quota资料到另一个用户
[root@localhost sdb1]# edquota -p redhat aaa
针对xfs格式:
- 安装配额命令
[root@localhost ~]# yum install xfsprogs.x86_64
- 查看配额
[root@localhost ~]# xfs_quota -x -c 'report' /sdb3/
User quota on /sdb3 (/dev/sdb3)
Blocks
User ID Used Soft Hard Warn/Graceroot 0 0 0 00 [--------]Group quota on /sdb3 (/dev/sdb3)
Blocks
Group ID Used Soft Hard Warn/Graceroot 0 0 0 00 [--------]参数:
-x 使用专家模式,只有此模式才能设置配额
-c 启用命令模式
report 显示配额信息
limit 设置配额
- 设置配额
[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/Graceroot 0 0 0 00 [--------]
swk 0 102400 122880 00 [--------]
这篇关于RHEL7的磁盘配额的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!