Chinaunix首页 | 论坛 | 博客
  • 博客访问: 298086
  • 博文数量: 49
  • 博客积分: 4776
  • 博客等级: 中校
  • 技术积分: 486
  • 用 户 组: 普通用户
  • 注册时间: 2005-03-02 10:42
文章分类

全部博文(49)

文章存档

2010年(6)

2009年(8)

2008年(20)

2007年(10)

2006年(2)

2005年(3)

分类:

2007-11-12 19:45:36

CenTOS 5下面用自带的RPM包安装配置Quota
Author:汪洋
Nickname:ruochen / ruochen0926
Date:20070927
Version:1.0
Contact: E-Mail:yang_wang(at)sae.com.hk  QQ:967409
Blog:http://ruochen.cublog.cn/
Note:参考了网上很多网友的帖子,都比较零散,不一一列出,如果在安装或者使用过程中有疑问,请到我的blog跟帖,我会尽快回复

目录:
目标:配置一个基本的quota
1)安装需要的软件包
2)配置quota
2.1)设定partition的filesystem支持quota参数
2.2)建立quota记录文件
2.3)编辑quota限制值数据
2.4)重新扫描与启动quota
3)Quota有关命令的使用和说明
3.1)Quota有关命令的分类
3.2)quota命令的使用
3.3)命令的使用
3.4)命令的使用
3.5)命令的使用
3.6)命令的使用
4)FAQ
4.1)Quota的限制:
4.2)如何设定开机时启动quota
4.3)系统已经安装好,现在如何对FS和Mail做限制
1)安装需要的软件包
quota-3.13-1.2.3.2.el5  #Quota的基本包

2)配置quota
2.1)设定partition的filesystem支持quota参数
添加一个2GB新硬盘,用fdisk分区,然后修改/etc/fstab文档
[root@mail /]# vi /etc/fstab
/dev/hda1  /disk2   ext3   defaults,usrquota,grpquota    1 2
2.2)建立quota记录文件
首先测试参数正确与否
[root@mail /]# mount -a
[root@mail /]# umount /disk2/
[root@mail /]# mount -a
建立quota的用户和组的记录文件
[root@mail /]# quotacheck -avug
[root@mail /]# ll /disk2/
-rw------- 1 root root  6144 11-03 12:32 aquota.group
-rw------- 1 root root  7168 11-03 12:35 aquota.user
drwx------ 2 root root 16384 11-02 14:54 lost+found
2.3)编辑quota限制值数据
编辑quota用户的限制值数据
[root@linux ~]# edquota -u test1
编辑quota组的限制值数据
[root@linux ~]# edquota -g test1
将test1的设定直接复制给test2
[root@linux ~]# edquota -p test1 test2
2.4)重新扫描与启动quota
[root@mail /]# quotaon -avug

3)Quota有关命令的使用和说明
3.1)Quota有关命令的分类
quota要使用的指令!基本上分为三种,
查询功能 (quota、quotacheck、quotastats、warnquota、repquota),
编辑quota内容 (edquota、setquota)。
quota开关 (quotaon、quotaoff)
3.2)quota命令的使用
[root@mail /]# quota [-uvsl] [username]
[root@mail /]# quota [-gvsl] [groupname]
参数:
-u  :后面可以接username,表示显示出该使用者的quota限制值。若不接username,表示显示出执行者的quota限制值。
-g  :后面可接groupname,表示显示出该群组的quota限制值。
-v  :显示每个filesystem的quota值;
-s  :可选择以inode或磁盘容量的限制值来显示;
-l  :仅显示出目前本机上面的filesystem的quota值。

范例一:秀出目前root自己的quota限制值:
[root@mail /]# quota -guvs
范例二:秀出test1这个使用者的磁盘配额
[root@mail /]# quota -vs -u test1

3.3)quotacheck 命令的使用
[root@mail /]# quotacheck [-avug] [/mount_point]
参数:
-a  :扫瞄所有在/etc/mtab内,含有quota支持的filesystem,加上此参数后,/mount_point可不必写,因为扫描所有的filesystem了嘛!
-u  :针对使用者扫描文件与目录的使用情况,会建立aquota.user
-g  :针对群组扫描文件与目录的使用情况,会建立aquota.group
-v  :显示扫描过程的信息
-M  :『强制』进行quotacheck的扫描

范例一:将所有的在/etc/mtab内,含有quota支持的partition进行扫描
[root@linux ~]# quotacheck -avug
使用quotacheck时,该磁盘将『自动被设定成为只读扇区(read-only)』;至于扫描完毕之后,扫瞄所得的磁盘空间结果会写入该扇区最顶端
Linux也特别强调quota在使用的时候,需要特别注意在reboot时,得先将quota关闭才好
 
