磁盘配额(Quota)的应用与实践

1》什么是Quota

        在Linux中,由于是多用户,多任务的环境,所以会有多用户共同使用一个硬盘空间的情况发生,如果其中有少数几个用户大量占用掉了硬盘空间的话,那肯定影响其他用户的使       用权限,因此管理员应该适当限制硬盘的空间给用户,以妥善分配系统资源,使磁盘的容量使用较为公平;举例来说,我们用户的默认主文件夹都是在/home下面,如果/home是个         独立的分区,假设这个分区有10G,而/home下面共有30个账户,也就是说,每个用户平均应该会有333MB的空间才对,偏偏有个用户在他的主文件夹下面下了好多电影,占用了           8G的空间,这样会造成其他正常用户的不便,如果想要让磁盘的容量公平分配,这个时候就得要靠quota的帮忙;

    1>Quota的一般用途:quota比较常使用的几个情况是:

            针对WWW  Server:列如每个人的网页空间的容量限制;

         针对MAIL   Server:   例如每个人的邮件空间限制;

         针对FILE    Server:列如每个人最大的可用网络硬盘空间(教学环境中最常见);

      上面讲的是针对网络服务的设计,如果是针对Linux系统主机上面的设置,用途有下面这些:

            1)限制某一用户组所能使用的最大磁盘配额(使用用户组限制);

          2)限制某一用户所能使用的最大磁盘配额(使用用户限制);

             3)以Link的方式来使邮件可以作为限制的配额(更改/var/spool/mail这个路径);

    2>Quota的使用限制:虽然quota很好用,但是使用上还是有些限制要先了解的;

          1)仅能针对整个文件系统:

              quota实际在运行的时候,是针对整个文件系统进行限制的,列如:如果你的/dev/sda5是挂载在/home下面,那么在/home下面的所有目录都会受到限                                                  制;        

           2)内核必须支持quota:

                Linux内核必须支持quota这个功能才行,如果你是使用CentOS 5.x的默认内核,那你的系统已经默认支持quota这个功能,如果你是自行编译内核                                                       的,那么请特别留意你是否已经真的打开了quota这个功能;

          3)Quota的日志文件:

                  目前新版的Linux操作系统使用的是Kernel  2.6.xx的内核版本,这个内核版本支持新的quota模块,使用的默认文件(aquota.user,apuota.group)将                                                    不同于旧版本的quota.user,quota.group,而由旧版本的quota可以通过convertquota这个程序来转换;

          4)只对一般身份用户有效:

                并不是所有在Linux上面的账号都可以设置quota,列如root就不能设置quota,因为整个系统所有的数据几乎都是它的,所以你不能针对某个目录                                                    来进行quota的设计,但你可以针对某个文件系统来设置;

    3>Quota的规范设置选项:quota针对整个文件系统的限制项目主要分为下面几个部分:

          1)容量限制或文件数量限制:

                文件系统主要规划为存放属性的inode与实际文件数据的block块,Quota既然是管理文件系统,所以当然可以管理inode或block,这两个管理的功能                                                     为:

                 限制inode用量:管理用户可以新建的文件数量;

                  限制block用量:管理用户磁盘容量的限制,较常见的为这种方式;

          2)soft/hard:

               既然是规范,当然就有限制值,不管是inode/block,限制值都有两个,分别是soft与hard;通常hard限制值要比soft还要高,举例来说,若限制项目                                                 为block,可以限制hard为500MB,而soft为400MB,这两个限制值的意义为:  

                hard:表示用户的用量绝对不会超过这个限制值,以上面的设置为例,用户所能使用的磁盘容量绝对不会超过500MB,若超过这个值则系统会锁住                                                                      该用户的磁盘使用权;

                soft:表示用户在低于soft的限值时,可以正常使用磁盘,但若超过soft且低于hard的值时,每次用户登录系统时,系统会主动发出磁盘即将爆满的                                                                     警告信息,且会给予一个宽限时间(gracetime),不过,若用户在宽限时间倒数期间就将容量再次低于soft限值下,则宽限时间会停止;

          3)会倒计时的宽限时间(grace time)

                这个宽限时间只有在用户的磁盘用量介于soft到hard之间时,才会出现且会倒数的一个时间,由于达到hard限值时,用户的磁盘使用权可能会被锁                                                 住,为了担心用户没有注意到这个磁盘配额的问题,因此设计了soft,当你的磁盘用量即将到达hard且超过soft时,系统会给予警告,但也会给一段时间                                                   让用户自行管理磁盘,一般默 认的宽限时间为7天,如果7天内你都不进行任何磁盘管理,那么soft限制值会即刻替代hard限值来作为quota的限值;

