quota 详解---quota 是什么

    • 什么是quota
    • quota的用途
    • quota的一般作用对象
    • quota的限制
    • quota的使用
        • 重新挂devsdb1文件系统并添加usrquotagrpquota参数
        • 添加用户组和用户
        • 生成quota配置文件
        • 启动quota功能
        • 修改quota配置文件
      • 配置文件内容如下
    • 修改权限
        • 再写入一个大文件
        • 切换quota2用户
        • 修改警告时间
        • 查看quota1的quota信息
        • 查询quota2的quota信息
        • 查询myquota组的quota信息
    • 总结

什么是quota

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

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

quota的用途

显示磁盘使用情况和配额

quota的一般作用对象

(1)针对WWW server
(2)针对mail server

quota的限制

(1)仅能针对整个文件系统
(2)需要kernel的支持
(3)只对一般用户有效

quota的使用

  测试环境

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

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

    用户组   myquota

    用户   quota1,quota2

  具体操作如下

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

 [[email protected] ~]# mount -o remount,usrquota,grpquota /dev/sdb1

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

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

添加用户组和用户

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

生成quota配置文件

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

    [root@localhost test]# quotacheck -ug .  

    [root@localhost test]# ls

    aquota.group aquota.user lost+found 生成quota配置文件

启动quota功能

    [[email protected] test]# quotaon /dev/sdb1

    若要关闭 使用quotaoff命令

修改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/秒

再写入一个大文件

    [[email protected] 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/秒

修改警告时间

    [[email protected] 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信息

    [[email protected] 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信息

      一般三个参数一起使用

      [[email protected] 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   
时间: 2024-12-31 22:32:03

quota 详解---quota 是什么的相关文章

Linux的磁盘配额详解(Quota)

1. 检查内核情况 检查当前内核是否支持quota,当前内核配置文件在/boot下 如果当前内核不支持quota,需要重新编译内核将quota support编译进核心: File systems  --->  [*] Quota support 2. 修改/etc/fstab,对所选文件系统激活配额选项 vim/etc/fstab 3. 重新挂载文件系统 添加了 usrquota 和 grpquota 选项后,重新挂载每个相应 fstab 条目被修改的文件系统.如果某文件系统没有被任何进程使用

Linux上命令的使用格式和基础命令详解

一.Linux上命令的使用格式 命令行提示符详解: 用户通过终端的命令行接口来控制操作系统,登陆后如下: [[email protected] ~]# root: 当前登录的用户 @:分隔符 localhost: 当前主机的主机名,非完整格式:此处的完整格式为:localhost.localdomain [[email protected] ~]# hostname localhost.localdomain ~:用户当前所在的目录(current directory),也称为工作目录(work

linux添加开机自启动脚本示例详解

来源: linux添加开机自启动脚本示例详解 linux下(以RedHat为范本)添加开机自启动脚本有两种方法,先来简单的; 一.在/etc/rc.local中添加如果不想将脚本粘来粘去,或创建链接什么的,则:step1. 先修改好脚本,使其所有模块都能在任意目录启动时正常执行;step2. 再在/etc/rc.local的末尾添加一行以绝对路径启动脚本的行;如:$ vim /etc/rc.local#!/bin/sh## This script will be executed *after*

全面inux主机安全配置详解--系统OS安全(第二部分)

系统安全 最小服务法 文件安全(suid/sgid/stick/chattr) 升级系统和软件 最小权限法(su/sudo) SSH安全建议 最小服务法(system v/xinetd) 关闭不需要的服务: # vim /root/service.sh #!/bin/bash service xinetd stop chkconfig xinetd off services="network sshd syslog lvm2-monitor messagebus sendmail crond g

LINUX下ORACLE相关的内核参数详解

ORACLE相关的内核参数详解 1.kernel.sem [[email protected] ~]# cat /proc/sys/kernel/sem 250         32000    100         142 [[email protected] ~]#  ipcs -sl ------ Semaphore Limits -------- max number of arrays = 142 max semaphores per array = 250 max semaphor

vsftp.conf 配置文件详解

/etc/vsftpd/vsftpd.conf文件详解,分好类,方便大家查找与学习 #################匿名权限控制############### anonymous_enable=YES  #是否启用匿名用户no_anon_password=YES #匿名用户login时不询问口令 下面这四个主要语句控制这文件和文件夹的上传.下载.创建.删除和重命名.anon_upload_enable=(yes/no):  #控制匿名用户对文件(非目录)上传权限.anon_world_read

Oracle 10g创建表空间的完整步骤详解

本文我们主要介绍了Oracle 10g创建表空间的完整步骤,包括表空间的创建与删除.为应用创建用户以及权限的授予等操作,希望能够对您有所帮助. AD:WOT2014:用户标签系统与用户数据化运营培训专场 Oracle 10g数据库中,当在数据库中创建用户时,基于应用性能和管理方面的考虑,最好为不同的用户创建独立的表空间. 那么创建表空间的步骤是怎样实现的呢?本文我们主要就介绍了这一部分内容,接下来就让我们一起来了解一下这部分内容吧. 1.创建表空间 不论是Lnux环境,还是Wndows环境,都要

mongoDB2.6,java使用详解

本文使用的环境是:win7_64+Eclipse+maven 一.准备工作 下载java驱动包 驱动包下载地址:http://mvnrepository.com/artifact/org.mongodb/mongo-java-driver mongoDB下载:http://www.mongodb.org/ 在线api:http://docs.mongodb.org/manual/applications/drivers/ 二.安装Mongo 1.windows下安装方式: 安装Mongo数据库:

postfix之maildrop详解

maildrop 安装:        0.安装依赖库.头文件.库文件             # ln -sv /usr/local/courier-authlib/bin/courierauthconfig   /usr/bin             # ln -sv /usr/local/courier-authlib/include/*   /usr/include             # yum -y install pcre-devel 1.添加vmail用户和组,id大于10