- 论坛徽章:
- 0
|
Solaris磁盘限额实验,可能用到的 quota命令:
edquota : 为每个用户设定硬盘限额。
quotaon: 启动文件系统硬盘限额服务
quotaoff : 关闭文件系统硬盘限额服务
repquota : 显示当前硬盘限额状态
明白硬限制和软限制这两个概念。
所谓硬限制是指对资源节点和数据块的绝对限制,在任何情况下都不允许用户超过这个限制;
软限制是指用户可以在一定时间范围内(默认时为一周,在/usr/include/sys/fs/ufs_quota.h文件中设置)超过软限制的额度,在硬限制的范围内继续申请资源,同时系统会在用户登录时给出警告信息和仍可继续申请资源剩余时间。如果达到时间期限,用户的硬盘使用仍超过软限制的额度,则系统将不允许用户再申请硬盘资源。
STEP:
首先我们必须在要限制的文件系统的根目录下建立一名字为quotas的文件,该文件的所有者应是root,且其它用户不可以对它进行写操作。方法是:
---- # cd /mnt
---- # touch quotas
---- # chmod 644 quotas
---- 然后,我们编辑/etc/vfstab文件,找到要进行硬盘限额服务的文件系统,并将mount option字段的值设为rq,然后并存盘退出。
---- 完成这两步后,我们使用edquota命令为每个用户设置硬盘限额,在root权限下输入以下命令:
#edquota username
系统会自动生成一个临时文件,内容:
fs /filesystem blocks (soft = 0, hard = 0) inodes (soft = 0, hard = 0)
---- 编辑这个文件,把软,硬限制设置到合适的数值,然后存盘退出。这时我们可以看到quotas文件的大小已经被改变,说明用户的限额已经储存。重复这条命令,给每一个用户都配置硬盘限额。另外,如果我们分配给用户的硬盘限额都相同,我们可以使用 "-p" 参数而不用为每个用户都编辑一个文件,它的使用方法是:
#edquota -p reference-username username
编辑完文件后,我们就可以用quotaon来启动服务了,
在root权限下输入
#quotaon /mnt
就可以启动限额服务。如果我们要查看各个用户的当前使用情况,
可以使用repquota 命令,在root权限下输入:
#repquota /mnt
系统会显示:
---- 从中我们可以很容易看到用户的硬盘和文件的使用情况以及超过软限制后仍可申请资源的时间等等。
---- 当然我们可以用quotaoff取消硬盘限额服务。另外,系统还提供quotacheck 命令对限额的一致性进行检查。
这个实验折腾了我一个半小时,针对自己的实验提醒一下几个注意点:
1.首先要保证对/mnt 目录的权限,即chmod 777 /mnt 然后用ls -ld /mnt 查看
2.别忘了#quotaon /mnt
3.当你往限额的系统中copy文件时,系统并不能以上察觉,你如果用repquota查看,可能报告得不准确,此时可用quotacheck 验证一下,
4.限额不要设得太大,否则比较难看到效果,
这是我的实验:bash-3.00$ ls
heart.mp1 heart.mp3 lost+found quotatest
heart.mp2 heart.mp4 quotas
bash-3.00$ cp /heart.mp3 ./heart.mp5
quota_ufs: over hard disk limit (pid 558, uid 100, inum 10, fs /mnt)
cp: /heart.mp3: Disc配额过大
5.千万弄清楚你现在的Block是多大,一般默认的是512字节,也即0.5K
思考:我的/mnt目录是一块干净的硬盘,专门用来做实验,在/etc/vfstab中如果按资料所说改成 rq,系统重启后就无法用telnet连接,
正在连接到192.168.0.10...不能打开到主机的连接, 在端口 23: 连接失败 这是为什么?
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/26090/showart_318806.html |
|