一年以前,quota好好地配合samba工作了2年了。可从去年8月份升级系统之后,使用就有问题了。曾经试图解决之,简单地改参数,没有管用。由于,不少学生在quota不能够正常工作的情况下,疯狂使用服务器空间,/home分区经常冲破警戒者,有时甚至完全耗尽,到达100%,个别用户居然用了近3个G的空间。导致日常的网管工作量增加,被迫经常检查服务器硬盘使用状况,并且因为有些大户不懂得,合理使用空间,经常把600Mb以上的东西放在桌面上,使得其登录速度过慢,并且影响到其它同学的登录速度。
今天重新收拾了这个遗留问题,原来很简单。
1.Google "linux+quota",找到linux quota min-howto 2003年版的。
2.根据mini-howto的提示,找到<a href="http://sourceforge.net/projects/linuxquota"]http://sourceforge.net/projects/linuxquota[/url],下载最新的quotatools
3.将最新的quota-3.12.tar.gz(2004.5)放在/usr/local/src里面
tar zxvf q*.gz
cd q* (Turbolinux可以这样省写)
./configure
./make
./make install
4.检查link
which quotacheck
/usr/local/sbin/quotacheck
5. quotacheck -avug
第一次能够正常地检查 5个分区的quota情况。
6. 修改 /etc/rc.d/rc.local
/usr/local/sbin/quotacheck -avug
/usr/local/sbin/quotaon -avug
原来的路径是/usr/sbin.
7. 执行qtit这个shell脚本, 对所有学生帐户执行 edquota -p huaf -u $user
8. quotacheck -avug
9. shutdown -r now
10.一年多了,系统启动时,不再提示quota的参数错误。(其实,这是个误导人的提示)
11.quota终于工作正常了。
12.检查当前用户quota超标状况,标准是200Mb。
repquota -a > /root/quota
13. 找出超标用户
awk '{if($2=="+-") print $1 "-" $3 }' quota > big
在1900多用户中,超标用户42名。
小结:一年来,由于quota失效,为解决服务器磁盘紧张问题,被迫检查手工检查,手工删除超标大户,
cd /home
du -ms * > /ntws/chkdsk/vbig
这种检查非常费时,一般在22:00之后进行,再手工删除最疯狂的大户文件。
可是,这些大户很快又会倒进来上G的东西,只好再查,再删。
quota恢复了,服务器空间紧张问题就解决了。
howto上提示,要给kernel打补丁,这次省了这一步,实际上没有问题。现在使用的是较新的2.4.27内核,
编译时当然是选择了支持quota。
quota失效主要是由于内核版本升级,但quota版本没有相应跟进,造成的。