2》Quota实例:

    1>案例描述及创建用户:

      目的与账号:现在我们让五个人为一组,这五个人的账户分别是myquota1,myquota2,myquota3,myquota4,myquota5,这五个用户的密码都是password,且这五个用户所                                               属的初始用户组都是myquotagrp,其他的账号属性则使用默认值;

      账号的磁盘容量限制值:我们想让这五个用户都能够取得300MB的磁盘使用量(hard),文件数量则不予限制,此外,只要容量使用率超过250MB(soft),就予以警告                                                                (soft);

      用户组的限额:由于我的系统里面还有其他用户存在,因此我仅承认myquotagrp这个用户组最多仅能使用1GB的容量,这也就是说,如果其中三个用户都用了280MB的                                                  容量,那么其他两人最多只能使用160MB的磁盘容量,这就是用户组与用户同时设置时会产生的结果;

      宽限时间的限制:最后,我们希望每个用户在超过soft限制值之后,都还能够有14天的宽限时间,

         创建用户:

             

    2>文件系统支持:

          要使用Quota必须要内核与文件系统支持才行,我们已经使用了默认支持Quota的内核,那么接下来就是要启动文件系统的支持,不过由于Quota仅针对整个文                           件系统来进行规划,所以我们得先查一下/home是否是个独立的文件系统;此外,由于VFAT文件系统并不支持Linux Quota功能,所以我们必须查询一下/home的文件                          系统,看看是否是ext2/ext3,这样才能够支持quota功能;

                   

         1)如果只是想要在这次开机中实验Quota,那么可以使用如下的方式来手动加入quota的支持:

               

          2)事实上,当你重新挂载时,系统会同步更新/etc/mtab这个文件,所以我们必须确定/etc/mtab已经加入usrquota,grpquota的支持到你所想要设置的文件系统                                               中,另外也要强调用户与用户组的quota文件系统支持参数分别是usrquota和grpquota,千万不可写错了,不过手动挂载的数据在下次重新挂载时就会消失,因                                           此最好写入配置文件中,直接修改/etc/fstab;

                 

    3>新建Quota配置文件:

          其实Quota是通过分析整个文件系统中每个用户(用户组)拥有的文件总数与总容量,再将这些数据记录在该文件系统的最顶层目录,然后在该配置文件中再                           使用每个账号(或用户组)的限制值去规定磁盘使用量的,所以构建这个Quota配置文件就非常重要了,扫描有支持Quota参数(usrquota,grpquota)的文件系统,就                           使用quotacheck这个命令,此命令语法如下:

        quotacheck    [-avugfM]    [/mount_point]

        参数:

             -a:  扫描所有在/etc/mtab内,含有quota支持的文件系统,加上此参数后,/mount_point可以不必写,因为扫描所有的文件系统了;

             -u:针对用户扫描文件与目录的使用情况,会新建aquota.user;

             -g:针对用户组扫描文件与目录的使用情况,会新建aquota.group;

                -v:显示扫描过程的信息;

             -f:强制扫描文件系统,并写入新的quota配置文件(危险);

             -M:强制以读写的方式扫描文件系统,只有在特殊情况下才会使用;

                

    4>Quota启动,关闭与限制值设置

          制作好quota配置文件后,接下来就是要启动quota了,启动的方式很简单,使用quotaon,至于关闭就用quotaoff即可;

      quotaon   [-vug]   [/mount_point]

      参数:

        -u:针对用户启动quota(quota.user);

        -g:针对用户组启动quota(quota.group)

        -v:显示启动过程的相关信息;

        -a:根据/etc/mtab内的文件系统设置启动有关的quota,若不加-a的话,则后面就需要加上特定的那个文件系统;

       因为我们需要启动user/group的quota,所以使用下面的语法:

          

       特殊用法,假如你要启动/var的quota支持,那么仅启动user  quota时:

          #quotaon   -uv   /var

              这个"quotaon -avug"的命令几乎只在第一次启动quota时才需要进行,因为下次等你重新启动系统时,系统的/etc/rc.d/rc.sysinit这个初始化脚本就会自动的执                                  行这个命令了,因此你只要在这次实例中进行一次即可,将来都不需要自行启动quota;  

        quotaoff:关闭quota服务

         quotaoff    [-a]

         quotaoff   [-ug]    [/mount_point]

       参数:

          -a:全部的文件系统的quota都关闭(根据/etc/mtab);

          -u:仅针对后面接的那个/mount_point关闭user   quota;

          -g:仅针对后面接的那个/mount_point关闭group  quota;

      edquota:编辑账号/用户组的限值与宽限时间,edquota是editquota的缩写,所以就是用来编辑用户或者是用户组限额的命令;

         edquota   [-u    username]   [-g    groupname]

      edquota  -t     修改宽限时间;

      edquota   -p    范本账号    -u   新账号

        参数:

           -u:后面接账号名称,可以进入quota的编辑界面去设置username的限值;

          -g:后面接组名,可以进入quota的编辑界面去设置groupname的限值;

          -t:可以修改宽限时间;

          -p:复制范本,那个范本账号为已经存在并且已设置好quota的用户;意义为将范本账号这个人的quota限值复制给新账号;

        设置用户myquota1的限值:

             

          七个字段的意义分别为:

            文件系统:说明该限值时针对哪个文件系统的;

            磁盘容量:这个数值是quota自己算出来的,单位为KB,不要修改它;

            soft:磁盘容量(block)的soft限值,单位为KB;

            hard:block的hard限值,单位为KB;

              文件数量:这是quota自己算出来的,单位 为个数,不要修改;

            soft:inode的soft限值;

            hard:inode的hard限值;

        *******当soft/hard为0时,表示没有限制的意思;

         设置其他用户的限值:

              

         设置用户组的限额:

               

         将宽限时间改为14天:

              

    5>Quota限制值的报表:

          quota的报表主要有两种模式,一种是针对每个个人或用户组的quota命令,一个是针对整个文件系统的repquota命令,

        1)quota:单一用户的quota报表;

             quota   [-uvs]   [username]

             quota   [-gvs]   [groupname]

           参数:

               -u:后面可以接username,表示显示出该用户的quota限值,若不接username,表示显示出执行者的quota限值;

               -g:后面可接groupname,表示显示出该用户的quota限值;

               -v:显示每个用户在文件系统中的quota值;

               -s:使用1024为倍数来指定单位,会显示如M之类的单位;    

                         

        2)repquota:针对文件系统的限额做报表;

          repquota   -a   [-vugs]

          参数:

             -a:直接到/etc/mtab查询具有quota标志的文件系统,并报告quota的结果;

             -v:输出的数据将含有文件系统相关的详细信息;

             -u:显示出用户的quota限值(这是默认值);

             -g:显示出个别用户组的quota限值;

             -s:使用M,G为单位显示结果;

          查询本例中所有用户的quota限制情况:

                            

          

     6>测试与管理:

          1)利用myquota1的身份,创建一个270MB的大文件,并查看quota结果;

                

                

          2)再创建另外一个大文件,让总容量超过300MB;

                              

          3)warnquota:对超过限额这发出警告信:

                此命令可以依据/etc/warnquota.conf的设置,然后找出目前系统上面quota用量超过soft的账号,通过Email的功能将警告信件发送到用户的电子邮                                               件信箱,warnquota并不会自动执行,所以我们需要手动去执行,执行之后它会发送两封信出去,一封给myquota1,一封给root;

              可以进入/var/spoll/mail中查看:

                  

          可以在/etc/warnquota.conf文件中更改提示信息,改成中文也行;

            4)setquota:直接于命令中设置quota限额;

           setquota   [-u|-g]   名称  block (soft)   block(hard)  inode(soft)   inode(hard)   文件系统

           查看原始的myquota5限值,并给予soft/hard 分别为100000/200000:

                 

