登录 注册

Linux Quota mini-HOWTO 磁盘空间限制

资讯 驱动中国 680 次阅读 0 条评论
分享 Q

原始文件:LinuxQuotamini-HOWTO
档案叙述:磁碟空间限制简易使用说明
翻译日期:1996/09/201997/10/21
翻译维护:asdchen@ms1.hinet.net
修订:cwhuang@phys.ntu.edu.tw(1997/10/21)
--------------------------------------------------------------

如何在Linux上启动Quota

更新日期:FriAug809:45:05HKT1997

序言:这份文件的版权由AlbertM.C.Tam(bertie@scn.org)所保留。
同意这份文件的使用、复制,因此非商业性的散布是允许的,但是所有的
拷贝以及/或是没有修改直接援用的文件上须有作者与编者的名字及这份
注意事项。这份文件是因为希望能有所帮助而散布的,但不负任何责任,
无论是明白的或隐含的。虽然能够确定这份文件里的资讯之正确性的所有
工作都做了,作者/编者/维护者对於错误,或是因为使用这份文件所含
的资讯而造成任何毁损的结果没有任何责任。

这份文件描述如何在Linux主机上启用档案系统的quota,为使用者
指定quota,以及其它quota指令的用法。它适用执行2.x版核心
的使用者(最近在RedHat4.1核心2.0.27上测试过)。建议旧版核
心的使用者进行更新。

如果你发现其中有错误,或者是遗漏了任何资讯,请不要在意将它们寄给
bertie@scn.org。我会很感激的!

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

什麽是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的支援:

Quotasupport(CONFIG_QUOTA)[n]y

2.编译并安装quota软体

Quota软体的原始程式码可以从这里取得

ftp://ftp.funet.fi/pub/Linux/PEOPLE/Linus/subsystems/quota/all.tar.gz

3.修改你系统的启动指令稿以检查quota并且在启动时期打开quota

这里有个□例:

#Checkquotaandthenturnquotaon.
if[-x/usr/sbin/quotacheck]
then
echo"Checkingquotas.Thismaytakesometime."
/usr/sbin/quotacheck-avug
echo"Done."
fi

if[-x/usr/sbin/quotaon]
then
echo"Turningonquota."
/usr/sbin/quotaon-avug
fi

不变的规则是*永远*得要在挂入你/etc/fstab里的档案系统*之後*
打开quota,否则quota将不会运作。我建议在你系统的启动指令稿
最後面打开quota,或者,如果你喜欢,在你的系统指令稿刚挂入档案
系统之处打开它。

4.修改/etc/fstab

还没有启用quota的分割区一般看起来像:

/dev/hda1/ext2defaults11
/dev/hda2/usrext2defaults11

要在档案系统上加入quota的话,在包含"defaults"这个字的第四个
栏位加上"usrquota"。

/dev/hda1/ext2defaults11
/dev/hda2/usrext2defaults,usrquota11

如果你需要在一档案系统中的群组quota支援,将"usrquota"改为
"grpquota".

/dev/hda1/ext2defaults11
/dev/hda2/usrext2defaults,grpquota11

如果要同时支援使用者quota与群组quota的话

/dev/hda1/ext2defaults11
/dev/hda2/usrext2defaults,usrquota,grpquota11

5.建立"quota.user"这个quota记录

这个quota记录档,quota.user,应该由root拥有,而且root有
读写的权限而其他任何人都没有。

以root的身分签入。进入你想要启用quota之分割区的最上层,并且
这样建立quota.user:

touch/partition/quota.user
touch/partition/quota.group
chmod600/partition/quota.user
chmod600/partition/quota.group

6.重新启动

现在重新启动系统以便让你所作的变更生效。

同时注意以後对於你还想要启用quota的其它分割区只需要步骤4,5,
以及6。

在Linux上设定quota-第二部份:为使用者及群组指定Quota

这项操作是使用edquota指令执行的。(详情参考manedquota).

