linux 磁盘配额
时间:2006-07-13 来源:青丝雪
由于忙了几天,今天忙里面偷闲一下搞了一下quota,现在记下来给大家参考下,或许大家有那么一天用得上:),以下测试在RH LINUX8.0成功。
1.先修改 /etc/fstab 文件.在文件系统相应的 mount 命令行中加入限额选项,如下(我是以home目录、linux用户进行测试的):
/dev/hdb1 /home ext3 defaults,usrquota,grpquota 1 2
2. 重新装载 Linux 分区:
[root@landy root]# mount -a
3. 在欲加磁盘限额的文件系统的安装目录建立 aquota.user文件,最好加多一个aquota.group 文件(作为组用,但我这里只是测试用户,组的一样)
[root@landy root]# cd /home
[root@landy home]# touch aquota.user //设置用户磁盘限额文件
[root@landy home]# touch aquota.group //设置组的磁盘限额文件
这时就生成aquota.user 和aquota.group文件,但它是空的,不符合系统的要求。(也可以先不建立在第4步后会自行创建)
4. 生成符合系统要求的 aquota.user 和 aquota.group
[root@landy home]# quotacheck –cuv /home
[root@landy home]# quotacheck -gv /home
这是有可能会报错如是报错重启机器在进行上面两步操作即可
[root@landy home]# quotaon –av //开启所有设备的配额
生成时,如果有错误提示,不要理它,没关系的。因为我们先前用touch 生成的是一个空文件,所以格式不对。
这样正确的aquota.user 和aquota.group 就生成了。
5. 为用户设置磁盘空间限额:
[root@landy home]# edquota -u linux (编辑用户的配额)
[root@landy home]# edquota -g groupname (对于用户组来说)
如果使用上面任一命令就会开启一个vi 窗口,为用户设置磁盘空间限额,
文件内容大致如下:
Disk quotas for user cheny (uid )
Filesystem blocks soft hard inodes soft hard
/dev/hdb1 0 100 200 0 0 0
其中blocks是显示当前目录下的已用空间情况,以KB为单位, soft 设置用户最多可以用多大的磁盘空间(可超过);hard 设置强制用户最多使用多少磁盘空间(不可超过)。
Inodes 文件个数,后面的soft和hard 是指限制用户可以建多少个文件(一般不进行设置)
编辑方法与 vi 完全相同,以:wq 命令退出。多用户或组则是这样:
[root@landy home]# edquota -u linux
[root@landy home]# edquota –g linuxgroup
设定soft quota和hard quota之间的时间:
[root@landy home]# 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/hda3 7days 7days
修改成自己所需要的,保存退出。
最后,需要重新启动一下,以使磁盘限额生效。(在启动时提示找不到quota什么的文件,不用管它)
测试:
用linux用户凳陆通过从别处复制文件过去即可看到效果
另:你可以使用quota -username和quotastats来查看下当前状态。