以下新加硬盘做配额实验是在vm虚拟机中完成的
实现磁盘配额,系统中必须安装quota软件包。RHEL4中默认安装quota软件包。确认该软件已经安装。
实际上Red Hat Enterprise Linux 4多被服务器采用,SCSI盘支持热拔插,直接添加一块新硬盘即可。
用命令fdisk -l查看计算机中的硬盘,最后一行看到新添加的 /dev/sdb。使用命令fdisk /dev/sdb。可以通过帮助提示完成操作 n(新建) p(查看分区情况) w(保存) q(退出)l(查看系统类型ID) t(更改文件系统类型)
创建一个新分区 设置分区大小。实验中为了验证主分区和扩展分区都能实现磁盘配额,所以建了一个主分区和一个扩展分区
l创建逻辑分区
w保存配置
再用fdisk -l 可以看到新添硬盘的情况。下一步就要对新创建的分区进行格式化,实验中分别对/dev/sdb1 /dev/sdb5 /dev/sdb6 进行格式化操作
下面修改“/etc/fstab”文件实现自动挂载,在需要做配额的分区装载设置中添加“usrquota”“grpquota”选项,分别可以对系统中的用户和组进行限额。
正确配置“fstab”文件后需要重新挂载文件系统,使对文件系统的配置生效。最简单的办法是重新启动Linux系统使设置生效。
设置分区支持quota进行限额后还不能使用配额功能,因为分区中还没有建立配额文件。使用“quotacheck -cmug”命令在支持配额功能的分区上建立配额文件,配额文件自动建立在分区文件系统的根目录中。创建配额项后,能看到生成的aquota.group 和aquota.user
“edquota -u 用户名”“edquota -g 组名”命令可以对用户和组进行配额设置了。
filesystem字段表示文件系统,即需要设置配额的硬盘分区。
blocks字段表示用户当前已经占用的数据块数量,每个数据块的容量是1KB,该数字是由edquota程序自动计算的。
inodes字段表示文件系统中当前用户占用“i节点”的个数,即用户拥有的文件数,该数字也是由edquota程序自动计算的。
前后两个soft字段分别表示磁盘容量(KB)或文件个数(个)的软限制数量,需要用户进行设置。前后连个hard字段分别表示磁盘容量(KB)或文件个数(个)的硬限制数量,需要用户进行设置。
对用户在某个分区做了配额设置后,可能其还没有写权限,还需设置相应的权限。还有务必要“quotaon 配额目录”开启配额功能。(实验中为quotaon /quota;quotaon /quota2)
验证配额是否生效。
“edquota -t”用于设置磁盘配额的宽限时间。磁盘配额的宽限时间是指用户占用的磁盘空间(文件数)超过了软限制(soft limit)后,但是没有达到设置的硬限制(hard limit)之前,用户能够正常使用系统的最长宽限时间,在这个宽限时间内用户需要将占用的磁盘容量降低到软限制之下,否则将无法正常使用系统。宽限时间的单位可以设置为天(days)、小时(hours)、分钟(minutes)、秒(seconds)。RHEL4中设置的默认宽限时间为7天(7days)
在对用户进行磁盘限额时,需要掌握以下几点原则:
1、由于对用户进行文件数量的限制不是很实用,所以通常进行磁盘配额只限制用户占用的磁盘容量。
2、为用户设置的软限制和硬限制的数值都不应该小于用户已占用的磁盘容量或文件数量,否则可能造成用户无法正常登录和使用系统。
3、设置的硬限制数量应该大于软限制数量,否则没有实际的意义。
4、对root用户进行磁盘配额是完全可以实现的,但是在系统中必须保证root用户在任何时候都能够正常登录,因此如果没有特殊需求不要对root用户进行磁盘配额设置。