我通常在编辑quota之前会先使用quotacheck并加上参数-avug以
取得最新的档案系统使用状况.这只是一个个人习惯,并非必要步骤.


为特定使用者指定quota

这儿有个例子.在我的系统上有一个名叫bob的使用者.使用
"edquotabob"这个指令将会把你带进vi(或是在你的$EDITOR环
境变数中所指定的编辑器)以便为使用者"bob"编辑在每个启用
quota的分割区上的quota:


Quotasforuserbob:
/dev/hda2:blocksinuse:2594,limits(soft=5120,hard=6400)
inodesinuse:356,limits(soft=1000,hard=1500)

"blocksinuse"是使用者在某个分割区上已经使用的区块总数(以千位
元组为单位)

"inodesinuse"是使用者在某个分割区上所拥有的档案总数。


为特定群组指定quota

现在在我的系统上有一群组叫games."edquota-ggames"再度将我带入
vi以便为games群组编辑quota:

Quotasforgroupgames:
/dev/hda4:blocksinuse:5799,limits(soft=8000,hard=10000)
inodesinuse:1454,limits(soft=3000,hard=4000)


为一群使用者指定相同的quota值

为了快速地为我系统上的一群使用者,例如一百名,设定和bob相同的
quota值,我首先以手动编辑bob的quota资讯,然後执行:

edquota-pbob`awk-F:'$3>499{print$1}'/etc/passwd`

这是假设你使用csh,并且你的使用者UID从500开始.

除了edquota之外,还有三个你应该熟习的其它专有名词:软性限制,
硬性限制,以及缓冲期间。

软性限制

一般来说,软性限制指出quota使用者在分割区上拥有的磁碟用量总数
。但是合并使用缓冲期间的时候,它的动作就如同一道临界线,当quota
使用者超越时便发出有关他即将违犯quota的警告。

硬性限制

硬性限制只在设定有缓冲期间时才会运作。它指出磁碟用量的绝对限制,
quota使用者不能超越他的硬性限制。

缓冲期间

以"edquota-t"指令执行,缓冲期间是对quota使用者实行软性限制
之前的时间限制。可以使用的时间单位是秒、分、小时、日、星期、以及
月。这是你使用"edquota-t"指令将会见到的:

Timeunitsmaybe:days,hours,minutes,orseconds
Graceperiodbeforeenforcingsoftlimitsforusers:
/dev/hda2:blockgraceperiod:0days,filegraceperiod:0days

把0days这个部份变更为你觉得合理的任何期限。我个人选择7days
(或是1week)。

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

其它的Quota指令

Quotacheck

Quotacheck是用来扫描档案系统的磁碟用量,并更新"quota.user"此
quota记录档到最新的状态。我建议定期在系统启动时执行quotacheck
或藉由cronjob每隔一段时间执行一次(像是,一星期?)。

Repquota

Repquota产生档案系统之摘要quota资讯。这里有份repquota所得
的输出□例:

#repquota-a
BlocklimitsFilelimits
Userusedsofthardgraceusedsofthardgrace
root--175419001467900
bin--180000073500
uucp--729002300
man--57001000
user1--13046153601920080615002250
user2--28385120640037710001500

Quotaon以及Quotaoff

Quotaon是用来打开quota的计算;quotaoff则是将其关闭。实际上
两者很类似。它们是在系统启动与关机时执行的。

LinuxQuotamini-HOWTO磁盘空间限制 学习L
版权声明:本文由驱动中国整理发布,转载需注明出处与原文链接。如有疑问请联系 editor@qudong.com
本文价值 成为第一个评分的人
登录后为本文打分
网友评论0 条评论
正在回复 的评论取消
评论加载中…
🔐

登录后参与互动

评论、点赞均可赚积分
连续签到、邀请好友也有奖励 🎁

电脑端: 微信扫码登录 微信内: 一键登录

微信扫一扫

打开微信「扫一扫」,分享本文到朋友圈或好友