磁盘配额(quota)

                                                            磁盘管理第二章

磁盘配额简单来讲就是限制用户对磁盘空间的使用。

因为Linux是多用户多任务的操作系统,许多人共用磁盘空间,为了合理的分配磁盘空间,于是就有了quota的出现。
磁盘配额流程:
1.vim /etc/fstab 或者 mount -o remount,usrquota,grpquota /app/quota.test
在实际生产中不方便卸载挂载点,所以建议使用上述方法,当然啦新磁盘除外
2.[root@Centos7 ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 31441920 4153152 27288768 14% /
devtmpfs 724784 0 724784 0% /dev
tmpfs 739476 0 739476 0% /dev/shm
tmpfs 739476 9260 730216 2% /run
tmpfs 739476 0 739476 0% /sys/fs/cgroup
/dev/sda5 12572672 32944 12539728 1% /app
/dev/sda1 508580 170556 338024 34% /boot
tmpfs 147896 12 147884 1% /run/user/42
tmpfs 147896 0 147896 0% /run/user/0
/dev/sdb1 1479088 34512 1351392 3% /app/quota.test
3.下面需要创建用户,组的quota数据文件,位于挂载点的根目录下。
[root@Centos7 ~]# quotacheck -cugm /dev/sdb1
[root@Centos7 ~]# ls /app/quota.test/
aquota.group aquota.user
4.我们看到生成了aquota.group 和 aquota.user两个数据文件。下面需要进行激活
[root@Centos7 ~]# quotaon /app/quota.test/
若要取消使用命令quotaoff

            5.接下来我们开始对用户和组进行quota设置
                    [root@Centos7 ~]# edquota testuser1
  Disk quotas for user testuser1 (uid 1004):

Filesystem blocks soft hard inodes soft hard
/dev/sdb1 0 10000 50000 0 0 0
6.现在切到普通用户,我们会看到发出警告,只能写入50Mbyte。
[testuser1@Centos7 quota.test]$ dd if=/dev/zero of=A bs=2M count=30
sdb1: warning, user block quota exceeded.
sdb1: write failed, user block limit reached.
dd: error writing ‘A’: Disk quota exceeded
25+0 records in
24+0 records out
51200000 bytes (51 MB) copied, 0.223304 s, 229 MB/s
对组的quota同用户

        总结:
          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

猜你喜欢

转载自blog.51cto.com/13767700/2126719