zoukankan      html  css  js  c++  java
  • Linux磁盘配额实验

    1.实现磁盘限额的条件
    *需要Linux内核支持
    *安装quota软件包
    2.Linux磁盘限额的特点
    作用范围:针对指定 文件系统(分区)
    限制对象普通用户帐号、组帐号
    限制类型:磁盘容量(默认单位为KB)、文件数量
    限制方法:软限制、硬限制
    3.quota对文件系统的限制主要分为:容量限制或文件数量限制
    限制inode用量:就是用户可以新建的文件数量
    限制block用量:就是用户可以使用的磁盘容量,比较常见的限制方式

    -------------------------------------------------------------------------------

    注:

    磁盘配额的记录文件保存在开启磁盘配额分区的根目录下面,它们是aquota.user和aquota.group;
    磁盘配额只对一般身份用户有效,对root权限用户无效

    最低限制(软限制,soft):最低限制容量(可以被超过,但会出现警告,超过的部分会保存到宽限时间到期);
    最高限制(硬限制,hard): 不能被超越的限制;
    宽限时间:当用户使用的空间超过了最低限制但还没到达最高限制时,在这个宽限时间到期前必须将超额的数据降低到最低限制以下(默认为7天),当宽限时间到期,系统将自动清除超出的数据;
    ===========================================

    实验环境:

    Linux RedHat 6.5

    设置SELINUX=disabled


    前面配置部分

    1、新建用户,设置密码

    useradd losnau
    echo "losnau" |passwd losnau --stdin

    2、创建一个逻辑分区,并且格式化ext4文件系统

    fdisk /dev/sdb
    mkfs.ext4 /dev/sdb1

    4、创建挂在目录 ,并且修改权限777,可以让其他用户拥有所有权限

    mkdir /public
    chmod 777 /public

    5、创建文件挂在点

    方法1) 编辑 /etc/fstab

    echo "/dev/sdb1               /public                 ext4    defaults,usrquota,grpquota      0 0
    " >> /etc/fstab
    #第一个字段为被挂载的分区,第二个字段为挂载的目录,第三个字段是被挂载的分区的文件系统类型,后面的几个字段是支持quota的参数。各字段用空格分隔
    mount -a #读取/etc/fstab,重新挂在生效,或者重启也行

    方法2)自己手动挂载

    mount -o remount,usrquota,grpquota /public #立即生效
     mount | grep /dev/sdb1.
     #只要括号里面显示"usrquota,grpquota",说明可以使用磁盘配额了
     /dev/sdb1 on /sdb1 type ext4 (rw,usrquota,grpquota)
     #或者
     ls  /public
     #看到目录下有lost+found这个目录也算是挂在成功了

    6、使用quotacheck命令生成配置磁盘配置的数据库文件

    #若selinux开启的话会提示权限不够,通过setenforce 0临时关掉selinux就可以了

    #创建磁盘配额配置文件,命令参数解释如下:
        #-v 显示扫描过程;
        #-u 针对扫描情况与目录的使用情况建立aquota.user;
        #-g 针对用户扫描文件与使用情况建立aquota.group;

    quotacheck -vug /public
    ls /public
    #quotacheck执行成功可以看到/public/下面多了两个文件。

    7、配置losnau用户使用/dev/sdb1分区的限额

    edquota -u losnau
    #/dev/sdb1    0     10   20    0     3   
    #:wq修改保存退出

    解释上面的操作:
        #输入上面的命令后,会进入一个vi编辑界面
        #对其中各字段解释如下:
        #Filesystem下显示实现磁盘配额的分区;
        #blocks下为当前已经使用的大小,不用修改;
        #soft为软限制,超出后会给出警告,超出的部分默认会保存7天;
        #hard为硬限制,不可超越的限制(软硬限制默认单位都是KB);
        #后面的两个相同的soft、hard分别表示分区中这个用户可以创建的文件数目软硬限制;
        #本例中设置,qingsword可以使用/dev/sdb1分区的软限制大小10KB,硬限制20KB,可创建的文件个数软限制是3个,硬限制5个;
        Disk quotas for user qingsword (uid 500):
        Filesystem blocks soft hard inodes soft hard

    8、开启这个分区的磁盘配额

    quotaon /public #挂在点看你前面做了什么操作,可自行修改

    注:若要配置其他用户,请参考第7步


     

    测试部分

    =======================测试磁盘使用额度=========================

    #切换到losnau用户
     su losnau
     #进入/dev/sdb1分区
     cd /public

     #使用dd命令进行文件写入测试,
     # if=/dev/zero 表示从"/dev/zero"文件输出,of=/public/testfile1 表示输入到"/public/testfile1"文件中,也就是,从/dev/zero这个文件中读取垃圾数据写入/public/testfile1这个文件中;
     # bs=1K 表示一次读取写入的大小是1KB,count=12 表示读取12次;
     #所以理论上最后写入/sdb1/testfile1的数据应该是12KB

     dd if=/dev/zero of=/public/testfile1 bs=1K count=12
     #因为针对qingsword用户在这个分区的软限制设置是10KB,所以这里给出了警告信息
     dd if=/dev/zero of=/public/testfile3 bs=1K count=12
     #出现了一个警告,并且下方显示只有8K的数据被复制,这是因为我们设置的硬限制是20KB
    #第一个文件已经占用了12KB的数据,第二个文件仅写入了8KB的数据,硬限制是不能被超越的,而软限制10KB是可以被超越的,超越的数据,会在这个分区中默认保存7天,然后系统将自动删除这些数据

    =======================测试文件数量限制=========================
     #,按照前面的介绍和我们的配置,超过3个文件的软限制时会给出警告,而无法超过5个文件的硬限制,使用touch来创建空文件
    创建空文件省略....
        #超过3个文件时出现了警告
    创建空文件省略....
        #touch第6个文件的时候提示创建失败
        #超过文件数量软限制的部分同样会被保存7天,然后被系统自动删除
        #查看当前用户的磁盘配额使用情况,两个已经超出的配置分别是文件大小和文件数量,宽限时间还有6天

     quota -vugs
     #dev/sdb1    20K*  10K  20K   6days   5*    3     5   6days
     #可以使用root权限修改宽限时间
     edquota -t

    关闭磁盘配额

        #关闭单个磁盘的磁盘配额
      quotaoff /public
        #关闭所有已经开启的磁盘配额
      quotaoff -a
        #反之,开启所有磁盘配额
      quotaon -a
        #如果不再使用磁盘配额,可以将配置文件也删除
      rm -rf /public/aquota.*
        #最后删除/etc/fstab中的自动挂载即可
  • 相关阅读:
    jq 字符串去除空格
    wpf 加载资源文件
    wpf 寻找TreeView的子元素,并对其进行操作
    IIS发布MVC ASP.NET网站
    wpf Binding 小记录
    asp.net mvc表单异步提交
    把路径设置为全局变量
    MVC将服务器端的物理路径转换为服务器路径
    silverlight控件阴影效果示例
    NLP的12条前提假设
  • 原文地址:https://www.cnblogs.com/losbyday/p/5857335.html
Copyright © 2011-2022 走看看