3》不改动既有系统的Quota实例:

        如果你的主机原先没有想到要设置成为邮件主机,所以并没有规划将邮件信箱所在的/var/spool/mail目录独立成为一个分区,然后目前你的主机已经没有办法新增或分               出任何新的分区了,我们知道quota是针对整个文件系统进行设计的,因此你是否就无法针对mail的使用量给予quota的限制呢;此外,如果你想要让用户的邮件信箱与主文件               夹的总体磁盘使用量为固定,那又该如何是好,由于/home及/var/spool/mail根本不可能是同一个文件系统(除非是都不分区,使用根目录,才有可能整合在一起),所以该如              何进行这样的quota限制呢?

       其实没有那么难,既然quota是针对整个文件系统来进行限制,假设你又已经有/home这个独立的分区了,那么你只要:

        1)将/var/spool/mail这个目录完整地移动到/home下面;

        2)利用ln -s  /home/mail  /var/spool/mail 来新建连接数据;

        3)将/home进行quota限额设置; 

时间: 2024-11-11 13:13:03

磁盘配额(Quota)的应用与实践的相关文章

linux磁盘配额quota学习笔记

1.Linux的磁盘配额quota的作用. quota的作用就是限制user和group在磁盘的使用限制,可以限制使用的空间大小block和建立的文件数量inode,一般用于限制block. 2.查看分区是否支持quota功能,如何建立quota. 查看分区是否开启quota,查看/etc/fstab文件,在文件选项增加usrquota和grpquota参数. 然后使用mount -a命令重新挂载fstab的设备. 3.建立quota记录文件. 建立quota记录文件:quotacheck -a

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

视频链接: 磁盘配额quota的意思是给用户进行使用磁盘额度的空间的划分,举个例子,你的百度网盘的使用空间,其他云盘的使用空间.在使用quota这个命令之前,我们需要进行一些操作,首先我们来挂载一个硬盘,先使用fdisk创建一下分区 fdisk /dev/sdb #创建分区咯 然后我就创建了一个主分区sdb1,接下来我们要格式化这个分区,然后挂载它~~ mkfs.ext3 /dev/sdb1 #格式化成ext3 mount /dev/sdb1 /home/jim/test #挂载它到/home/

磁盘配额quota

磁盘配额 1 启用磁盘配额 首先创建新的分区 /dev/sd5,并创建文件系统. [[email protected] ~]# mkfs.ext4 /dev/sda5 由于xfs 不磁盘配额能成功,这里使用ext4. 然后把/dev/sda5分区挂载到 /home [[email protected] ~]# mount /dev/sda5 /home [[email protected] ~]# blkid /dev/sda5 /dev/sda5: UUID="8879cf63-99a5-43

Ubuntu系统给磁盘配额(Quota)

需求:给U盘进行磁盘配额,不同用户不同的使用容量 第一步:安装quota命令 sudo apt-get install quota 第二步:为U盘进行分区,全部容量分为一个分区 sudo fdisk /dev/sdb n->p->Enter->Enter->Enter->w 第三步:格式化分区(ext3) sudo mkfs.ext3 /dev/sdb1 要求输入信息,Enter(回车)就行 第四步:挂载分区/dev/sdb1 sudo mkdir /mnt/quotadir

