您的位置:首页 > 运维架构 > Linux

【Linux学习笔记十八】quota磁盘配额管理

2013-05-06 17:37 666 查看
磁盘配额管理主要是指限制某些用户的可用磁盘空间,如针对提供虚拟主机的Web服务器,需要对网站空间大小进行限制;针对邮件服务器,需要对用户邮箱大小进行限制;针对文件服务器,需要对每个用户可用的网络硬盘空间进行限制等。在Linux系统中,引入了quota磁盘配额功能,目的就是将用户对磁盘容量的使用限制在一个合理的水平,防止存储资源耗尽。一、quota磁盘配额简介quota磁盘配额功能只在指定的文件系统(分区)内有效,用户使用其它未设置配额的文件系统时,将不会受到限制。
quota主要针对系统中指定的用户账号、组账号进行限制,没有被设置限额的用户或组将不受影响。对组账号设置配额后,组内所有用户使用的磁盘容量、文件数量的总和不能超过限制。
通过设置磁盘配额可以对用户或组进行两方面的限制:磁盘容量、文件数量磁盘容量:限制用户能够使用的磁盘数据块(block)大小,也就是限制磁盘空间大小,默认单位为KB。
文件数量:限制用户能够拥有的文件个数。在Linux系统中,每一个文件都有一个对应的数字标记,称为i节点(inode)编号,这个编号在文件系统内是唯一的,因此quota通过限制i节点的数量来实现对文件数量的限制。
磁盘配额的限制方法:软限制、硬限制
软限制:设定一个软性的配额数值(如400MB磁盘空间、150个文件),在固定的宽限期(默认为7天)内允许暂时超过这个限制,但系统会给出警告信息。
硬限制:设定一个硬性的配额数值(如500MB磁盘空间、200个文件),而且绝对禁止用户超过该限值。当达到硬限制值时,系统也会给出警告并禁止继续写入数据。硬限制的配额值应大于相应的软限制值,否则软限制值将失效。二、配置quota磁盘配额在RHEL6系统中,内核已经定制了支持Linux文件系统的磁盘配额功能,而且在系统中默认安装了quota软件包,因而只需直接设置启用该功能即可。1.查看系统中是否安装quota:
# rpm –qa quota
2.如果没安装使用命令安装:在Linux的1号光盘的/RedHat/RPMS目录下,有相应版本的quota软件包
# rpm -ivh quota-3.06-9.i386.rpm3.启用quota磁盘配额功能将磁盘分区“/dev/sdb1”挂载到“/data”目录,然后在该文件系统中配置实现磁盘配额功能在RHEL6系统中主要是通过修改配置文件“/etc/fstab”的方式启用quota磁盘配额功能,通过这种方式启用的磁盘配额功能可以永久生效。修改“/etc/fstab”,给需要设置配额的文件系统添加usrquota和grpquota选项。
[root@localhost ~]# vim /etc/fstab

第四字段:装载文件系统的选项。
(1)defaults,默认无配额管理;
(2)加入usrquota关键字,实现基于用户的磁盘配额;
(3)加入grpqouta关键字,实现基于组的磁盘配额;
(4)如果两者都需要,全部添写,中间可以用逗号分隔4.更新装载文件系统修改完“/etc/fstab”文件后需要将文件系统重新挂载,使设置生效。
[root@localhost ~]# mount -o remount /data ’重新挂载文件系统5.查看是否启用quota功能
[root@localhost ~]# mount | grep sdb1 ’查看已经挂载的文件系统
/dev/sdb1 on /data type ext4 (rw,usrquota,grpquota)6.检测磁盘配额并生成配额文件命令:quotacheck说明:执行quotacheck指令,扫描挂入系统的分区,并在各分区的文件系统根目录下产生quota.user和quota.group文件,设置用户和群组的磁盘空间限制。参数: -c 创建配额文件
-a 扫描在/etc/fstab文件里,有加入quota设置的分区。
-d 详细显示指令执行过程,便于排错或了解程序执行的情形。
-g 扫描磁盘空间时,计算每个群组识别码所占用的目录和文件数目。
-R 排除根目录所在的分区。
-u 扫描磁盘空间时,计算每个用户识别码所占用的目录和文件数目。
-v 显示指令执行过程。范例: [root@localhost ~]# quotacheck -cuvg /data
命令执行成功后,会在“/data”目录中生成两个配额文件:aquota.user、atuota.group,分别用于保存用户和组的配额限制。
[root@localhost ~]# ls /data
aquota.group aquota.user lost+found注意,在采用默认设置的RHEL6系统中执行该命令时将产生“权限不够”的错误提示,如下图所示

