来源:
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
根??些??,您就能够知道现在的限制情??! ^_^
|
还没有关于此文章的相关评论!