XFS文件系统中quota的使用

概述

  • 在xfs文件系统中,使用quota可以针对用户、群组、文件夹进行磁盘限额;
  • 在限额的操作中,使用最多的命令就是xfs_quota -x -c ;
  • quota的限制是针对文件系统的,跨文件系统是无法实现quota的;
  • quota的使用应该尽量避免在根目录下使用,如果前期为规划文件系统,后期需要对某个目录进行限额,可以将原目录完整的移动到/home下,然后利用ln -s /home/dir /old/dir创建一个软连接,在/home下对文件夹进行限额

 

1,编辑/etc/fstab

# /etc/fstab
# Created by anaconda on Wed Aug 12 08:08:59 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=4fe7f90d-841f-4aa0-8190-a796e82cbbca /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
/dev/sdc1 /mnt/Movie                      xfs     defaults,usrquota,grpquota        0 0   #加入,usrquota,grpquota

 

2,重新挂载分区,显示红色部分证明已经开启了配额功能

[root@vm7 ~]# mount|grep Movie
/dev/sdc1 on /mnt/Movie type xfs (rw,relatime,attr2,inode64,usrquota,grpquota)

 

3,使用xfs_quota命令查看quota报告

xfs_quota命令格式xfs_quota -x -c "comm" [mount_dir]

  • -x专家模式,只有使用了该参数,才能使用-c指定命令
  • -c指定命令

  • print 列出目前主机内的文件系统参数等数据
  • df 与系统的df命令一样
  • report 列出目前的quota项目,有ugr(user/group/project)及bi等数据
  • state 说明目前支持quota的文件系统的信息

 

    u > 用户user
    g > 组group
    i > inode限制数量
    b > block限制大小
    h > 人性化human
    p > 对象proj

4,限额设置

限额用户和用户组

限额的命令格式xfs_quota -x -c "limit [-ug] b[soft|hard]=N i[soft|hard]=N name" /dev/sdc1

  • limit 指定限定的项目,可以针对user和group限制
  • bsoft|bhard isoft|ihard block(磁盘容量)和inode(文件数量)的hard与soft值 通常hard要比soft限额高,hard表示使用者的用量绝对不会超过这个限额;soft表示在使用者低于限额可以正常使用,若高于soft低于hard,每次登陆系统时,系统会主动发送磁盘即将爆满的警告,并且会有一个宽限时间grace time,如果在grace time时间内不进行任何磁盘关联,soft会取代hard值,达到hard值后,磁盘使用权将会被锁住无法新增文件
xfs_quota -x -c "limit -u bsoft=200M bhard=300M user1" /home # 限定用户user
xfs_quota -x -c "limit -g bsoft=500M bhard=600M user1" /home # 限定用户组user1
xfs_quota -x -c "timer -u -b 7days" # 设定用户宽限时间为7天
xfs_quota -x -c "timer -g -b 7days" # 设定用户组宽限时间为7天

 

5,针对用户或组单独配置限额

[root@vm7 ~]# edquota -u user  #针对用户user配置
[root@vm7 ~]# edquota -g user  #针对用户组user配置

 

6,查看限额信息 repquota命令

参数说明:

  • -a 列出在/etc/fstab文件里,有加入quota设置的分区的使用状况,包括用户和群组。
  • -g 列出所有群组的磁盘空间限制。
  • -u 列出所有用户的磁盘空间限制。
  • -v 显示该用户或群组的所有空间限制。
[root@vm7 ~]# repquota -avup
*** Report for user quotas on device /dev/sdc1
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --       0       0       0      0       2     0     0      0
user      --      36       0       0      0       2     0     0      0
user1     --   18484       0       0      0      13     0     0      0
user2     --       4       0       0      0       2     0     0      0

*** Status for user quotas on device /dev/sdc1
Accounting: ON; Enforcement: ON
Inode: #67 (2 blocks, 2 extents)

 

posted @ 2022-03-09 22:48  局域网外  阅读(2234)  评论(1编辑  收藏  举报