1.什么是quota

  简单的说就是限制用户对磁盘空间的使用量。

  因为Linux是多用户多任务的操作系统,许多人共用磁盘空间,为了合理的分配磁盘空间,于是就有了quota的出现。

2.quota的用途
    显示磁盘使用情况和配额

3.quota的一般作用对象 
    (1)针对WWW server 
    (2)针对mail server 
    (3)针对file server
4.quota的限制
    (1)仅能针对整个文件系统 
    (2)需要kernel的支持 
    (3)只对一般用户有效

5.quota的使用

  测试环境

    RHEL6.6(默认kernel已经支持quota功能)

    /dev/sdb1  供测试的文件系统

    用户组   myquota

    用户   quota1,quota2

  具体操作如下

    (1)重新挂/dev/sdb1文件系统,并添加usrquota,grpquota参数

    [root@localhost ~]# mount -o remount,usrquota,grpquota /dev/sdb1

    重新挂载后,/dev/sdb1这个分区就支持quota功能了

    [root@localhost ~]# mount | grep /dev/sdb1
    /dev/sdb1 on /mnt/test type ext4 (rw,usrquota,grpquota)

    (2)添加用户组和用户

    [root@localhost ~]# groupadd myquota
    [root@localhost ~]# useradd -g myquota quota1
    [root@localhost ~]# useradd -g myquota quota2
    

    (3)生成quota配置文件

    [root@localhost ~]# cd /mnt/test/

    [root@localhost test]# quotacheck -ug .

    [root@localhost test]# ls
    aquota.group  aquota.user  lost+found  生成quota配置文件
    (4)启动quota功能

    [root@localhost test]# quotaon /dev/sdb1
    若要关闭 使用quotaoff命令

    (5)修改quota配置文件

   
    配置文件内容如下
      Filesystem                   blocks       soft       hard     inodes     soft     hard
      /dev/sdb1                         0              0          0            0           0          0

    需要修改的是soft/hard的值,单位是KB,soft为警告值,hard为最大值,当磁盘使用量在soft-hard之间,就会发出警告(默认倒计时7天),若超过警告时间,磁盘使用量依然在soft-hard 之间,则会禁止使用磁盘空间。

    若修改blocks的soft/hard表示规定用户可以使用的磁盘空间大小(一般都是规定磁盘使用量)

    若修改的是inodes的 soft/hard值,表示规定用户可以创建的文件个数. 

 

    [root@localhost test]# edquota -u quota1    -->修改针对quota1用户的配置        

    Disk quotas for user quota1 (uid 500):
      Filesystem                   blocks          soft            hard         inodes      soft     hard
      /dev/sdb1                         0          100000       200000           0            0          0

    [root@localhost test]# edquota -u quota2    -->修改针对quota2用户的配置

    Disk quotas for user quota2 (uid 501):
      Filesystem                   blocks       soft               hard        inodes     soft     hard
      /dev/sdb1                     0             100000        200000          0             0        0
  

    [root@localhost test]# edquota -g myquota  -->修改针对myquota组的配置

    Disk quotas for group myquota (gid 500):
      Filesystem                   blocks       soft       hard     inodes     soft     hard
      /dev/sdb1                    251200     100000     300000          3        0        0

   这样配置表示quota1,quota2用户最多使用200M的磁盘空间,超过100M就发出警告并进入倒计时,而myquota组最多使用300M的磁盘空间。

   也就是说,虽然quota1,quota2都有200M的最大磁盘空间能使用权限,但他们都属于myquota组,他们的总量不得超过300M

   

  

    修改权限

    [root@localhost test]# chmod 777 .
    [root@localhost test]# ll -d
    drwxrwxrwx. 3 root root 4096 8月  23 09:36 .
    切换quota1用户,进行测试

    [root@localhost test]# su quota1
    [quota1@localhost test]$ dd if=/dev/zero of=bigfile1 bs=1M count=150
    sdb1: warning, user block quota exceeded.   -->警告
    记录了150+0 的读入
    记录了150+0 的写出
    157286400字节(157 MB)已复制,1.02545 秒,153 MB/秒

    再写入一个大文件

    [quota1@localhost test]$ dd if=/dev/zero of=bigfile2 bs=1M count=150
    sdb1: write failed, user block limit reached.
    dd: 正在写入"bigfile2": 超出磁盘限额   -->超过200M的部分就无法写入了
    记录了46+0 的读入
    记录了45+0 的写出
    47513600字节(48 MB)已复制,0.381467 秒,125 MB/秒

    切换quota2用户

    [root@localhost test]# su quota2
    [quota2@localhost test]$ ls
    aquota.group  aquota.user  bigfile1  bigfile2  lost+found
    [quota2@localhost test]$ dd if=/dev/zero of=bigfile3 bs=1M count 50

    记录了50+0 的读入
    记录了50+0 的写出
    52428800字节(52 MB)已复制,0.410838 秒,128 MB/秒

    修改警告/宽限期时间

    [root@localhost test]$ edquota -t

    Grace period before enforcing soft limits for users:
    Time units may be: days, hours, minutes, or seconds
       Filesystem             Block grace period     Inode grace period
       /dev/sdb1                     7days                          7days

    

    查看quota1的quota信息

    [quota1@localhost test]$ quota -u quota1
    Disk quotas for user quota1 (uid 500): 
       Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
          /dev/sdb1  200000* 100000  200000   6days       2       0       0          -->已经进入警告的倒计时了
    

    查询quota2的quota信息

    [root@localhost test]# quota -u quota2
    Disk quotas for user quota2 (uid 501): 
         Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
        /dev/sdb1   51200  100000  200000               1       0       0

    查询myquota组的quota信息
    [root@localhost test]# quota -g myquota
    Disk quotas for group myquota (gid 500): 
         Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
          /dev/sdb1  251200* 100000  300000   6days       3       0       0

    总结:

       quotacheck [ -gubcfinvdMmR ] [ -F quota-format ] -a | filesystem

         -a   检查所有/etc/mtab中挂在的文件系统

         -u  只检查用户的quota

         -g  只检查用户组的quota

      quota

        不使用任何参数,查询当前用户的quota信息

        -u  username  查询某用户的quota信息

        -g  groupname  查询某用户组的quota信息

      edquota

        -u username   编辑某用户的quota配置

        -g groupname  编辑某用户组的quota配置

        -t        编辑警告时间的配置

    

      还有一个综合查询命令是

      repquota

         -a   报告所有支持quota的文件系统

         -u 报告针对user的quota信息

         -g 包裹针对group的quota信息

      一般三个参数一起使用

      [root@localhost test]# repquota -aug
      *** Report for user quotas on device /dev/sdb1
      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    +-  200000  100000  200000  6days       2     0     0       
      quota2    --   51200       0       0              1     0     0

      *** Report for group quotas on device /dev/sdb1
      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       
      myquota   +-  251200  100000  300000  7days       3     0     0

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