这是由于系统中默认启用了SELinux安全机制,将SELinux设为许可模式,再次执行命令,即可成功。
[root@localhost ~]# setenforce 0 ’将SELinux设为许可模式7.编辑用户和组账号的配额设置命令:edquota功能:编辑用户或群组的quota参数: -u 设置用户的quota,这是预设的参数。
-g 设置群组的quota。
-p<源用户名称> 将源用户的quota设置套用至其他用户或群组。
-t 设置宽限期限。范例: 对用户jerry进行磁盘配额设置 [root@localhost ~]# edquota -u jerry

Filesystem:表示本行配置对应的文件系统(分区),即配额的作用范围。
blocks:表示用户当前已经使用的磁盘容量,默认单位为KB,该值由edquota程序自动计算生成。
inodes:表示用户当前已经拥有的文件数量,该数值也是由edquota程序自动计算生成。
soft:第3列中的soft对应为磁盘容量的软限制数值,默认单位为“KB”;第6列中的soft对应为文件数量的软限制数值,默认单位为“个”。
hard:第4列中的hard对应为磁盘容量的硬限制数值,默认单位为“KB”,第7列中的hard对应为文件数量的硬限制数值,默认单位为“个”。说明:进行配置设置时,只需要修改相应的soft、hard列下的数值即可。另外,由于很少对用户的文件数量进行限制,所以主要是修改第3列和第4列中的软限制容量和硬限制容量。这里将用户jerry的磁盘容量软限额设置为400000(即400MB),硬限额设置为500000(即500MB),设置完成后保存退出。 对caiwu组进行磁盘配额设置,将其硬限额设置为4000000(即4GB)。 [root@localhost ~]# edquota -g caiwu

说明:需要注意的是,配额设置仅对基本组生效。如用户jerry所属的基本组是“caiwu”,所属的附加组是“xiaoshou”,那么只有针对“caiwu”组设置的配额才对jerry有效,而针对“xiaoshou”组设置的配额则对jerry没有限制。8.激活磁盘配额命令:quotaon功能:开启磁盘空间限制;各分区的文件系统根目录必须有quota.user和quota.group配置文件。参数: -a 开启在/ect/fstab文件里,有加入quota设置的分区的空间限制。
-g 开启群组的磁盘空间限制。
-u 开启用户的磁盘空间限制。
-v 显示指令指令执行过程说明: 磁盘配额设置完毕后,还必须用quotaon命令将之激活,在命令中需要指定设备文件名或文件系 统的挂载点目录作为命令参数。范例: [root@localhost ~]# quotaon -ugv /data ’激活“/data”文件系统的用户、组配额
/dev/sdb1 [/data]: group quotas turned on
/dev/sdb1 [/data]: user quotas turned on9.验证磁盘配额功能命令:quota功能:显示磁盘已使用的空间与限制参数: -g 列出群组的磁盘空间限制。
-q 简明列表,只列出超过限制的部分。
-u 列出用户的磁盘空间限制。
-v 显示该用户或群组,在所有挂入系统的存储设备的空间限制。
-V 显示版本信息。范例: [root@localhost ~]# quota -u jerry ’查看用户jerry的磁盘配额使用情况

[root@localhost ~]# quota -g caiwu ’查看caiwu组的磁盘配额使用情况

Filesystem:表示本行配置对应的文件系统(分区),即配额的作用范围。
blocks:表示用户当前已经使用的磁盘容量,默认单位为KB,该值由edquota程序自动计算生成。limit极限grace:宽限期命令:repquota功能:检查磁盘空间限制的状态参数: -a 列出在/etc/fstab文件里,有加入quota设置的分区的使用状况,包括用户和群组。
-g 列出所有群组的磁盘空间限制。
-u 列出所有用户的磁盘空间限制。
-v 显示该用户或群组的所有空间限制。范例: [root@localhost ~]# repquota /data ’查看“/data”文件系统的配额使用情况报告

10.关闭磁盘空间限制命令:quotaoff参数: -a 关闭在/etc/fstab文件里,有加入quota设置的分区的空间限制。
-g 关闭群组的磁盘空间限制。
-u 关闭用户的磁盘空间限制。
-v 显示指令执行过程

本文出自 “水滴石穿” 博客,请务必保留此出处http://pengyl.blog.51cto.com/5591604/1194218
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: