一、磁盘配额简介

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

二、blocks限制与inode限制

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

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

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

三、磁盘配额相关术语

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

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

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

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

四、配置磁盘配额

    1.准备工作:

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

               磁盘配额详解_第1张图片  

   

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

            fdisk /dev/sdb    

                磁盘配额详解_第2张图片


        ②格式化

            mkfs.ext4 /dev/sdb1

                磁盘配额详解_第3张图片

        

        ③挂载          

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

                磁盘配额详解_第4张图片

    

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

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

          grpquota:对组实现磁盘配额;

                磁盘配额详解_第5张图片

        ②mount -o remount /home;

          mount;

                磁盘配额详解_第6张图片


    3.创建磁盘配额数据库

        ①cd /home

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

                磁盘配额详解_第7张图片

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

    

    4.启用磁盘配额数据库

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

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

                磁盘配额详解_第8张图片


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

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

        ①edquota tom

                磁盘配额详解_第9张图片

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



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

            示例:

                edquota -p tom admin

                


                磁盘配额详解_第10张图片


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

            示例:

                setquota wang 100000 150000 0 0 /home

                磁盘配额详解_第11张图片


                磁盘配额详解_第12张图片


    6.测试用户配额

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

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

        ③ll -h f1

                


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

        ⑤ll -h f1

                磁盘配额详解_第13张图片


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

                磁盘配额详解_第14张图片

    

    7.查看磁盘配额信息

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

                磁盘配额详解_第15张图片


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

                磁盘配额详解_第16张图片

                


    8.关闭磁盘配额

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

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

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

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