一、磁盘配额简介

    磁盘配额是用来限制用户和用户组的磁盘使用额度,可以理解为限制该用户、用户组在该分区下使用的文件大小、文件数量。

二、blocks限制与inode限制

    磁盘配额可以限制用户的硬盘可用空间或创建最大的文件数量,并且还有软限制和硬限制的区别:

        软限制:当达到软限制时会提示用户,但允许用户在规定期限内继续使用;

        硬限制:当达到硬限制是会提示用户,且强制终止用户的操作;

三、磁盘配额相关术语

    1.soft,软限制(最低限制):最低限制容量,超出此范围会警告,超出的部分会保存到宽限时间期;

    2.hard,硬限制(最高限制):用户使用的容量不能超过这个限制;

    注:通常hard的限制值要比soft还要高;

    3.宽限时间:当你的磁盘用量即将到达 hard 且超过soft 时,系统会给予警告,但也会给一段时间让使用者自行管理磁盘。 一般默认的宽限时间为七天,如果七天内你都不进行任何磁盘管理,那么 soft 限制值会即刻取代 hard 限值来作为 quota 的限制。

四、配置磁盘配额

    1.准备工作:

        要对/home目录进行磁盘配额,但/home目录不是一个独立分区,要把/home目录迁移成一个独立分区,方法如下:

               wKiom1mqbsfiZNgeAAB9NYjaZmc768.png-wh_50  

   

        ①分区(/dev/sdb1,10GB)

            fdisk /dev/sdb    

                wKiom1mqb6iS3cruAABiOmWOnjc054.png-wh_50


        ②格式化

            mkfs.ext4 /dev/sdb1

                wKiom1mqcBOQqhGwAACuQha9duk889.png-wh_50

        

        ③挂载          

          步骤:
             mkdir /mnt/home;
             mount /dev/sdb1 /mnt/home;
             cd /home;
             mv * /mnt/home;
             mount /dev/sdb1 /home;
             umount /mnt/home;

                wKiom1mqcgviDCC8AACFUFTle_Y707.png-wh_50

    

    2.修改/etc/fstab文件添加支持磁盘配额选项

        ①usrquota:对用户实现磁盘配额;

          grpquota:对组实现磁盘配额;

                wKiom1mqc-yhJYpCAAAncr99QU8233.png-wh_50

        ②mount -o remount /home;

          mount;

                wKioL1mqdKDAarTfAAA31Hveu44815.png-wh_50


    3.创建磁盘配额数据库

        ①cd /home

        ②quotacheck -cug /home,在/home目录下会生成aquota.group和aquota.user两个文件

                wKiom1mqdaTAXgCdAAAwFEpy6W4165.png-wh_50

     注意:如果使用centos6系列操作系统在做到这一步时会有个报错,这是SELinux导致的,把它关闭即可,setenfore 0

    

    4.启用磁盘配额数据库

        ①quotaon -p /home/:查看数据库是否启用;

        ②quotaon  /home/:启用数据库;

                wKiom1mqdsiD256NAAA1DlRvgZA748.png-wh_50


    5.设置用户配额使用空间(以tom用户为例)

       设置用户配额的三种方法:

        ①edquota tom

                wKioL1mqd7mDbfIBAAAlPQspqko803.png-wh_50

     选项说明:
            Filesystem:显示实现磁盘配额的分区;
            blocks:当前已经使用的文件大小,不用修改;
            soft:软限制,超出后会警告,针对空间;
            hard:硬限制,不可超过的限制,针对空间;
            inode:文件数量;
            soft:软限制,超出后会警告,针对数量
            hard:硬限制,不可超过的限制,针对数量;



        ②edquota -p user1 user2:设置user2的磁盘配额与user1相同;

            示例:

                edquota -p tom admin

                wKioL1mqe5PAzBW3AAAZPCPODLw694.png-wh_50


                wKioL1mqe52ywM_xAAAl44PWbPM283.png-wh_50


        ③setquota username soft值 hard值 soft值 hard值 分区

            示例:

                setquota wang 100000 150000 0 0 /home

                wKioL1mqfCjw9a40AAAcrCQQUhc274.png-wh_50


                wKiom1mqfFey4D3DAAAo7hsscr8216.png-wh_50


    6.测试用户配额

        ①su - tom:切换到设置的配额用户

        ②dd if=/dev/zero of=f1 bs=1M count=50:soft设置的是80M,hard这是100M,所以这个f1文件会创建成功;

        ③ll -h f1

                wKiom1mqfuay09QlAAA_3UV17Fo571.png-wh_50


        ④dd if=/dev/zero of=f1 bs=1M count=90:由于soft设置的是80M,hard设置100M,所以会发出警告,文件也可以创建成功;

        ⑤ll -h f1

                wKioL1mqf6fT3z0hAABJ1QqDRk0638.png-wh_50


        ⑥dd if=/dev/zero of=f1 bs=1M count=120:由于soft设置的是80M,hard设置100M,所以会发出警告,文件创建失败;

                wKiom1mqg4KBgxNIAABO3Rqd-8Y626.png-wh_50

    

    7.查看磁盘配额信息

        1.quota username:查看用户配额信息

                wKioL1mqg_rQWMWxAAA0aMiPKfo680.png-wh_50


        2.repquota 分区:查看分区上的配额信息;

                wKiom1mqhgjSf0HvAABEoDUiBZU457.png-wh_50

                


    8.关闭磁盘配额

        1.关闭单个磁盘配额:quotaoff 分区;例如:quotaoff /home;

        2.关闭所有已经开启的磁盘配额:quotaoff -a;

        3.开启所有磁盘配额:quotaon -a;

        4.不再使用磁盘配额,可以将磁盘配额文件删除;