磁盘配额(XFS文件系统与EXT文件系统)

一、EXT文件磁盘配额

      管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。

即可对用户存储文件数量做限制,也可对用户存储文件大小做限制

配额说明:

       1.配额只能针对普通用户和用户组,root不能限制

        2.配额只能针对分区,不能针对某个目录

        3.即可限制block,也可以限制inode

前提条件:

        1.查看内核是否支持:

                grep CONFIG_QUOTA /boot/config-3.10.0-514.el7.x86_64

        2. 查看系统安装是否quota工具:

                rpm -qa | grep quota

二、磁盘配额建立

        1.实现永久挂载的同时需要为文件系统添加支持配额的选项

                vim /etc/fstab

/dev/sdb1	/mnt/ext4	ext4	defaults,usrquota,grpquota 0 0

usrquota:针对用户做磁盘限额

grpquota:针对组做磁盘限额

(两个选项根据需要进行选择)

         2.在分区中生成配额文件quota.user和quota.group

1)先统计一下当前的磁盘中已经被占用的空间和文件数量,然后生成配额文件。

2)在你开启配额前磁盘里已有的文件数据都不会计入计算。

3)在你开启磁盘配额后,用户建立的文件和数据才会被进行计算,达到设定值才会进行限制。

命令:quotacheck -augcv

#检查已有的文件资源,同时生成配额文件

                #命令执行后,会新建出两个文件 

选项说明:

         -a 扫描/etc/mtab中所有启用配额的分区

        -u 扫描磁盘计算用户所占用的文件数,生成aquota.user文件

        -g 扫描磁盘计算组所占用的文件数,生成aquota.group文件

        -c 创建配额文件aquota.user和aquota.group

        -v 显示扫描过程

        -m 强制以读写方式扫描文件系统,和-M类似,一般在扫描根分区使用

        -f 强制扫描文件系统,并写入新的配置文件。一般在扫描新添加的硬盘分区使用。执行后,会检查所有支持磁盘配额的分区,如果分区之前有配置配额,开启又关闭,再次开启会有配置文件被更新

3.设置配额信息

        edquota 选项 用户名或组名

        -u:编辑用户的配额信息

        edquota -u tom

        -g:为组编辑配额信息

        -p user1 user2:将user1的配额设置复制给user2

        -t:设置宽限时间

                设置配额信息共有六个字段

Filesystem          blocks       soft       hard     inodes     soft     hard
/dev/sdb1              0         40960      51200       0        8        10

                 

前三个字段表示针对文件空间限制,后三个字段表示针对文件数量限制(0表示没有限制)

第一个字段表示用户在文件系统中已占用的空间统计

第二个字段表示用户创建文件时,文件空间的警告阈值,超过数值则提示,单位KB(软限制一般为提醒,小于硬限制即可,不设置或者超过硬限制都无意义)

第三个字段表示用户的空间限制,最大使用的磁盘空间,单位KB

第四个字段表示用户已创建文件的数量统计

第五个字段表示用户在文件系统中创建文件的数量警告阈值,超过数量则提示

第六个字段表示用户创建文件的数量限制,最大创建文件数量

以上六个字段,主要针对2,3,5,6做设置

非交互设定用户磁盘限额

setquota -u 用户名 容量软限制 容量硬限制 个数软限制  个数硬限制 分区名

4.开启/关闭磁盘配额

                quotaon/quotaoff 选项 分区名

                选项:

        -a

        -a表示开启/关闭配额功能所有分区

        -u

        启动/关闭用户的磁盘配额

        -g

        启动/关闭组的磁盘配额

        -p 设备名

        查看设备是否开启磁盘配额

5.查看配额信息   

        quota -uv 用户名

        只查看用户的配额信息

        quota -gv 组名

        只查看组的配额信息

        -v 查看详细信息