edquota -u [user]

配置文件的对应字段含义如下:

Filesystem 文件系统

blocks 已经使用的块数(块的单位为1K)

soft 块数软限制,0表示禁用           #单位为KB,填1024则为1M,该项为超过提示项

hard 块数硬限制,0表示禁用            #该项为最高限制数项

inodes 已经创建的文件个数,如果后面有*表示已经超出软限制

soft 创建的文件个数的软限制,0表示禁用

hard 创建的文件个数的硬限制,0表示禁用

linux之磁盘配额(quota)使用方法(转)的更多相关文章

  1. Linux学习-磁盘配额 (Quota) 的应用与实作

    什么是 Quota 在 Linux 系统中,由于是多人多任务的环境,所以会有多人共同使用一个硬盘空间的情况发生, 如 果其中有少数几个使用者大量的占掉了硬盘空间的话,那势必压缩其他使用者的使用权力! ...

  2. linux之磁盘配额(quota)

    1.什么是quota 简单的说就是限制用户对磁盘空间的使用量. 因为Linux是多用户多任务的操作系统,许多人共用磁盘空间,为了合理的分配磁盘空间,于是就有了quota的出现. 2.quota的用途  ...

  3. 鸟哥的Linux私房菜——第十八章:磁盘配额quota

    视频链接:http://www.bilibili.com/video/av10892470/ 磁盘配额quota的意思是给用户进行使用磁盘额度的空间的划分,举个例子,你的百度网盘的使用空间,其他云盘的 ...

  4. linux初学者-磁盘配额篇

    linux初学者-磁盘配额篇 在使用磁盘时,只要有权限,不管什么用户都可以在其中写入数据,但是如果是多人在一个磁盘中写入数据,就会出现争议,如果一个用户将磁盘空间用完,那么其他人无法再使用.如下图所示 ...

  5. Linux的磁盘配额详解(Quota)

    1. 检查内核情况 检查当前内核是否支持quota,当前内核配置文件在/boot下 如果当前内核不支持quota,需要重新编译内核将quota support编译进核心: File systems   ...

  6. [转]linux之磁盘配额(quota)

    转自:http://www.jb51.net/LINUXjishu/78446.html 磁盘配额(quota)比较常用的几个情况是: * 针对WWW server,例如:每个人的网页空间的容量限制 ...

  7. 磁盘配额-----quota

    为什么要使用磁盘配额:为了限制普通用户使用普通磁盘的空间与创建文件的个数等. 不至于个别人的浪费影响所有人的使用. 需要安装quota的软件包. mount -o usrquota,grpquota ...

  8. Linux用户磁盘配额

    一:内核中支持QUOTA: [root@localhost /]# grep  CONFIG_QUOTA /boot/config-3.10.0-123.el7.x86_64 CONFIG_QUOTA ...

  9. 磁盘配额quota

    磁盘配额 1 启用磁盘配额 首先创建新的分区 /dev/sd5,并创建文件系统. [root@local ~]# mkfs.ext4 /dev/sda5 由于xfs 不磁盘配额能成功,这里使用ext4 ...