磁盘配额-quota

本文内容实现从lvm创建文件系统到实现磁盘配额目的. 一.LVM 利用两块20G的硬盘 Lvm的管理命令 功能 物理卷管理 卷组管理 逻辑卷管理 Scan 扫描 pvscan vgscan lvscan Create 建立 pvcreate vgcreate lvcreate Display 显示 pvdisplay vgdisplay lvdisplay Remove 删除 pvremove vgremove lvremove Extend 扩展 vgextend lvextend Reduc

Linux 磁盘配额 quota

Quota一直就是个很有用的东西.如果您曾经申请过网络的mail服务时,那么肯定就会明白什么是20MB的邮件空间. 30MB的免费网页空间,这个20MB,30MB就是quota这个东西搞出来的.如果我们要限制用户使用硬盘的容量使用大小,就需要quota来处理. 一.什么是quota 简单的说就是限制用户对磁盘空间的使用量. 在Linux系统中,由于是多人多任务的环境,所以会有多人共同使用一个硬盘空间的情况发生,如果其中有少数几个使用者大量的占掉了硬盘空间的话,那势必压缩其它使用者的使用权力,因此

linux之磁盘配额(quota)

1.什么是quota 简单的说就是限制用户对磁盘空间的使用量. 因为Linux是多用户多任务的操作系统,许多人共用磁盘空间,为了合理的分配磁盘空间,于是就有了quota的出现. 2.quota的用途    显示磁盘使用情况和配额 3.quota的一般作用对象     (1)针对WWW server     (2)针对mail server     (3)针对file server4.quota的限制    (1)仅能针对整个文件系统     (2)需要kernel的支持     (3)只对一般用

Linux磁盘配额管理

▲为什么要使用磁盘配额quota? ????在linux系统中,由于是多人多任务的环境,所以会有多人共同使用一个硬盘空间的情况.然而系统资源是有限的,因此管理员应该适当的开放硬盘的权限给使用者,以妥善的分配系统资源 ? 磁盘配额程序对硬盘配额的限制项目: soft:软限制,也称最低容量限制.在宽限时间之内,使用者的容量可以超过最低容量限制.但必须在宽限时间之内将磁盘容量降低到最低容量的限制之下 hard:硬限制,也称最高容量限制.是绝对不能超过的容量 soft到hard之间的容量就是宽限容量 宽

高级文件系统管理磁盘配额,RAID

磁盘配额 quota 命令显示磁盘使用情况和限额.quota 命令报告文件中列出的所有文件系统的限额.如果 quota 命令以非零状态退出,一个或多个文件系统超 过限额. 1.ext系列文件系统的quota的步骤方式 1.1.开启quota(ext)编辑 vim /etc/fstab,在需要开启quota的文件系统的挂载选项的defaults后加usrquota,grpquota,如下图. 设置成功后可以查看下,mount |grep app 注意:如果查看不成功需要卸载,在重新挂载,或直接mo

15.1磁盘配额(Quota)的应用与实践

15.1磁盘配额(Quota)的应用于实践 15.1.1什么是Quota Quota的一般用途 一.针对网络服务的Quota的使用 针对WWW server,例如:每个人的网页空间的容量限制 针对mail Server,例如:每个人的邮件空间限制 针对file system,例如:每个最大的孔用网络硬盘空间 二.针对Linux系统主机上面的设置 限制某一用户组所使用的最大磁盘配额: 限制某一用户的最大磁盘配额,在限制了用户组之后,你也可以再继续针对个人来进行限制. 以Link的方式来使邮件可以作