zoukankan      html  css  js  c++  java
  • 磁盘配额quota应用

    1、文件系统支持

      quota是针对整个文件系统来进行规划,所以我们得先查一下/home是否是个独立的文件系统。

    1 [root@Monitor home]# df -h /home
    2 Filesystem      Size  Used Avail Use% Mounted on
    3 /dev/xvda1       40G  5.9G   32G  16% /
    4 [root@Monitor home]# 

      由于我的测试机系统的/home不是独立的文件系统,所以只能拿 / 来做试验了,不过强烈建议不要在正式服务器上的 / 做quota

     1 [root@Monitor ~]# mount -o remount,usrquota,grpquota /
     2 [root@Monitor ~]# mount
     3 /dev/xvda1 on / type ext4 (rw,barrier=0,usrquota,grpquota)
     4 proc on /proc type proc (rw)
     5 sysfs on /sys type sysfs (rw)
     6 devpts on /dev/pts type devpts (rw,gid=5,mode=620)
     7 tmpfs on /dev/shm type tmpfs (rw)
     8 none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
     9 none on /proc/xen type xenfs (rw)
    10 [root@Monitor ~]# 

      不过手动挂载的数据在下次重新挂载就会消失,因此最好写入配置文件中。

    2、新建quota配置文件

      quotacheck:扫描文件系统并新建quota的配置文件

      -a:扫描所以在/etc/mtab 内,含有quota支持的文件系统

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

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

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

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

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

      

    1 [root@Monitor ~]# quotacheck -avug
    2 quotacheck: Your kernel probably supports journaled quota but you are not using it. Consider switching to journaled quota to avoid running quotacheck after an unclean shutdown.
    3 quotacheck: Quota for users is enabled on mountpoint / so quotacheck might damage the file.
    4 Please turn quotas off or use -f to force checking.

      由于我在写这篇博客前已经在这台测试机上做过quota,所以报错,只能加-f强制扫描了

    1 [root@Monitor ~]# quotacheck -avug -mf
    2 quotacheck: Your kernel probably supports journaled quota but you are not using it. Consider switching to journaled quota to avoid running quotacheck after an unclean shutdown.
    3 quotacheck: Scanning /dev/xvda1 [/] done
    4 quotacheck: Checked 13937 directories and 123932 files
    5 [root@Monitor ~]# 

      这样配置文件就创建起来了!

    3、quota启动、关闭与限制值设置

      quotaon:启动quota服务

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

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

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

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

      启动quota

    1 [root@Monitor ~]# quotaon -avug
    2 /dev/xvda1 [/]: group quotas turned on
    3 /dev/xvda1 [/]: user quotas turned on

      (quotaoff:关闭quota服务,参数和quotaon相同)

      edquota:编辑账号/用户组的限值与宽限时间

      -u:后面接账号名称。可以今日quota的编辑界面(vi)去设置username的限制值。

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

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

      -p:复制范本。那个“模板账号”为已经存在并且已设置好quota的用户,意义为将“范本账号”这个人的quota限制值复制给新账号! edquota -p 范本账号   -u 新账号

      设置“liu”这个用户的quota限制值

    [root@Monitor ~]# edquota -u liu
    Disk quotas for user liu (uid 501):
      Filesystem                   blocks       soft       hard     inodes     soft     hard
      /dev/xvda1                      996        8000       10000         10        0        0

      然后将宽限时间改成14天

    1 [root@Monitor ~]# edquota -tGrace period before enforcing soft limits for users:
    2  Time units may be: days, hours, minutes, or seconds
    3    Filesystem             Block grace period     Inode grace period
    4    /dev/xvda1                   14days                  7days

    4、quota限制值的报表

      -g   列出群组的磁盘空间限制。

      -q   简明列表,只列出超过限制的部分。

      -u   列出用户的磁盘空间限制。

      -v   显示该用户或群组,在所有挂入系统的存储设备的空间限制。

      -V   显示版本信息。

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

    1 [root@Monitor ~]# quota -uvs liu
    2 Disk quotas for user liu (uid 501): 
    3      Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
    4      /dev/xvda1     996*    8000    10000   6days      10       0       0        
    5 [root@Monitor ~]# 

      repquota:针对文件系统的限制额做报表,参数和quota相同

    5、测试与管理

      利用“liu”的身份创建一个9M的文件,并查看quota结果

    liu@Monitor home]$ dd if=/dev/zero of=/home/liu/text count=1M bs=9
    xvda1: warning, user block quota exceeded.
    xvda1: write failed, user block limit reached.
    dd: writing `/home/liu/text': Disk quota exceeded
    1024456+0 records in
    1024455+0 records out
    9220096 bytes (9.2 MB) copied, 1.45197 s, 6.4 MB/s

  • 相关阅读:
    LeeCode-Invert Binary Tree
    LeeCode-Contains Duplicate
    LeeCode-Linked List Cycle
    LeeCode-Number of 1 Bits
    LeeCode-Delete Node in a Linked List
    LeeCode-Same Tree
    LeeCode-String to Integer (atoi)
    单链表复习
    POJ1258 (最小生成树prim)
    HDU1248 (完全背包简单变形)
  • 原文地址:https://www.cnblogs.com/liuyisai/p/5623622.html
Copyright © 2011-2022 走看看