首页 > Linux, 系统服务 > 使用quota限制用户磁盘限额(详细配置)

使用quota限制用户磁盘限额(详细配置)

最近工作中又遇到了用户磁盘配额的问题,之前写了一个简单的操作步骤,这么长时间没碰了,印象也就模糊了,现在做一个详细点的操作实例,记录下每步的操作,以备后用。
至于quota的原理,在这里就不做过多的解释了,如有不太清楚的,可以Baidu或者google下。

===================================================================

测试环境: Asianux 3.0 sp2 x86
核心版本: 2.6.18-128.7AXS3
quota : quota-3.13-1.2.5AXS3
实践目标: 新建2个用户,并为这两个用户进行磁盘配额。
操作步骤:

1、划分新的分区
因为 quota 是针对整个分区进行限制的,所以,需要使用 fdisk 命令划分一个新的分区,至于划分分区的步骤,在之前的《LVM创建篇》中已有描述,如有不清之处,可以前去观看;

2、格式化和挂载
将新建立的分区进行格式化,如新的 /dev/sda1 分区,则执行
mkfs.ext3 /dev/sda1
挂载到某一目录上,如
mount /dev/sda1 /data

3、建立文件系统的磁盘配额支持
执行 vi /etc/fstab
按照自身实际情况,加入类似信息
/dev/sda1 /data ext3 defaults,usrquota,grpquota 0 0

修改完成后,就加入了磁盘配额的磁盘格式了,但真正的磁盘配额在读取时,是读取/etc/mtab 文件,而 /etc/mtab 则是系统启动时,由 /etc/fstab 的新数据改写的。所以此时,我们需要重启系统。
当然,如果不重启也不是不行,执行 mount -o remount /data 也可以。

4、新建用户和组
由于 /home 目录没有单独划分出来,所以新建立的用户,可以指定家目录到刚划出来的 /data 目录下。

groupadd   quo
useradd  -m  -g  quo - d  /data/q3  q3
useradd  -m  -g  quo  -d  /data/q4  q4

这样,就建立了用户q3和用户q4,并都属于 quo 用户组,家目录分别在 /data/q3 和 /data/q4 。

5、扫描磁盘用户状况,产生aquota.group 和 aquota.user 文件

[root@ax3sp2 q3]# quotacheck -avug
quotacheck: Scanning /dev/sda1 [/data]
quotacheck: Cannot stat old user quota file: No such file or directory
quotacheck: Cannot stat old group quota file: No such file or directory
quotacheck: Cannot stat old user quota file: No such file or directory
quotacheck: Cannot stat old group quota file: No such file or directory
done
quotacheck: Old file not found.
quotacheck: Old file not found.

6、启动磁盘配额

[root@ax3sp2 data]# quotaon -avug
/dev/sda1 [/data]: group quotas turned on
/dev/sda1 [/data]: user quotas turned on

7、编辑用户的可使用空间

[root@ax3sp2 data]# edquota -u q3

可以看到如下信息,可以对 soft和 hard 下面的数值进行编辑

Disk quotas for user q3 (uid 512):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sda1                       124          0          0         31        0        0

例如,修改成
Disk quotas for user q3 (uid 512):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sda1                       124     102400     108888         31        0        0

其中 soft 是用户限额, hard 是用户最大限额。 单位是KB,换算时请使用1024。
也就是说,用户可以突破 soft 的限额,但不能超过 hard 的限额,并且,超出 soft 限额的部分,会有警告提示,在宽限时间内,必须降到 soft 的限额以下。

然后使用同样的方法来设置 用户q4 的磁盘限额,如果和 q3 的配置一样,可以执行

edquota -p q3 q4

将q3的配置直接复制给q4。

8、设置宽限时间

[root@ax3sp2 data]# edquota  -t
Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
  Filesystem             Block grace period     Inode grace period
  /dev/sda1                     7days                  7days

设置好后,可以执行下面命令来查看用户的设置情况

[root@ax3sp2 data]# quota -vu q3 q4
Disk quotas for user q3 (uid 512):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sda1     124  102400  108888              31       0       0
Disk quotas for user q4 (uid 513):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sda1     124  102400  108888              31       0       0

由于用户们都未超过限额,所以不显示grace宽限时间。

此时,用户的磁盘限额已经完成,下面是一些补充资料,如果有需要的,可以继续观看。
===================================================================

1、设置组的可使用空间

[root@ax3sp2 data]# edquota -g quo

Disk quotas for group quo (gid 500):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sda1                       248          0          0         62        0        0

修改后

[root@ax3sp2 data]# quota -vg quo
Disk quotas for group quo (gid 500):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sda1     248  902400  999999              62       0       0

2、系统启动时,启动磁盘配额

[root@ax3sp2 ~]# vi /etc/rc.d/rc.local 
在最后一行加入
/sbin/quotaon  -avug

3、repquota显示完整结果报告


[root@ax3sp2 ~]# repquota -av
*** Report for user quotas on device /dev/sda1
Block grace time: 6days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --  154236       0       0              4     0     0
q3        --     128  102400  108888             32     0     0
q4        --     124  102400  108888             31     0     0

Statistics:
Total blocks: 7
Data blocks: 1
Entries: 3
Used average: 3.000000

[root@ax3sp2 ~]# repquota -aug
*** Report for user quotas on device /dev/sda1
Block grace time: 6days; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --  154236       0       0              4     0     0
q3        --     128  102400  108888             32     0     0
q4        --     124  102400  108888             31     0     0

*** Report for group quotas on device /dev/sda1
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
Group           used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --  154236       0       0              4     0     0
quo       --     252  902400  999999             63     0     0


转载本站文章请注明,来自: Edward's Blog

本文链接: http://www.edward-han.com/129.html

分类: Linux, 系统服务 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.
您必须启用 javascript 才能在这儿看到验证码!

无觅相关文章插件,快速提升流量

加载中……