免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 907 | 回复: 0
打印 上一主题 下一主题

Linux Quota mini-HOWTO [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-07 15:13 |只看该作者 |倒序浏览
如何在 Linux 上启动 Quota
----------------------------------------------------------------
什么是 Quota?
  Quota 让你可以从两方面指定磁盘的储存限制: 使用者所能够支配的索引
  节点(inodes)数量;以及使用者可以取用的磁盘区块数量。
  Quota 背后的含意是强制使用者在大部分的时间中保持在他们的磁盘使用
  限制之下,取消他们在系统上无限制地使用磁盘空间的能力。
  Quota 是以每一使用者,每一文档系统为基础的 如果使用者可能在超过
  一个以上的文档系统上建立文档,那么必须在每一文档系统上分别设定
  quota 
Quota 目前在 Linux  上的情况
  Quota 的支持据我所知自从 1.3.8x 版开始已经整合到核心之中,而且它
  也在 2.0  版的核心里。如果你的系统不支持 quota  那么我建议你来次
  更新。
  目前为止,quota 只能在 ext2  文档系统上运作。
在 Linux 上使用 Quota 的需求
核心
2.x 版的核心可以从这里取得
     
http://sunsite.unc.edu/pub/Linux/kernel/v2.0
Quota 软件
  端视你的 Linux  发行套件而定,在你的系统上可能已经装好也可能没有
  quota 软件。quota 软件的源程序可以从这里取得
     
ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota/all.tar.gz
----------------------------------------------------------------
在 Linux  上设定 quota -  第一部份: 配置
1.  配置你的核心
  重新配置你的核心并且对这个选项回答 y  以加入 quota  的支持:
     Quota support (CONFIG_QUOTA) [n] y
2.  编译并安装 quota 软件
  Quota 软件的源程序可以从这里取得
     
ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota/all.tar.gz
3.  修改你系统的启动指令稿以检查 quota  并且在启动时期打开 quota
  这里有个范例:
        # Check quota and then turn quota on.
        if [ -x /sbin/quotacheck ]
        then
                echo "Checking quotas. This may take some time."
                /sbin/quotacheck -avug
                echo " Done."
        fi
        if [ -x /sbin/quotaon ]
        then
                echo "Turning on quota."
                sbin/quotaon -avug
        fi
  不变的规则是*永远*得要在挂入你 /etc/fstab 里的文档系统*之后*
  打开 quota , 否则 quota  将不会运作。我建议在你系统的启动指令稿
  最后面打开 quota , 或者,如果你喜欢,在你的系统指令稿刚挂入文档
  系统之处打开它。
4. 修改 /etc/fstab
  还没有启用 quota  的分割区一般看起来像:
        /dev/hda1       /       ext2    defaults        1       1
        /dev/hda2       /usr    ext2    defaults        1       1
  要在文档系统上加入 quota  的话,在包含 "defaults" 这个字的第四个
  栏位加上 "usrquota" 。
        /dev/hda1       /       ext2    defaults            1       1
        /dev/hda2       /usr    ext2    defaults,usrquota   1       1
  如果你需要在一文档系统中的群组 quota 支持,将 "usrquota" 改为
  "grpquota" 
        /dev/hda1       /       ext2    defaults            1       1
        /dev/hda2       /usr    ext2    defaults,grpquota   1       1
  如果要同时支持使用者 quota 与群组 quota 的话   
   
        /dev/hda1       /       ext2    defaults            1       1
        /dev/hda2       /usr    ext2    defaults,usrquota,grpquota  1   1
5.  建立 "quota.user" 这个 quota  记录
  这个 quota  记录档,quota.user , 应该由 root 拥有,而且 root 有
  读写的权限而其他任何人都没有。
  以 root 的身分签入。进入你想要启用 quota  之分割区的最上层,并且
  这样建立 quota.user:
[root@aivhost data1]# touch /data1/quota.user
[root@aivhost data1]# touch /data1/quota.group
[root@aivhost data1]# chmod 0600 /data1/quota.user
[root@aivhost data1]# chmod 0600 /data1/quota.group
[root@aivhost data1]# touch /usr/quota.user
[root@aivhost data1]# touch /usr/quota.group
[root@aivhost data1]# chmod 0600 /usr/quota.user
[root@aivhost data1]# chmod 0600 /usr/quota.group
6.  重新启动
  现在重新启动系统以便让你所作的变更生效。
  同时注意以后对于你还想要启用 quota  的其它分割区只需要步骤 4, 5,
  以及 6  。
  在 Linux  上设定 quota -  第二部份: 为使用者及群组指定 Quota
  这项操作是使用 edquota 指令执行的。(详情参考 man edquota) 
  我通常在编辑 quota 之前会先使用 quotacheck 并加上参数 -avug 以
  取得最新的文档系统使用状况 这只是一个个人习惯,并非必要步骤 
为特定使用者指定 quota
   
  这儿有个例子 在我的系统上有一个名叫 bob 的使用者 使用
  "edquota bob" 这个指令将会把你带进 vi (或是在你的 $EDITOR  环
  境变数中所指定的编辑器)以便为使用者 "bob"  编辑在每个启用
  quota  的分割区上的 quota :
        Quotas for user bob:
        /dev/hda2: blocks in use: 2594, limits (soft = 5120, hard = 6400)
                inodes in use: 356, limits (soft = 1000, hard = 1500)
  "blocks in use" 是使用者在某个分割区上已经使用的区块总数(以千位
  元组为单位)
  "inodes in use" 是使用者在某个分割区上所拥有的文档总数。
为特定群组指定 quota
  现在在我的系统上有一群组叫 games "edquota -g games" 再度将我带入
  vi 以便为 games 群组编辑 quota :
        Quotas for group games:
        /dev/hda4: blocks in use: 5799, limits (soft = 8000, hard = 10000)
                inodes in use: 1454, limits (soft = 3000, hard = 4000)
为一群使用者指定相同的 quota 值
   
  为了快速地为我系统上的一群使用者,例如一百名,设定和 bob 相同的
  quota 值,我首先以手动编辑 bob 的 quota 信息,然后执行:
        edquota -p bob `awk -F: '$3 > 499 {print $1}' /etc/passwd`
  这是假设你使用 csh,并且你的使用者 UID 从 500 开始    
  除了 edquota  之外,还有三个你应该熟习的其它专有名词: 软性限制,
  硬性限制,以及缓冲期间。
软性限制
  一般来说,软性限制指出 quota  使用者在分割区上拥有的磁盘用量总数
  。但是合并使用缓冲期间的时候,它的动作就如同一道临界线,当 quota
  使用者超越时便发出有关他即将违犯 quota  的警告。
硬性限制
  硬性限制只在设定有缓冲期间时才会运作。它指出磁盘用量的绝对限制,
  quota 使用者不能超越他的硬性限制。
缓冲期间
  以 "edquota -t" 指令执行,缓冲期间是对 quota  使用者实行软性限制
  之前的时间限制。可以使用的时间单位是秒、分、小时、日、星期、以及
  月。这是你使用 "edquota -t" 指令将会见到的:
        Time units may be: days, hours, minutes, or seconds
        Grace period before enforcing soft limits for users:
        /dev/hda2: block grace period: 0 days, file grace period: 0 days
  把 0 days 这个部份变更为你觉得合理的任何期限。我个人选择  7 days
  (或是 1 week )。
----------------------------------------------------------------
其它的 Quota  指令
Quotacheck
  Quotacheck  是用来扫描文档系统的磁盘用量,并更新 "quota.user" 此
  quota 记录档到最新的状态。我建议定期在系统启动时执行  quotacheck
  或藉由 cronjob  每隔一段时间执行一次(像是,一星期? )。
Repquota
  Repquota  产生文档系统之摘要 quota  信息。这里有份 repquota 所得
  的输出范例:
        # repquota -a
                                Block limits               File limits
        User            used    soft    hard  grace    used  soft  hard  grace
        root      --  175419       0       0          14679     0     0
        bin       --   18000       0       0            735     0     0
        uucp      --     729       0       0             23     0     0
        man       --      57       0       0             10     0     0
        user1     --   13046   15360   19200            806  1500  2250
        user2     --    2838    5120    6400            377  1000  1500
Quotaon 以及 Quotaoff
  Quotaon 是用来打开 quota  的计算; quotaoff 则是将其关闭。实际上
  两者很类似。它们是在系统启动与关机时执行的。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/52454/showart_680031.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP