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


      视频链接:http://www.bilibili.com/video/av10892470/

      磁盘配额quota的意思是给用户进行使用磁盘额度的空间的划分,举个例子,你的百度网盘的使用空间,其他云盘的使用空间。在使用quota这个命令之前,我们需要进行一些操作,首先我们来挂载一个硬盘,先使用fdisk创建一下分区

    fdisk /dev/sdb    #创建分区咯

    然后我就创建了一个主分区sdb1,接下来我们要格式化这个分区,然后挂载它~~

    mkfs.ext3 /dev/sdb1    #格式化成ext3
    mount /dev/sdb1  /home/jim/test    #挂载它到/home/jim/test下面

    当然,这里我们最好选择自动挂载,这里多了quota~~

    /dev/sdb1  /home/jim/test  ext3 defaults,usrquota,grpquota 1 2

    都全部配置完毕之后,我们就开始我们的quota之旅了

    1. 什么是 quota  (quota就是给用户分配磁盘配额的)

    2. 基本的 quota 指令介绍:/etc/mtab, quota, quotacheck, edquota, quotaon, quotaoff

    3. 实作 quota

    4. 不更动既有系统的 quota 实例

    quota的一般用途

    针对 WWW server ,例如:每个人的网页空间的容量限制!
    针对 mail server,例如:每个人的邮件空间限制。
    针对 file server,例如:每个人最大的可用网络硬盘空间。

    我们一直说quota是限制磁盘配额的,那它究竟是怎么限制的呢?

    • soft               最低限制容量,可以在宽限的时间内超过这个,但是在宽限时间over之前还是要降下去
    • hard              这是绝对不允许超过的容量!
    • 宽限时间         超过soft之后,宽限时间就会启动

    你可以去/etc/mtab里面看你的磁盘支不支持quota

    quota

    -u  后面是用户,显示它的quota限制值,不写默认当前执行者

    -g  后面是群组,显示群组的quota限制值

    -v  显示每个filesystem的quota值

    -s   以inode或磁盘容量的限制值来显示

    -l    显示目前本机上面的filesystem的quota值

    例子一:显示自己的quota限制值

    quota  -guvs

    例子二: 我要看jim的磁盘配额

    quota -vs -u jim

    quotacheck

    -a :扫瞄所有在 /etc/mtab 内,含有 quota 支持的 filesystem,加上此参数后,/mount_point 可不必写,因为扫瞄所有的 filesystem 了嘛!

    -u :针对使用者扫瞄档案与目录的使用情况,会建立 aquota.user

    -g :针对群组扫瞄档案与目录的使用情况,会建立 aquota.group

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

    -M :『强制』进行 quotacheck 的扫瞄。

    例子一:对/etc/mtab内,含有quota支持的分区进行扫描

    quotacheck -avug

    第一次是会出错的,不要担心,因为可能它的文件格式损坏了,这个时候我们就要使用强制的quotacheck命令了

    quotacheck -cfmvF  vfsv0   /home

    这样强制的执行就好了,具体详情请看我的专门写这个问题的博客http://www.cnblogs.com/yunquan/p/6914320.html

    edquota

    -u :后面接账号名称。可以进入 quota 的编辑画面 (vi) 去设定 username 的限制值;

    -g :后面接群组名称。可以进入 quota 的编辑画面 (vi) 去设定 groupname 的限制值;

    -t :可以修改恕限时间 (就是超过 quota 的 soft limit 值后,还能使用硬盘的宽限期限)

    -p :复制范本。那个 username_demo 为已经存在并且已设定好 quota 的使用者,意义为『将 username_demo 这个人的 quota 限制值复制给 username 』!


    例子一:设定jim的quota限制值

    edquota  -u  jim

    例子二:讲jim的quota限制值复制给tom用户

    edquota -p jim -u tom

    例子三:修订宽恕时间

    edquota -t

    quotaon

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

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

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

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

    例子一:启动所有的具有quota的filesystem

    quotaon  -avug

    例子二:仅启动/home里面的user quota设定值

    quotaon -uv /home

    有时候你打quotaon可能会不成功?那就先quotaoff一下,然后再quotaon

    quotaoff

    -a :全部的 filesystem 的 quota 都关闭 (根据 /etc/mtab)
    -u :仅针对后面接的那个 /mount_point 关闭 user quota
    -g :仅针对后面接的那个 /mount_point 关闭 group quota

    例子一:

    quotaoff -a

    ok,那么到这里呢quota的命令我们差不多都学完了,下面我们要来实际的操作一下咯

    一、先建立一个群组和俩用户来玩玩

    groupadd qgroup
    useradd -m -g qgroup quser1
    useradd -m -g qgroup quser2
    passwd quser1
    passwd quser2

    二、给filesystem添加quota支持

    在 /etc/fstab里面要加上usrquota和qrpquota这样的东东

    /dev/sdb1  /home/jim/test  ext3 defaults,usrquota,grpquota 1 2

    写完之后呢,因为quota是读取/etc/mtab这个档案的。而这个档案又必须重启之后才会对fstab文件进行读取,但是我又不想关机怎么办,就这样

    mount -o remount /hoem/jim/test

    三、扫描磁盘的使用情况,并产生aquota.group和aquota.user这俩文件

    使用quotacheck命令,如果不行就强制执行

    #执行
    quotacheck -avug
    
    
    #如果上面的不行,就强制执行这个
    quotacheck -cfmvF  vfsv0   /home/jim/test

    四、启动quota的限额

    使用quotaon,不行的话就quotaoff一下再quotaon

    quotaon  -auvg

    五、编辑使用者的可使用空间

    我写quser1的,然后复制给quser2

    edquota -u quser1

    复制给quser2

    edquota -p quser1 quser2

    接下来设定宽限时间吧

    edquota -t

    设定完毕之后嘞我们可以通过quota查看

    quota -vu quser1 quser2

    六、编辑群组可以使用的空间

    #编辑
    edquota -g qgroup
    
    #查看
    quota -vg qgroup

    为啥要编辑群组的使用空间?因为啊,人少了没事,人多了你去设定试试?今天张三说空间不够用了,明天李四说空间满了...想想都头大,干脆设定一下群组的空间,让他们自己玩去。只要他们所有人的使用空间不超过群组的hard就行

    七、设定开机启动quota

    这个没必要呵,因为预设就是开机启动,但是!万一你的电脑出毛病了,那就这样做

    vi /etc/rc.d/rc.local      #进去
    /sbin/quotaon -avug    #加上这一行

    八、利用repquota显示更完整的quota结果

    repquota -av

    不更动既有系统的 quota 实例

    就是你磁盘配额的时候最好是一块独立的磁盘,那万一你没有把目录设置在一块独立的磁盘上,那该怎么办呢

  • 相关阅读:
    Mysql入门-对表数据的增删改查
    Mysql教程-自动备份数据库
    前端基础教程-jQuery EasyUI 的EasyLoader实例
    html上标与下标应用
    git使用教程
    retrofit2.0缓存设置
    android 模拟用户点击事件
    power designer 16.5 生成mysql8.0注释
    Navicat连接Mysql8.0.11出现1251错误
    mongodb 安装配置及简单使用
  • 原文地址:https://www.cnblogs.com/yunquan/p/6914308.html
Copyright © 2020-2023  润新知