12、磁盘配额quota

磁盘配额

配额:quota

什么是磁盘配额?   

    限制磁盘资源的使用的。


限制原因就是因为资源不是无限的。

应用场合:

    1、网络存储空间有限 

    2、邮件服务器

    3、公司的文件共享服务器


能限制谁?

    1、限制普通用户

    2、限制用户组

      注意:没有办法限制root的。


能够限制什么?

    inode —— 限制用户创建文件的个数

    block —— 限制用户能够使用的磁盘空间的大小


设置配额的条件?

    需要内核支持quota的功能

    [loring ~]# grep -i quota /boot/config-2.6.32-358.el6.x86_64

        CONFIG_NETFILTER_XT_MATCH_QUOTA=m

        CONFIG_XFS_QUOTA=y

        CONFIG_QUOTA=y    //看到此行表示支持

        CONFIG_QUOTA_NETLINK_INTERFACE=y

        CONFIG_PRINT_QUOTA_WARNING=y

        # CONFIG_QUOTA_DEBUG is not set

        CONFIG_QUOTA_TREE=y

        CONFIG_QUOTACTL=y


如何进行磁盘配额?usrquota,grpquota

    1、首先需要分区开启用户配额和组配额

        创建一个分区并将其格式化

          [loring ~]#  fdisk /dev/sda

          [loring ~]#  partx -a /dev/sda

          [loring ~]#  mkfs.ext4 /dev/sda10     

        将其挂载到系统中的/quota目录

          [loring ~]# mkdir /quota

          [loring ~]# mount -o usrquota,grpquota /dev/sda10 /quota/

        将分区设置为开机自动挂载(可选)

          [loring ~]# vim /etc/fstab

            /dev/sda10      /quota  ext4    defaults,usrquota,grpquota 0 0

  2、创建配额记录文件

        [loring ~]# quotacheck -cugv /quota/

        [loring ~]# ls /quota/          //有如下文件即可

            aquota.group  aquota.user

            -c:--create 创建磁盘配额的配置文件

            -u:--user 针对用户配额的配置文件

            -g:--group 针对组配额的配置文件

            -v:--verbose 详细显示扫描过程中的信息

            -a:--all 检测系统中所有已经挂载的支持quota功能的分区

  3、针对用户和组进行配额

        [loring ~]# useradd quota1

        [loring ~]# useradd quota2

        [loring ~]# useradd -g quota2 quota3   

        [loring ~]# chmod 1777 /quota/      //保证普通用户对/quota目录可写

        例子:限制quota1用户最多使用8M空间或者创建10个文件;当使用空间超过5M或者创建文件超过5个时警告

        [loring ~]# edquota [-u] quota1 [-f /quota]  //编辑方式同vim

            -u:编辑user的quota

-g:编辑group的quota

-t:编辑宽限时间

-p:复制资料到另一个用户上

blocks :现在使用者(quota:uid=5011)在/dev/hda7所使用的空间,单位:KB (不要修改)

soft :soft limit 磁盘空间限定值 单位:KB (需要设定)

hard :hard limit 磁盘空间限定值 单位: KB (需要设定)

inodes :现在使用者使用掉的inodes,由于不容易使用inode控制,所以不要修改他。

soft :soft limit 文档限制数量 (根据需要修改)

hard :hard limit 文档限制数量 (根据需要修改)

soft limit :最低限制容量,在宽限期(grace period)之内,使用容量能够超过soft limit,但必须在宽限期之内将使用容量降低到soft limit以下。

hard limit :最终限制容量,假如使用者在宽限期内继续写入数据,到达hard limit将无法再写入。

宽限时间:使用容量超过soft limit,宽限时间自动启动,使用者将容量降低到soft limit以下,宽限时间自动关闭,假如使用者没有在宽限时间内将容量降低到soft limit,那么他将无法再写入数据,即使使用容量没有到达hard limit

Disk quotas for user quota1 (uid 6668):

  Filesystem                  blocks      soft      hard    inodes    soft    hard

  /dev/sda10                        0      5120      8192          0      5      10

                                                  单位是KB                        单位是个

        (补充:quota -uv quota_name 显示user信息)                           

  4、启动配额  —— 一定要记住这步

        [loring ~]# quotaon /quota/

  5、测试配额

    1)文件个数测试

        [loring ~]# su - quota1

        [quota1@loring ~]$ cd /quota/    //一定要切换到做了配额的目录下再操作

        [quota1@loring quota]$ touch quota1_{1,2,3,4,5,6}  //超过软限制,有警告,但是仍然可以创建quota1_6

            sda10: warning, user file quota exceeded.  //超软限制告警

        [quota1@loring quota]$ ls

            aquota.group  quota1_1  quota1_3  quota1_5

            aquota.user  quota1_2  quota1_4  quota1_6

        [quota1@loring quota]$ touch quota1_{7,8,9,10,11}    //超过硬限制,不能够创建quota1_11文件

            sda10: write failed, user file limit reached.  //超过硬限制的提示信息

            touch: cannot touch `quota1_11': Disk quota exceeded

        [quota1@loring quota]$ ls

            aquota.group  quota1_1  quota1_2  quota1_4  quota1_6  quota1_8

            aquota.user  quota1_10  quota1_3  quota1_5  quota1_7  quota1_9

      2)使用空间测试

        [quota1@loring quota]$ rm -f quota1_*

        [quota1@loring quota]$ dd if=/dev/zero of=quota1_2m bs=2M count=1

        [quota1@loring quota]$ ll

        [quota1@loring quota]$ dd if=/dev/zero of=quota1_4m bs=4M count=1

            sda10: warning, user block quota exceeded.  //超过软限制的警告 

        [quota1@loring quota]$ ll

        [quota1@loring quota]$ dd if=/dev/zero of=quota1_6m bs=6M count=1

            sda10: write failed, user block limit reached.

            dd: writing `quota1_6m': Disk quota exceeded  //超过硬限制

            1+0 records in

            0+0 records out

            2097152 bytes (2.1 MB) copied, 0.0185134 s, 113 MB/s

        [quota1@loring quota]$ ll quo*

            -rw-rw-r-- 1 quota1 quota1 2097152 Aug  8 15:05 quota1_2m

            -rw-rw-r-- 1 quota1 quota1 4194304 Aug  8 15:06 quota1_4m

            -rw-rw-r-- 1 quota1 quota1 2097152 Aug  8 15:07 quota1_6m

              quota1_6m:超过硬限制了,它只会将分配给该用户的剩余空间全部使用,quota1_2m、quota1_4m和quota1_6m三个文件的总空间无法超出8M。

