• Linux quota


    quota主要用于Linux系统的磁盘限额,可以做到针对单个用户、用户组进行磁盘使用量的限制,以下主要进行quota的配置及使用详解。

    环境介绍:

    Distributor ID:	Ubuntu
    Description:	Ubuntu 18.04.5 LTS
    Release:	18.04
    Codename:	bionic
    
    • 1
    • 2
    • 3
    • 4

    一、安装

    apt-get install quota quotatool 
    
    • 1

    二、磁盘挂载配置

    主要是在文件/etc/fstab中磁盘挂载参数中添加usrquotagrpquota参数:
    在这里插入图片描述
    配置修改完毕之后,建议重启设备。

    三、quota文件生成

    重新连入设备,执行如下命令在上述挂载的磁盘的顶级路径下生成aquota.useraquota.group文件:

    quotacheck -cugm /
    
    • 1

    quotacheck用法:
    在这里插入图片描述

    • c:创建新的quota文件;
    • u:检查用户文件aquota.user;
    • g:检查组文件aquota.group;
    • m:不重复挂载文件系统;
    • 因为示例是直接使用的根路径挂载的磁盘,所以上述路径使用的是根路径;

    可以看到在/路径下生成的两个文件:
    在这里插入图片描述

    四、给用户配额

    在这里插入图片描述

    1. 文件系统(filesystem):说明该限制值是针对哪个文件系统(或partition);

    2. 磁盘容量(blocks):这个数值是quota自己算出来的,单位为KB;

    3. soft:磁盘容量block的soft限制值,单位为KB;

    4. hard:block的hard限制值,单位KB;

    5. 文件数量inodes:这是quota自己算出来的,单位为个数;

    6. soft:inode的soft限制值;当值为0时,表示没有soft限制;

    7. hard:inode的hard限制值。当值为0时,表示没有hard限制;

    1、配额

    edauota -u testuser
    上图中testuser用户配额:

    • 软限制:10M
    • 硬限制:15M

    2、宽限期

    edauota -t
    在这里插入图片描述

    宽限期默认是7天,将block和inode宽限期修改为12天。

    3、查看限额情况

    quota -u testuser
    在这里插入图片描述
    可以看到,用户初始目录中:

    • 占用block:32
    • 占用inode:6

    4、测试

    1. 放入5M文件再查看限额情况
    dd if=/dev/zero of=test_01 bs=1M count=5
    
    • 1

    在这里插入图片描述
    可以看到block占用数此时为:5152,inode占用数为7。

    1. 再次放入第二个文件test_02,20M,再查看配额情况:
    dd if=/dev/zero of=test_01 bs=1M count=20
    
    • 1

    在这里插入图片描述
    可以看到block占用数此时为:15000,inode占用数为8。查看test_02文件大小并没有20M,这就是由于已经达到testuser用户的使用上限,其余部分被限制。同时可以发现触发了宽限期;

    1. 由于我们并没有对inode进行限制,此时仍然可以创建空文件:
      在这里插入图片描述
    2. 我们删除刚才创建的test_02发现宽限期又恢复正常。
      在这里插入图片描述
      如果需要对文件数进行限制可在edquota中对inode项进行配置。

    五、quota常用命令

    1、命令行配置

    语法:setquota user blocks限制 inode限制 文件系统
    示例:将testuser限制为:

    • block软限制:15000
    • block硬限制:20000
    • inode软限制:15
    • inode硬限制:20
    setquota testuser 15000 20000 15 20 /dev/nvme0n1p1 
    
    • 1

    在这里插入图片描述

    2、复制磁盘配额给其他用户

    1. 检查用户testuser01配额情况:
      在这里插入图片描述
    2. 复制testuser配额给testuser01:
    edquota -p testuser -u testuser01
    
    • 1

    在这里插入图片描述
    3. 对比testuser和testuser01两个用户配额情况:

    repquota -a
    
    • 1

    在这里插入图片描述

    3、关掉磁盘配额

    quotaoff -a
    
    • 1
  • 相关阅读:
    LRU/LFU
    软件测试平台的作用以及会包含哪些功能?
    从功能测试到掌握自动化,四个月时间我是如何从点工进入互联网大厂
    2022-06-26 数据结构-数组、链表、栈、队列
    Leetcode1-两数之和
    nginx + php 502
    【算法合集】学习算法第一天(链表篇)
    借助 .NET 开源库 Sdcb.DashScope 调用阿里云灵积通义千问 API
    网络工程师回顾学习
    elasticsearch搜索IK分词器实现单个字搜索
  • 原文地址:https://blog.csdn.net/qq_25562325/article/details/125890263