随机推荐

  1. 设置PYTHONIOENCODING

    PYTHONIOENCODING=utf8

  2. Web测试系列之测试工具

    一Web功能测试工具MAXQ MAXQ是开源的Web功能测试工具. MAXQ是开源的Web功能测试工具.他的特点:1)简单易学;2)是一个轻量级的Web功能测试工具;3)可以自动录制WebBrowse ...

  3. 百度jQuery库

    <script src="http://apps.bdimg.com/libs/jquery/1.11.1/jquery.js"></script>

  4. 购物车删除商品,总价变化 innerHTML = ''并没有删除节点,内容仍存在

    w元素的上的下. function deleteLi(tmpId) { //document.getElementById(tmpId).innerHTML = ''; var wdel = docu ...

  5. 【opencv】cv::Mat_ 对单个元素赋值

    创建一个cv::Mat_并赋值 cv::Mat_<,); mat(,)=VIRTUAL_FOCAL; mat(,)=; mat(,)=roiSize_x/; mat(,)=; mat(,)=VI ...

  6. LInux下桥接模式详解二

    上篇文章导入博客园的比较早,而这篇自己在写的时候才发现内部复杂的很,以至于没能按时完成,造成两篇文章的间隔时间有点长! 话不多说,言归正传! 前面的文章介绍了桥接模式下的基础理论知识,其实本节想结合L ...

  7. html5游戏开发--"动静"结合(二)-用地图块拼成大地图 & 初探lufylegend

    一.前言 本次教程将向大家讲解如何用HTML5将小地图块拼成大地图,以及如何用现有的高级html5游戏开发库件lufylegend.js开发游戏. 首先让我们来了解了解如何用html5实现动画,毕竟“ ...

  8. C的指针疑惑:C和指针17(经典抽象数据类型)

    堆栈这种数据最鲜明的特点是:后进先出. 用动态数组实现堆栈: #include "C17.h" #include <stdio.h> #include <stdl ...

  9. jmeter接口测试实战

    请求方法:get/post 接口请求地址:http://172.22.24.26:8080/fundhouse/external/getdata?name=xxxx &fund_udid=35 ...

  10. 前端学习笔记之HTML DOM操作

    HTML DOM 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model).   DOM节点类型 文档节点 (document,唯一) 元素节点 (那些个标签div ...