练习:

    设置quota1用户的配额为可以存放3M文件或者6个文件,当到达1M或者创建3个文件时警告

    [loring ~]# edquota quota1   

            Disk quotas for user quota1 (uid 6668):

      Filesystem                  blocks      soft      hard    inodes    soft    hard

      /dev/sda11                    8192      1024      3072          3        3        6

    [loring ~]# su - quota1

    [quota1@loring ~]$ cd /quota/

    [quota1@loring quota]$ rm -f qu*

    [quota1@loring quota]$ ls

        aquota.group  aquota.user

    [quota1@loring quota]$ touch 1 2 3 4

        sda10: warning, user file quota exceeded.

    [quota1@loring quota]$ touch 5 6 7

        sda10: write failed, user file limit reached.

        touch: cannot touch `7': Disk quota exceeded

    [quota1@loring quota]$ ls

        1  2  3  4  5  6  aquota.group  aquota.user


    ---组配额的限制

            edquota -g quota2

关闭配额

    [loring ~]# quotaoff /quota/

查看配额的使用情况(只有root能这么做)

    [loring ~]# repquota -a

        *** Report for user quotas on device /dev/sda10

        Block grace time: 7days; Inode grace time: 7days

                                Block limits                File limits

        User            used    soft    hard  grace    used  soft  hard  grace

        ----------------------------------------------------------------------

        root      --      20      0      0              2    0    0     

        quota1    -+      0    1024    3072              6    3    6  6days

    grace:优雅时间,当超过软限制,优雅时间倒计时为0时,软限制自动提升为硬限制;直到用户将使用空间或文件个数降至软限制以下,才能够继续使用该分区。

        例子:假如硬限制100M,软限制70M,用户当前已使用85M,那么优雅时间开始倒计时,直到优雅时间为0,那么剩余的那15M空间也不能使用了,即软限制自动提升为硬限制。

        grace默认是7天。


        另外:

        [loring ~]# edquota quota2

                    Disk quotas for user quota2 (uid 6669):

          Filesystem                  blocks      soft      hard    inodes    soft    hard

          /dev/sda10                        0          0          0          0        5        8

        [loring ~]# repquota -a  //看不到quota2的信息,是因为他没有创建任何文件

            *** Report for user quotas on device /dev/sda10

            Block grace time: 7days; Inode grace time: 7days

                                    Block limits                File limits

            User            used    soft    hard  grace    used  soft  hard  grace

            ----------------------------------------------------------------------

            root      --      20      0      0              2    0    0     

            quota1    -+      0    1024    3072              5    3    6  5days

        [loring ~]# su - quota2

        [quota2@loring ~]$ cd /quota/

        [quota2@loring quota]$ touch hello

        [quota2@loring quota]$ exit

            logout

        [loring ~]# repquota -a

            *** Report for user quotas on device /dev/sda10

            Block grace time: 7days; Inode grace time: 7days

                                    Block limits                File limits

            User            used    soft    hard  grace    used  soft  hard  grace

            ----------------------------------------------------------------------

            root      --      20      0      0              2    0    0     

            quota1    -+      0    1024    3072              5    3    6  5days

            quota2    --      0      0      0              1    5    8

  查看用户的磁盘配额使用情况

        [loring ~]# repquota -u /quota/

            *** Report for user quotas on device /dev/sda10

            Block grace time: 7days; Inode grace time: 7days

                                    Block limits                File limits

            User            used    soft    hard  grace    used  soft  hard  grace

            ----------------------------------------------------------------------

            root      --      20      0      0              2    0    0     

            quota1    -+      0    1024    3072              5    3    6  5days

            quota2    --      0      0      0              1    5    8 


  查看组的配额使用情况

        [loring ~]# repquota -g /quota/

            *** Report for group quotas on device /dev/sda10

            Block grace time: 7days; Inode grace time: 7days

                                    Block limits                File limits

            Group          used    soft    hard  grace    used  soft  hard  grace

            ----------------------------------------------------------------------

            root      --      20      0      0              2    0    0     

            quota1    --      0      0      0              5    0    0     

            quota2    --      0      0      0              1    0    0 

总结:

    1、挂载分区使其支持用户配额和组配额功能

    2、创建磁盘配额配置文件  quotacheck

    3、配置用户的磁盘配额  edquota

    4、开启配额  quotaon

    5、测试配额情况

概念

    软限制、硬限制

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容