我们继续接上篇进行的LVM逻辑卷进行接下来的磁盘配额的学习
本章操作内容接上篇lvm逻辑卷,如果没有看过上篇博客操作的小伙伴,可在操作完逻辑卷的内容时候再继续跟着本篇内容进行磁盘配额的操作!

磁盘配额概述:
1.需要磁盘限额的条件

  • 需要Linux内核支持
  • 安装xfsprogs与quota软件包
    2.Linux磁盘限额的特点
  • 作用范围:针对指定的文件系统(分区)
  • 限制对象:用户账号、组账号
  • 限制类型:磁盘容量、文件数量
  • 限制方法:软限制、硬限制

磁盘配额的过程:
以支持配额功能的方式挂载文件系统

编辑用户和组账号的配额设置

验证磁盘配额功能

查看磁盘配额使用情况

启用磁盘配额支持:
1.启用文件系统的配额支持:
添加usrquota、grpquota挂载参数

磁盘配额管理:
编辑用户和组账号的配额设置
1.使用xfs_quota命令编辑配额设置,格式如下:
xfs_quota -x -c ‘limit - bsoft=N bhard=N isoft=N ihard=N 用户名’ 挂载点
2.常用选项:

  • -u:用户
  • -g:组
  • -x:使用专家模式
  • -c:使用命令执行
    3.限制字段:
  • bsoft:软限制(≤硬限制,b表示块,可以超出最长时间为7天)
  • bhard:硬限制(不可超出)
  • isoft:软限制(i为节点)
  • ihard:硬限制

1.验证磁盘配额功能

  • 切换到设置配额的分区(挂载目录)
  • 创建指定数量的文件:使用touch名利你,或cp命令
  • 创建指定容量的文件:使用dd命令,或co命令
    2.查看配额使用情况:xfs_quota -x -c ‘report 选项’ 挂载点
    report常用选项:
  • a:查看所有
  • b:输出报告
  • i:查看节点信息
  • u:用户
  • g:组

接下来我们进行磁盘配额的操作:
磁盘配额是针对容量和节点进行限制
磁盘配额解决的问题是:当某一块存储空间公开出去给所有人使用时,这时需要考虑到安全性的问题,如果设置了磁盘配额的话,每个用户只能用自己额定的空间和数量,超出就不可用!
进行磁配额之前,首先要看内核是否支持功能,相关的软件包是否已经安装:
输入:rpm -qa | grep xfsprogs过滤查看是否已安装该软件包
输入:rpm -ql xfsprogs | grep quota过滤查看是否有quota组件
过程如下图:
基于LVM逻辑卷下的磁盘配额操作
有的话就带配额功能,如果没有该功能的话我们可以使用yum仓库进行相关的安装,详细操作可以查看之前的yum仓库的操作文章!

在做磁盘配额之前,不管你的VMware虚拟机中安装的linux版本是6.0还是7.0我们都来先把系统的增强型安全功能给关闭掉,输入:setenforce 0关闭增强型安全功能,如果不关闭的话会出现无法实现配额功能的情况!
接下来我们进行永久挂载的操作:
输入:vim /etc/fstab,敲回车,此处我们针对之前创建的mbox02来进行操作
光标移动到mbox02的defaults处按a在光标所在的后部输入:usrquota,grpquota
基于LVM逻辑卷下的磁盘配额操作
输入:wq保存退出

但是此时还是处于未生效状态,如下图:
基于LVM逻辑卷下的磁盘配额操作
接下来我们需要重新挂载让其生效:
输入:umount /opt/mbox2/解除挂载
输入:mount -a重新挂载
输入:mount此时显示挂载成功,如下图:
基于LVM逻辑卷下的磁盘配额操作

接下来我们需要设置磁盘配额:
输入:xfs_quota -x -c ‘limit -u bsoft=50M bhard=80M isoft=4 ihard=6 zhangsan’ /opt/mbox2
其中:

  • xfs_quota:软件包
  • -x:启用专家模式
  • -c:后面是命令
  • -u:针对于用户
  • limit:上限限制
  • bsoft=50M bhard=80M:容量大小限制
  • isoft=4 ihard=6:节点设置
  • zhangsan:用户

接下来我们进入验证的步骤:
在验证之前我们需要注意的是,此时我们限制的用户是zhangsan,但是我们目前所在的用户为root,所以需要切换为zhangsan用户,输入:su - zhangsan
此时我们输入:ls -l /opt/查看一下zhangsan账户能否有写的权限
此时显示权限为不可写,但是因为权限不足,我们也不能够直接用zhangsan账户修改自己的操作权限,如下图所示:
基于LVM逻辑卷下的磁盘配额操作
所以我们此时输入:exit退回超级管理员用户root
输入:chmod 777 /opt/mbox2/(修改权限)
输入:ls -l /opt/(查看权限,此时为可写)
基于LVM逻辑卷下的磁盘配额操作
接下来我们就可以切换回zhangsan用户进行操作了:
输入:su - zhangsan切换回zhangsan用户
输入:cd /opt/mbox2进入目录
输入:ls查看详情,此时目录下是空的
输入:touch test{1..4}.txt
输入:ls查看详情,此时目录下有四个文件
输入:touch test5.txt
输入:touch test6.txt,我们设置的节点上限是6,接下来再输入:touch test7.txt
此时提示:无法创建,超出磁盘限额
以上的操作验证的是磁盘的节点设置,因为我们设置的节点为6,当我们创建到7时如果无法创建则说明节点设置成功!
此时节点超了,但是容量任然没有超,但是如果我们想在往里面写容量文件是无法操作的
输入:rm -rf *删除此目录下内容
接下来我们进行容量的验证:
输入:dd if=/dev/zero of=/opt/mbox2/test01.txt bs=1M count=50M(dd为验证型复制、zero是专门用来做验证的垃圾、bs代表一次、count代表一共)
输入:ls -lh 详细友好显示,test01.txt中写入50M
基于LVM逻辑卷下的磁盘配额操作
此时我们再写一个文件test02.txt,大小为50M,因为我们设置的容量为80M,如果再写50M进去的话就会超额了,我们看看能不能写入成功
输入:dd if=/dev/zero of=/opt/mbox2/test02.txt bs=1M count=50M
此时结果如下图:
基于LVM逻辑卷下的磁盘配额操作
结果是可写入的,但是硬限制是80M,所以只能写入30M
结论:两个限制只要有一项超出,另外一项就无法写入。

以上就是基于LVM逻辑卷下的磁盘配额操作,大家可以跟着过程一起操作,谢谢!