Username: Password:

linux 磁盘配额(转自vbird)
来源: ChinaUnix博客  作者: 发布时间:2008-04-25 02:50:26


1.???????是不存在我?的系?的,所以,???他?定上去吧!
[root@linux ~]# groupadd qgroup
[root@linux ~]# useradd -m -g qgroup quser1
[root@linux ~]# useradd -m -g qgroup quser2
[root@linux ~]# passwd quser1
[root@linux ~]# passwd quser2
2.建立好 filesystem 的 quota 支援:
由於 quota ?完整的支援是需要在 ext2/ext3 的 Linux 延伸格式?案才能够??, 所以建?您就必?要????? quota 的磁碟????,??入 quota 的磁碟?定才行 ( /etc/fstab )!以?哥的例子而言,我想要在 /disk2 底下?行 quota 的限制 quser1, quser2 ???人!?是因?我的 /disk2 是一??立的磁?,?能够使用 df ?查?。 此外,必需要特?留意的是,最好不要以根目?亦即是 / ?行 quota 啦!否?容易有些??呢! 另外,不要?? root 做 quota 喔!反正做了也?用!
[root@linux ~]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/hda1              5952252   3193292   2451720  57% /
/dev/hdb1             28267608     77904  26730604   1% /disk2
/dev/hda5              9492644    227252   8775412   3% /disk1
嗯!我的 /disk2 是?立的 partition ,?且他的?置名? /dev/hdb1 ,好了!那?我就必?要?? /disk2 ?? /dev/hdb1 的 quota ?案格式,好了!那?由於?案格式的?定是?在 /etc/fstab ??,所以我?以 vi ???他吧!只要在 /etc/fstab ??增加了 usrquota, grpquota 就能够啦! (?:?特?留意,????目?『?必』不要??了!?在?入 /etc/fstab 之前好好的再次?查,因???之後,很有可能造成系??法??,?然?率不高,但是有可能!)
[root@linux ~]# vi /etc/fstab
LABEL=/        /          ext3    defaults                    1 1
LABEL=/disk1   /disk1     ext3    defaults                    1 2
LABEL=/disk2   /disk2     ext3    defaults,usrquota,grpquota  1 2
/dev/hda3      swap       swap    defaults                    0 0
注意到我?所需要?定的那? /disk2 的那一行,在第四?位多了 usrquota,grpquota 注意,在『 defaults,usrquota,grpquota 』之?都?有空格!
??就算加入了 quota 的磁碟格式了!不?,由於真正的 quota 在?取的?候是?取 /etc/mtab ???案的,偏偏?一??案需要重新??之後才能?以 /etc/fstab 的新?料?行改?!所以???候您能够??:

1.    重新?? (reboot) ;
2.    重新 remount filesystem ????定值!
我是不太喜?重新??的人啦!所以我就??做:
[root@linux ~]# umount /dev/hdb1
[root@linux ~]# mount -a
[root@linux ~]# grep ’/disk2’ /etc/mtab
/dev/hdb1 /disk2 ext3 rw,usrquota,grpquota 0 0

# 事?上,也能够利用 mount 的 remount 功能!
[root@linux ~]# mount -o remount /disk2
嘿嘿嘿嘿!??我?就已?成功的? filesystem 的 quota 功能加入?!另外,?哥??是以 ext3 ??磁碟格式??? quota 的呦!
3.    ?瞄磁碟的使用者使用??,??生重要的 aquota.group ? aquota.user:
接著下?就是要??瞄一下我?所需要的磁碟到底有?有多?的空?能够?我???定 quota 呢??且??瞄的?果?出到??磁碟的最??去(也就是 /disk2 底下)???候就需要 quotacheck ??指令的?忙了!使用 quotacheck 就能够?易的?所需要的?料?他?出了! ?且在 /disk2 底下??生 aquota.group ? aquota.user ????案!
[root@linux ~]# quotacheck -avug
quotacheck: Scanning /dev/hdb1 [/disk2] done
quotacheck: Checked 3 directories and 4 files
[root@linux ~]# ll /disk2
-rw-------  1 root root  6144 Sep  6 11:44 aquota.group
-rw-------  1 root root  6144 Sep  6 11:44 aquota.user
使用 quotacheck 就能够?易的?所需要的?料?他?出了!但是很奇怪的是,在某些 Linux 版本中,我不能?以 aquota.user(group) ???我的 quota ,?有可能是因??版 quota 的??, 所以我就另外做了一? link ?案?欺? quota ?:
[root@linux ~]# cd /disk2
[root@linux ~]# ln -s aquota.user quota.user
[root@linux ~]# ln -s aquota.group quota.group
# 除非您的 Linux distributions 是比??的版本,否?不?有????,
# 所以,???作您不必?行的!

4.    ?? quota 的限?:
再?就是要?? quota 啦!??的方式也是很??的!就是使用 quotaon -av 即可:
[root@linux ~]# quotaon -avug
/dev/hdb1 [/disk2]: group quotas turned on
/dev/hdb1 [/disk2]: user quotas turned on
注意:要看到上面有? turned on 的出?,才是真的成功了!
5.    ??使用者的可使用空?:
由於我?有??使用者要?定,先??定 quser1 好了,使用 edquota 就?了:
[root@linux ~]# edquota -u quser1
Disk quotas for user quser1 (uid 502):
  Filesystem    blocks    soft    hard   inodes   soft   hard
  /dev/hdb1          0   45000   50000        0      0      0
