LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1329|回复: 15

求助:磁盘配额问题?

[复制链接]
发表于 2002-12-16 23:39:41 | 显示全部楼层 |阅读模式
请问这里怎么那么少关于“磁盘配额”问题的帖子哦?
麻烦大家找点相关资料啦

我现在的是redhat7.2 应该是用 quota的吧?
但是我在 fstab中default参数后加了 usrquota 也在根目录 touch aquota.user 不过总是提示出错哦,说什么非法的定义.....
 楼主| 发表于 2002-12-17 13:07:04 | 显示全部楼层

??怎么没有回复哦??

呵呵, 看来大家都挺忙的,不过希望还是可以给点建议哦,我找不到相关的资料哦
发表于 2002-12-17 23:08:38 | 显示全部楼层
1]首先明白一个概念,quota是针对分区的,所以我们在前面安装linux的时候单独分了一个/home区。

2]而所有的用户home目录都在/home下,现在开始在home目录下建立两个文件:
cd /home
touch quota.user
touch quota.group
chmod 600 quota.user //只允许root对这两个文件读写
chmod 600 quota.group

3]在/etc/rc.d/rc.local文件尾部加入quota启动脚本:
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
echo "OK"
fi

4]修改/etc/fstab文件中定义/home分区的那一行:
原内容: /dev/hda3 /home ext3 defaults 1 2
新内容: /dev/hda3 /home ext3 defaults,usrquota,grpquota 1 2
看得出来只是在defaults后面加了usrquota,grpquota而已。
注意啊,是usrquota而不是userquota,若是错了,后果难以预料。

5]重启,在启动过程中会出错,主要是因为quota在/home目录下打不到aquota.user和aquota.group两个文件,没关系,咱们进了系统以再慢慢收拾它。

6]用root登录,然后我们生成aquota.user和aquota.group两个文件:
convertquota -u /home
convertquota –g /home
若以上步骤不出错的话,我们用ls /home –al就会看到aquota.user,aquota.group两
个文件了

7]再重启,注意观察,不会再出错了。进入系统后就可以对用户home目录进行限制了。比如现在有一个test用户,我们对他进行限制:
edquota –u test #此命令将进入一个vi编辑模式,其内容如下:
Filesystem blocks soft hard inodes soft hard
/dev/hda3 0 0 0 0 0 0
注解标识: A B C D E F
在讲解各参数之前先说说限制的两种方式:soft,hard
soft:又称软限制,当用户到达这个限制以后,系统会给予警告,但仍可写入。
hard:又称硬限制,到达这个限制,就完全禁止任何写入啦。
ABC为磁盘空间的限制设置,而DEF为总文件个数的限制
A:已使用空间,无需要设置
B:用户空间使用限制,为软限制,需要设置。
C:用户空间使用限制,为硬限制,需要设置。
D:已有文件总数,无需要设置。
E:文件总数限制,为软限制,需要设置。
F:文件总数限制,为硬限制,需要设置。

我们要限制test用户使用空间100M,最多不能超过120M,文件总数为2000个,
最多不能超过2500个,设置如下:
Filesystem blocks soft hard inodes soft hard
/dev/hda3 0 102400 122880 0 2000 2500
注:空间限制是以k为单位的。

8]测试:进入自己的home目录,然后拷贝文件,若是超过120M,就不允许再写入了。

9]其它命令的使用:
复制相同调协至其它用户:
edquota –p test –u username1 username2 username3 username4……
显示某个用户当前磁盘使用情况:
quota –v username
显示所有用户当前磁盘使用情况:
repquota –a
其它的一些命令请参考相关资料。
发表于 2002-12-17 23:15:09 | 显示全部楼层
上面的内容是我cp的,

你的问题出在aquota.user和aquota.group这两个文件身上,这两个文件并不是由touch建立的,而是通过convertquota转换得来的,可用下面两句生成文件:
convertquota -u /装载点
convertquota –g /装载点
发表于 2002-12-17 23:27:59 | 显示全部楼层
这个是适用于redhat8,还是其它版本?
发表于 2002-12-17 23:45:20 | 显示全部楼层
7.2是绝对没问题的,8还没试过,不好说
发表于 2002-12-18 01:20:21 | 显示全部楼层
精,顶!
 楼主| 发表于 2002-12-18 12:14:03 | 显示全部楼层

厉害!!!谢了哦

呵呵,谢谢你啦,我现在就试下哦
 楼主| 发表于 2002-12-19 23:08:19 | 显示全部楼层

我的quota还是解决不了哦?怎么办?

在重启之后用convertquota -u /home 我这个/home也是一个单独的分区 /hda8

但是出错提示:

conertquota:Can't initialize quota on /dev/hda8:No such file or directory
conertqota:Open old format file for user on /home

为什么呢?是我本身的quota的问题吗??
发表于 2002-12-20 09:58:38 | 显示全部楼层
这几步有没做啊???????

!!!cd /home !!!!!

touch quota.user
touch quota.group
chmod 600 quota.user //只允许root对这两个文件读写
chmod 600 quota.group
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表