linux磁盘配额详解(EXT4和XFS)

概述

Linux系统作为一个多用户的操作系统,在生产环境中,会发生多个用户共同使用一个磁盘的情况,会造成Linux根分区的磁盘空间耗尽,导致Linux系统无法建立新的文件,从而出现服务程序崩溃、系统无法启动等故障现象。
为了避免这种情况,解决方法就是 ,对用户在指定文件系统中使用磁盘空间、文件数量进行限制,防止用户占用大量的磁盘空间,从而保持系统存储空间可以稳定使用。
如果要针对某个目录进行配额限制的话,XFS文件系统支持 Project Quota 功能,通过该特性,可以支持目录级别的配额限制。本文将对ext4和xfs这两种linux文件系统进行磁盘配额的详细配置

实验环境

CentOS 7.6虚拟机
逻辑卷2个: ext4格式的/dev/vg01/lv02
xfs格式的/dev/vg01/lv03

注意事项

  • 磁盘配额要求Linux内核支持磁盘配额技术,centos7默认支持
  • 磁盘配额只对一般用户有效,对管理员(root)来说是没有任何作用限制的

EXT4和XFS的区别

ext4 文件系统 xfs 文件系统
无法对单一目录 可对单一目录
quota工具 xfs_quota工具
quota默认不开启 默认开启
需要创建配额配置文件 不需要创建配额配置文件

实现步骤

1、关闭selinux
2、修改/etc/fstab,对所选文件系统激活配额选项
3、重新挂载设备
4、用quotacheck命令生成基本配额文件(xfs跳过)
5、启动磁盘配额功能(xfs跳过)
6、用quota或者xfs_quota对具体用户或者目录设置配额

EXT4的磁盘配额设置

1、确认selinux已关闭
在这里插入图片描述
如果是enable表示开启,需要修改selinux的配置文件,设置完需重启,如图:
在这里插入图片描述
mount -o usrquota,grpquota /dev/vg01/lv02 /opt #临时带配额参数挂载
在这里插入图片描述
在这里插入图片描述
写进/etc/fstab配置文件,永久挂载
在这里插入图片描述
由于ext4文件系统,quota功能默认是不开启的,需要创建磁盘配额的配置文件(aquota.user 和 aquota.group),才可以去启动quota功能,使用 quotacheck 命令的 -c 选项

  • -v:显示扫描过程
  • -u:针对扫描用户的情况建立aquota.user
  • -g:针对扫描组的情况建立aquota.group

在这里插入图片描述
ext4需要开启配额否则即使设置了配额也不生效
在这里插入图片描述
在这里插入图片描述
设置tom 用户(已经创建好的普通用户)在opt 目录下创建文件的最大容量是10240K 最大文件个数6
在这里插入图片描述
dd if=/dev/zero of=文件路径 bs=N count=N

  • dd:复制
  • if=/dev/zero:从zero中拿取容量
  • of=文件路径:将的容量写入设置配额磁盘下的文件中
  • bs=N:每次写多少容量,默认单位为字节,可带单位K,M
  • count=N:一共写入几次

在这里插入图片描述

参数说明

  • inode:可以创建文件或者目录的数量
  • block:可以存储的容量大小
  • soft(软限制):最低限制容量,可以被超过,但会有警告信息,超过的部分会保存到宽限时期到期。一般是硬限制的80%,单位为KB
  • hard(硬限制):绝对不能被超过限制。达到hard时,系统会禁止继续增加新的文件
  • 宽限时间(一般为7天)单位为KB
    当用户使用的空间超过了软限制但还没达到硬限制,在这个宽限的时间到期前必须将超过的数据降低到软限制以下(默认是7天),当宽限时间到期,系统将自动清除超过的数据。

XFS的磁盘配额设置

对用户设置配额

在这里插入图片描述
在这里插入图片描述
xfs_quota -x -c ‘limit -u bsoft=50M bhard=80M isoft=6 ihard=8 tom’ /opt/lv03

xfs_quota命令

  • -x:启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用
  • -c:直接调用管理命令,如limit,report等

管理命令limit后相关:
-u:对用户限制
-g:对组限制
bsoft:磁盘容量软限制
bhard:磁盘容量硬限制
isoft:文件数量软限制
ihard:文件数量硬限制
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
xfs_quota -x -c ‘report -abi’ /opt/lv03
#执行report命令,后面跟上挂载点,这样可以列出所有的Project ID以及对应的配额使用情况

管理命令report后相关:
-u:对用户查看
-g:对组查看
-a:查看所有可用分区的配额使用报告
-b:查看磁盘容量
-i:查看文件数

对单一目录设置配额

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
xfs_quota -x -c 'project -s -p /opt/lv03/test 1’
#为目录分配ProjectID 1,-p 后跟path

在这里插入图片描述

xfs_quota -x -c ‘limit -p bhard=100m 1’ /opt/lv03
#限制Project 1的配额为100MB
调用project命令创建一个project,再调用limit命令设置配额
在这里插入图片描述
在这里插入图片描述
xfs_quota -c ‘quota -p 1’ /opt/lv03
#查询某个project的配额使用情况

猜你喜欢

转载自blog.csdn.net/shengjie87/article/details/106833741