三、实验演示

              1.切换用户

                        su – tom

              2.进入限额的文件系统挂载点下

                        cd /mnt/ext4

             3.建立文件,每个文件30M

                        (如果权限不够,使用root账号更改文件夹权限777

[tom@localhost ext4]$ dd if=/dev/zero of=test1 bs=1M count=30

 

继续复制……

复制到第三个文件时,超过了软限制,系统发出了警告信息

 复制到第四个文件时,超过了硬限制,只复制了10M

这个文件夹对于tom用户来说,只允许使用100M的空间。

同理,对于文件个数的测试使用下面的命令:

touch file {1..10}

#建立名为file的文件:从1到10

                 同样出现警告和报错

        实验扩展:

同时对用户和用户组进行配额限制,用户组的配额用完,用户没用完,用户也不能创建文件

同时对用户和用户组进行了配额限制,用户的配额用完,用户组的配额用完,本用户不可以创建文件,其它在组中的用户可以创建

四、XFS磁盘配额

        1.XFS的优势

        XFS既可以对用户进行限制,又可以对目录进行配额限制,对目录进行的限制对root用户也生效

       2.xfs_quota选项

-x:启用专家模式,后续才能加入-c的命令参数

-c:直接调用管理命令,如limit,report等

管理命令

Print:单纯列出目前主机内的文件系统参数等数据

df:与原本的df 一样的功能,可加上-b(block),-i(inode),-h(加上单位)等

            report:查询目前的磁盘配额信息

            state:说明目前支持磁盘配额的文件系统的信息,有没有使用相关选项等

        [root@localhost ~]# xfs_quota -x -c "state"

        User quota state on /mnt/xfs (/dev/sdb2)

          Accounting: ON

          Enforcement: ON

          Inode: #67 (2 blocks, 2 extents)

        #上面四行说的是有启动User的磁盘限制

        Group quota state on /mnt/xfs (/dev/sdb2)

          Accounting: ON

          Enforcement: ON

          Inode: #68 (2 blocks, 2 extents)

        #上面四行说的是有启动Group的磁盘限制

        Project quota state on /mnt/xfs (/dev/sdb2)

          Accounting: OFF

          Enforcement: OFF

          Inode: #68 (2 blocks, 2 extents)

        #上面四行说的是没有开启project的磁盘限制

        Blocks grace time: [7 days]

        Inodes grace time: [7 days]

        Realtime Blocks grace time: [7 days]

            #上面三行显示的是grace time的天数

 五、步骤

        1.挂载的同时需要为文件系统添加支持配额的选项

/dev/sdb2 /mnt/xfs xfs defaults,usrquota(uquota,quota),grpquota(gquota),prjquota(不可与grpquota同时存在) 0 0

         配额限制即可通过mount指令,一次性添加,也可写入fstab,永久使用设备启用配额,需要将文件系统重载

        umount /mnt/xfs;mount -a(或mount -o remount /mnt/xfs)

        2.验证参数识别

                mount | grep “/dev/sdb2”

        3.对quotaxfs用户设置配额 

xfs_quota -x -c "limit [-u|-g|-p] bsoft=60M bhard=80M isoft=8 ihard=10 name" /mountpoint

         如果成功配置,这里不会出任何信息,我们可以通过查询配额信息来确认是否配置成功。

        4.查询配额信息

xfs_quota -x -c "report [-u|-g|-p]bih" /mountpoint

        

        可以看到自己的配置已经设置成功

        5.设置gracetime 

Xfs_quota -x -c “timer [-u | -g | -p][-bir] Ndays”

        设置完毕后可以通过 [root@localhost ~]# xfs_quota -x -c "state"来进行查看

  Blocks grace time: [7 days]

  Inodes grace time: [7 days]

  Realtime Blocks grace time: [7 days]

六、实验测试

与上面的EXT磁盘配额实验测试过程相同

但不同的是,在超过软限制时,系统不会报警。超过硬限制,才会报错。

七、对单一目录进行限制(普通用户和root都会受到影响)

           1.在/etc/fstab中为文件系统添加支持目录配额的选项:prjquota

        (要注意:prjquota和grpquota是不能在一个文件系统中同时存在的,所以要把之前设置的grpquota删除)

        [root@localhost ~]# vim /etc/fstab

/dev/sdb2        /mnt/xfs        xfs        defaults,usrquota,prjquota        0 0

        2.重新挂载

[root@localhost ~]# umount /dev/sdb2

[root@localhost ~]# mount /dev/sdb2

3.可以查看文件选项

        [root@localhost ~]# xfs_quota -x -c "print" /dev/sdb2

        

        4.目录的设置

        目录的设置必须指定一个【选项名称、选项标识符】来规范,还必须使用特定的两个配置文件

        例如:我打算规范/mnt/xfs目录,其选项名称为myquotaproject,识别码为6,这些都是自己指定的。

         /mnt/xfs是我当前文件系统的挂载点

        1)指定方案识别码与目录的对应在/etc/projects

        (注意:/etc/projects目录之前并不存在,但必须指定到这个目录中)

        [root@localhost~]# echo "6:/mnt/xfs" >> /etc/projects

        2)规范方案名称与标识符的对应在/etc/projid

        [root@localhost~]# echo "myquotaproject:6" >> /etc/projid

        3)初始化方案名称

        [root@localhost ~]# xfs_quota -x -c "project -s myquotaproject"

        4)可以看一下目录里都有哪些设置

        5) 设置目录限制

[root@localhost ~]# xfs_quota -x -c "limit -p bsoft=200M bhard=300M isoft=15 ihard=20 myquotaproject" /mnt/xfs

        6)查看目录限制配额情况

        [root@localhost ~]# xfs_quota -x -c "report -pbih" /mnt/xfs

        7)测试 

 

        对于目录磁盘配额的设置,任何用户都会被限制,root用户也无法逾越

八、xfs_quota扩展命令

        1.暂时取消quota文件限制功能 

[root@localhost ~]# xfs_quota -x -c "disable [-u|-g|-p]" /mnt/xfs

查看变化

[root@localhost xfs]# xfs_quota -x -c "state" /mnt/xfs

2.开启quota文件限制功能

        [root@localhost xfs]# xfs_quota -x -c "enable [-u|-p|-g]" /mnt/xfs

        3.永久关闭quota文件限制功能

xfs_quota -x -c "off [-u|-p|-g]" /mountpoint

off完全关闭配额限制,如想重开需卸载再重新挂载才能启动,如果无需执行remove,不建议使用off,一般disable即可

4.删除配额限制

remove必须在off下才可以执行,删除配额限制

xfs_quota -x -c "remove [-u|-p|-g]" /mountpoint

xfs_quota -x -c "report -phb" /mountpoint

删除后,就显示不出来相关配置的情况了

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值