2010/03/16

通过quota进行磁盘配额

实验 用户磁盘空间限制
注:这是我做的Linux实验报告之一,happy copy! : )
1、目的与要求
学习和掌握Linux操作系统下磁盘空间管理的常用命令
2、内容
系统中有aabb用户,属于hhh组。新增的虚拟硬盘/dev/sdb,大小1G划分分区/dev/sdb1 ,格式化为ext3,并将/dev/sdb1设置为自动挂载为/home。在/home下实施磁盘的配额管理,普通用户aabb的软配额为150MB,硬配额为200MB,软配额的过渡时间为3天。组hhh的软配额为500MB,硬配额为700MB。设置完后启动配额,用root帐户查看所有帐户和组的配额情况。登录aa用户分别查看其用户和组的配额设置;在/home/aa下新建一文本文件123.txt,内容为自定,再查看其配额有什么不同?
此后的内容不要抄实验报告上    
(注意事项:请将/home重新挂载后再创建aabb用户,避免其主目录在原来的分区内而造成使用错误)
实验请写出相关命令和配置文件修改的操作,不要直接抄给出的简单提示,否则视为没做:
简单提示
1、先新增虚拟硬盘菜单vmàsettingàADD。。。    启动虚拟机
      2fdisk /dev/sdb 分区;mke2fs –j /dev/sdb1格式化
      3、编辑/etc/fstab文件添加/home分区的挂载和配额设置(要给出具体内容)
      4、重启或者mount  /home命令挂载
      5、建立用户useradd –g hhh aa  
                  passwd aa
                  useradd –g hhh bb
                  passwd aa
       6quotacheck  –cuvg  /home  创建文件并且格式化
       7edquota –u aa 设置aa用户配额;(还要写出配置文件具体修改内容的行)
8、复制配额给bb 
9edquota –g hhh 设置hhh组配额  (还要写出配置文件具体修改内容的行)
10、修改过渡时间edquota命令 (以下的自己找参数)
11、启动配额quotaon命令
12repquota命令root用户分别查看所有用户和组的配额设置
13、用aa用户登录,quota命令查看自己的配额
14、用vi建立123.txt文件,再用quota查看(要写出不同)



通过quota进行磁盘配额

    使用quota进行硬盘配额,可以控制用户对磁盘空间和文件的控制,我们以一个实例作为说明,对2个用户test0、test1分别进行磁盘使用空间和创建文件的限制。
首先,创建一个新的分区,将/tmp挂载在新的分区。
#fdisk /dev/hda  

创建后执行:

#partprobe

    partprobe包含于parted包中,可用rpm -q parted检测是否安装。它可以允许用户创建分区并且在不重新启动机器的情况下让系统能够识别这些分区。

    格式化新建分区并将其挂载到/tmp下:

#mkfs –t ext3 /dev/sdb 格式化分区,也可以使用mke2fs -j /dev/sdb命令
#mount /dev/sdb /tmp 将/tmp挂载到sdb分区



    修改分区表 :

#vi /etc/fstab //增加usrquota,grpquota
/dev/hda7   /tmp   ext3    defaults, usrquota,grpquota  0 0


创建用户和组:

#groutadd qt
#useradd -g qt test0
#useradd -g qt test1
#cd /tmp
#mount –o remount /tmp
#quotacheck –cvug /tmp
#quotaon –vug /tmp    //开启quota

Quota会在/tmp目录下自动创建quota.user quota.group



对用户test0进行磁盘空间使用限制

#edquota –u test0   修改quota配置文件
                      Block limits                              File limits 
User            used   soft    hard     timeleft    used   soft   hard    timeleft 
userq     --      0    8000   10000                         0      0      0


    Block limits是对磁盘空间使用的限制,以字节为单位,soft是指软限制,hard是指硬限制,如例,soft限制为8MB,hard限制为10MB,当用 户test0使用空间超过8MB时,系统会进行提示,但可以继续使用空间,而当用户test0使用空间达到10MB时,就会限制用户test0继续使 用/tmp空间
我们可以进行一下测试,手动创建相对大的文件:

#dd if/dev/zero of=testfile bs=1M count=6  将创建成功
#dd if/dev/zero of=testfile bs=1M count=10 将创建成功,但会有提示
#dd if/dev/zero of=testfile bs=1M count=15 将创建失败,超出hard限制


对用户test1进行创建文件使用限制

#edquota –u test1  修改quota配置文件
                     Block limits                              File limits 
User            used   soft    hard     timeleft    used   soft   hard    timeleft 
userq     --      0       0       0                         0       10    20


    File limits是对用户创建文件的限制,soft和hard同上是软限制和硬限制,分别是10、20,当用户test1创建文件超过10个时,系统会进行 提示,但仍可以继续创建文件,而当用户test1创建文件超过20个文件时,就会限制用户test1继续创建文件,但要注意,因为用户test1是 在/tmp目录下进行了磁盘配额限制,所以/tmp目录会算做一个文件,所以user02最多只能创建19个文件。

我们可以进行一下测试,手动创建文件:
#for i in $(seq 1 15);do echo “testfile$i”;touch testfile$i;done


    创建15个文件,此时quota会进行提示,而当超过20个文件的时候,quota就会限制用户user02继续创建文件

#edquota –t 


可以设置timeleft的值,在这里我们都设定为2分钟,重复上面的例子,用户user02创建60个文件,此时会出现quota的提示,但仍可以创建 文件,但当我们等待2分钟后,你会发现,user02已经不能再进行创建文件了,这里就是timeleft的作用,就是当你超过soft限制时,设定有效 的时间。
其他相关命令

#repquota       重载quota设置
#quota –v       察看quota设置
#quota on/off   quota开启/关闭

这样我们就可以对用户进行相应的限制了。

查看用户磁盘使用情况 :

要查明某一个用户使用了多少磁盘空间,例如lanf,可以使用如下的命令:
#quota -u test //查看test0用户配额使用情况。

采用下列命令将相同的限制复制给其他用户(test2 test3 ):
#edquota -up test0 test2 test3

使用repquota命令来监控配额使用情况:

#repquota -a //显示所有用户配额使用情况。

没有评论:

发表评论