3.4)edquota 命令的使用
[root@mail /]# edquota [-u username] [-g groupname]
[root@mail /]# edquota -t  <==修改宽限时间
[root@mail /]# edquota -p username_demo -u username
参数:
-u  :后面接账号名称。可以进入quota的编辑画面(vi)去设定username的限制值;
-g  :后面接群组名称。可以进入 quota 的编辑画面(vi)去设定groupname的限制值;
-t  :可以修改宽限时间(就是超过quota的soft limit值后,还能使用硬盘的宽限期限)
-p  :复制范本。那个username_demo为已经存在并且已设定好quota的使用者,
      意义为『将username_demo这个人的quota限制值复制给username』
七个字段代表的意义
filesystem:
代表这个quota是针对哪一个partition的意思。以范例一的情况来说,指的是/dev/hda1啰!也就是/disk2那个目录底下的quota限制值啦!
blocks:
这个是目前使用者test1(uid501)在/dev/hda1这个filesystem所消耗的磁盘容量,单位是Kbytes!这个信息是quota程序自己计算出来的,所以请不要修改他!
soft与hard:
这个是目前的test1使用者在这个filesystem之内的quota限制值!soft代表的是一个『警告』限值,hard则是一个『不可超过的限值』,soft与hard中间的差值则为宽限的数值。而当soft与hard数值为0的时候,表示『没有限制』的意思!而数值的单位仍是Kbytes!
inodes:
是目前使用掉inode的状态(文件个数),也是quota自己计算出来而得到的,所以不要去变更他。一般而言,inode不容易控制,所以您可以不必去限制inode!

3.5)quotaon命令的使用
[root@mail /]# quotaon [-avug]
[root@mail /]# quotaon [-vug] [/mount_point]
参数:
-u  :针对用户启动quota(aquota.user)
-g  :针对群组启动 quota(aquota.group)
-v  :显示启动过程的相关讯息;
-a  :根据/etc/mtab内的filesystem设定启动有关的quota,若不加-a的话,
      则后面就需要加上特定的那个filesystem!
3.5)quotaoff 命令的使用
[root@mail /]# quotaoff [-a]
[root@mail /]# quotaoff [-ug] [/mount_point]
参数:
-a  :全部的filesystem的quota都关闭(根据/etc/mtab)
-u  :仅针对后面接的那个/mount_point关闭user quota
-g  :仅针对后面接的那个/mount_point关闭group quota
 
3.6)repquota命令的使用
[root@mail /]# repquota -a [-vug]
参数:
-a:直接到/etc/mtab搜寻具有quota标志的filesystem,并报告quota的结果;
-v:输出所有的quota结果,而非仅下达指令者自己的quota限值;
-u:显示出使用者的quota限值(这是默认值);
-g:显示出个别群组的quota限值。
[root@mail /]# repquota -av
*** Report for user quotas on device /dev/hda1
Block grace time: 2days; Inode grace time: 3days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --   35880       0       0              4     0     0
test1     --       0   45000  500000              0   400   600
Statistics:  <==这是所谓的系统相关信息,用-v才会显示
Total blocks: 7
Data blocks: 1
Entries: 2
Used average: 2.000000
 
3.6)convertquota命令的使用
 

4)FAQ
4.1)Quota有哪些限制:
1)仅针对整个partition
2)只对一般身份使用者有效
 
4.2)如何设定开机时启动quota:
Redhat系列的已经在脚本里做好了这点,其他的Linux要在/etc/rc.d/rc.local里添加下面一行
/sbin/quotaon -avug
 
 

4.3)系统已经安装好,现在如何对FS和Mail做限制
既然quota是针对整个partition来进行限制,那我又已经将/disk2做好quota了,那么我只要:
将/home这整个目录搬移到/disk2底下;
利用ln –s /disk2/home/home来建立连结数据;
将/var/spool/mail整个搬移到/disk2底下;
利用ln –s /disk2/mail/var/spool/mail来建立连结数据。

4.4)如何一次设定大量 Quota用户
 #edquota -u -p wei user1 user2 user3     //套用 wei 的 Quota 設定到 user1,2,3身上
 #edquota -u -p wei 10000-20000           //套用 wei 的 Quota 設定到 uid 10000 ~ 20000 身上
 

参考文档
Linux磁盘配额(Quota)配置详解
Quota-管理硬碟空間配額
 
阅读(2125) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~