再次??的是,因?我的 /disk2 ?面??有任何?料存在,所以,在上面??表格?中, blocks ? inodes 才?都是 0 ,假如您是使用 /home ??行 quota ?定的, 那? blocks/inodes 肯定不?是 0 ,??要特?留意的。好了,上面特别字?的部分就是我?的?定了, 分?是 45000 及 50000 ,那??位是 KBytes 啦,?成 MBytes ??是要除以 1024 才?, 不?,??算一下就好了,不要太介意喔!^_^。然後? quser1 的?定直接??? quser2 吧!
[root@linux ~]# edquota -p quser1 quser2
接下?要??定?限??,?是使用 edquota !
[root@linux ~]# 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/hdb1                     1days                  7days
???改? 1 天(原本是 7days 改成 1days ),好了!查?一下是否真的有?定?去呢?使用 quota -v ?查?:
[root@linux ~]# quota -vu quser1 quser2
Disk quotas for user quser1 (uid 502):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/hdb1       0   45000   50000               0       0       0
Disk quotas for user quser2 (uid 503):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/hdb1       0   45000   50000               0       0       0
特?注意到,由於我?的使用者尚未超? 45 MB,所以 grace ( ?限?? ) 就不?出?啦!??很?清楚了吧?!
6.    ??群?可使用的空?:
[root@linux ~]# edquota -g qgroup
Disk quotas for group qgroup (gid 502):
  Filesystem    blocks    soft    hard  inodes   soft   hard
  /dev/hdb1          0   80000   90000       0      0      0

[root@linux ~]# quota -vg qgroup
Disk quotas for group qgroup (gid 502):
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/hdb1       0   80000   90000               0       0       0
??就?定好了 group 的 quota ?!同?的,因?整?群?的?使用量??有到? 80000 KBytes, ?然那? grace 就不?有任何???示了!但??地方倒是有很多朋友?信?到一?小??, 那就是『?什?我??使用者 quser1, quser2 的?定值在 soft ? hard 分?是 45/50MB ,但?何您的 group ?量 (hard) ?定?有 90MB 呢?』,也就是?, ?我的某?使用者用了 50MB 的量,那另一?不就最多能够使用到 40MB 而已?原因何在啊?
???好了,假如是小型的系?,由於使用者?不是很多,我?能够??每?人??行 quota 的?定值,所以,?然?? users ??行?定即可,无需?外的?定 group 的 quota ?定啦。
但假如??角度?思考,假?您所?的公司人?比?多且分工??,因此, 我?可能?法真正?解每?使用者的需求,此?,??每?使用者??定可能就比?麻?一?。那?我?反???,能够??每?部? (group) ??行 quota 的?定,因?部?的需求直接跟部?的??人??就好了,比?容易,而?部?的使用者 quota ?定?然能够高一?, 因?,可能某些使用者有???特的需求啊!反正只要符合 group 的限制即可, ?部?假如超?整? group quota 限制值,呵呵!?他?自己去?理即可! ^_^
7.    ?定????? quota:
??部分就无需?心了,因? FC4 ? Red Hat 系列的?? script (/etc/rc.d/rc.sysinit) 已?? quota 的???入在??,因此,在??的情?下, quota 是?主?的被??的。 不?,假如您想要手?的?制 quota 在????一遍,那?能够使用 vi 去?? /etc/rc.d/rc.local ,在?面加入一行 (直接加在最後一行即可):
[root@linux ~]# vi /etc/rc.d/rc.local
/sbin/quotaon -avug
假如要?? quota 就是用 quotaoff 吧!??!??就? quota ?定完?了!很??吧!! ( 假如是 SuSE Server 9 的?,可能就要去修改 /etc/init.d/boot.local ???案?! )
8.    利用 repquota ?示更完整的 quota ?果?告:
事?上,除了 quota 能够用??察使用者?群?使用的 quota 限制值之外,其?, 我??能够使用更??的 quota ?告指令,就是 repquota ??指令呢!他的基本用法是??的:
[root@linux ~]# repquota -a [-vug]
??:
-a  :直接到 /etc/mtab 搜?具备 quota ??的 filesystem ,??告 quota 的?果;
-v  :?出任何的 quota ?果,而非?下?指令者自己的 quota 限值;
-u  :?示出使用者的 quota 限值 (?是??值);
-g  :?示出??群?的 quota 限值。
?例:

?例一:查?系??任何的具备 quota 的 filesystem 的限值??:
[root@linux ~]# repquota -av
*** Report for user quotas on device /dev/hdb1
Block grace time: 24:00; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --   77888       0       0              4     0     0
quser1    --       0   45000   50000              0     0     0
quser2    --       0   45000   50000              0     0     0

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

?例二:?列出 user ? group 的 quota 限值:
[root@linux ~]# repquota -aug
*** Report for user quotas on device /dev/hdb1
Block grace time: 24:00; Inode grace time: 7days
                        Block limits                File limits
User            used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --   77888       0       0              4     0     0


*** Report for group quotas on device /dev/hdb1
Block grace time: 7days; Inode grace time: 7days
                        Block limits                File limits
Group           used    soft    hard  grace    used  soft  hard  grace
----------------------------------------------------------------------
root      --   77888       0       0              4     0     0
根??些??,您就能够知道现在的限制情??! ^_^



喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