美文网首页Linux
Linux实用工具-quota磁盘配额管理

Linux实用工具-quota磁盘配额管理

作者: QuietHeart | 来源:发表于2020-09-14 15:55 被阅读0次

    Linux可以使用quota进行配额管理。

    • 磁盘配额功能需内核支持,挂载之时需指定特定的选项。
    • 配额按分区分配,不同用户在不同分区,对应不同配额。
    • 如果没有为对应用户设置相应配额,则该用户没有限制。
    • 可对用户在某分区的磁盘使用空间或者文件数目做限制。

    安装软件

    #sudo apt-get install quota
    

    打开磁盘配额功能

    需编辑 /etc/fstab 文件类似如下:

    /dev/vg_h2/lv_h2                /home2          ext4            defaults,usrquota               0       2
    

    比如这里对 /home 所在行进行修改,增加了 usrquota 统计用户的磁盘配额信息。命令选项 usrquotagrpquota ,分别对应用户级和组级配管理设置。

    配置完成后,需重启系统.

    创建配额文件

    #quotacheck -avu
    

    运行命令之后,会在对应的文件系统的根路径创建 aquota.user 等配额文件,里面保存用户配额信息,后面设置配额的时候,会将设置的结果存储到这个文件里面。

    默认没法创建的话,根据提示添加 -m 强制创建:

    quotacheck -avu
    

    关于选项:

    • -a 查看/etc/mtab下所有非nfs文件系统。
    • -u 只查看 /etc/mtab 或者系统指定的用户配额
    • -v 报告检查配额动作的进度

    注: fstab是用来系统启动时自动挂载的文件系统,而mtab是当前系统已挂载分区是动态的。

    设置用户配额

    交互式设置

    #edquota -u xxx
    1 Disk quotas for user test_scm (uid 1064):
    2   Filesystem                   blocks       soft       hard     inodes     soft     hard
    3   /dev/mapper/vg_h2-lv_h2           0       10240       15360          0        0        0
    ~
    

    这里,单位是 KB 表示软配额(soft)设置为 10M , 硬配额(hard)设置为 15M , 0表示没有限制。

    有softlimit或hardlimit, softlimit到达一定时间会转换成hardlimit。

    不同文件系统时间可设置相应的limit,通过 -T选项。

    非交互设置

    root@vmcnszs210:/home2# df -h .
    Filesystem               Size  Used Avail Use% Mounted on
    /dev/mapper/vg_h2-lv_h2  2.0T  1.7T  247G  88% /home2
    root@vmcnszs210:/home2# setquota -u test_scm 1024 2048 0 0 /dev/mapper/vg_h2-lv_h2
    root@vmcnszs210:/home2# quota -u test_scm
    Disk quotas for user test_scm (uid 1064): none
    

    适合大量用户,配置限额单位默认是K,不支持写成1024M或1024G。

    启动、关闭、查看磁盘配额管理状态

    开启

    #quotaon -avgu
    

    这样可以开启磁盘配额功能。

    关闭

    与开启相反:

    #quotaoff -avgu
    

    关闭磁盘配额。

    查看状态

    可以通过 quotaon -ap 查看当前的配额是否启动

    #quotaon -ap
    group quota on /home2 (/dev/sdb1) is off
    user quota on /home2 (/dev/sdb1) is on
    group quota on /home (/dev/sda3) is off
    user quota on /home (/dev/sda3) is on
    

    查看配额使用情况

    我们可以查看用户或分区的配额使用情况

    侧重用户、组账号角度

    #quota -u miracle.lv
    Disk quotas for user miracle.lv (uid 1017): none
    

    这是没有占用数据,或者没有设置限制的用户。

    # quota -su ian.chen
    Disk quotas for user ian.chen (uid 1032): 
         Filesystem   space   quota   limit   grace   files   quota   limit   grace
          /dev/sdb1    563G    567G    587G           6474k       0       0
    

    这是设置配额的用户数据

    比较容易理解的方式

    #quota -su figo.zeng
    Disk quotas for user figo.zeng (uid 1007): 
         Filesystem   space   quota   limit   grace   files   quota   limit   grace
          /dev/sdb1    287G    315G    350G           2773k       0       0
    

    如果查看组配额,则 quota -g 组名

    侧重文件系统角度

    #repquota -s -t -a
    root@vmcnszs210:/home2# repquota -s -t -a
    ***Report for user quotas on device /dev/mapper/vg_h2-lv_h2
    Block grace time: 7days; Inode grace time: 7days
                            Space limits                File limits
    User            used    soft    hard  grace    used  soft  hard  grace
    ----------------------------------------------------------------------
    root      --   2408K      0K      0K              8     0     0       
    avix.huan --     44K      0K      0K             10     0     0       
    amily.li  --     36K      0K      0K              7     0     0       
    angela.li --      8K      0K      0K              3     0     0       
    figo.zeng --    143G      0K      0K           461k     0     0       
    gracex.wa --    734M      0K      0K              5     0     0       
    janq.liu  --      8K      0K      0K              3     0     0       
    jean.duan --   1385M      0K      0K              4     0     0       
    jeffield. --  46296K      0K      0K             41     0     0       
    jerome.wa --     12K      0K      0K              4     0     0       
    kiko.han  --      4K      0K      0K              1     0     0       
    lillian.l --   5923M      0K      0K          30622     0     0  
    ......
    

    报告所有用户,所有挂载点的文件配额,以及使用情况。 选项 -s 表示使用友好可读的格式;选项 -t 将用户名以长度9截断,这样显示的表格整齐;选项 -a 表示所有挂载点,否则使用相应的挂载点路径作为参数。

    实用技巧参考:排序前35名

    repquota -ast |tail -n +6 |sort -k3hr |head -n 35
    

    以上关键是sort排序,tail用于检查范围的限定, head用于显示数目的限定,其它可以按照实际情况修改。

    其它

    参考

    相关文章

      网友评论

        本文标题:Linux实用工具-quota磁盘配额管理

        本文链接:https://www.haomeiwen.com/subject/dcrbektx.html