磁盘配额概述
文件系统配额是一种磁盘空间的管理机制。使用文件系统配额可限制用户或群组在某个特定文件系统中所能使用的最大空间。文件系统的配额管理会对用户使用文件系统带来一定程序上的不便,但对系统来讲却十分必要。他可以保证所有用户都拥有自己独占的文件系统空间,从而确保用户使用系统的公平性和安全性。linux针对不同的限制对象,可进行用户级和组群级的配额管理。配额管理文件保存于实施配额管理的那个文件系统的挂载目录中,其中aquota.user文件保存用户级配额的内容,而aquota.group文件保留组群配额的内容。对文件系统可以只采用用户级配额管理或组群组管理,也可以同时采用用户级和组群级配额管理。
根据配额特性的不同,可将配额分为硬配额和软配额。
硬配额是用户和群组可使用空间的最大值。用户在操作过程中一旦超出硬配额的界限系统将发出警告信息,并立即结束写入操作。
软配额也定义用户和群组的可使用空间,但与硬配额不同的是,系统允许软配额在一段时期内被超过。这段时间称为过渡期,默认为7天。过渡期到后,如果用户所使用的空间仍超过软配额,那么用户就不能写入更多文件。通常硬配额大于软配额。
设置文件系统配额
超级用户必须首先编辑/etc/fstab文件,指定实施配额管理的文件系统及其实施何种配额管理,其次应执行quotacheck命令检查进行配额管理的文件系统并创建配额管理文件,然后利用edquota命令编辑配额管理文件,最后启动配额管理即可。其中需要使用以下命令。
1.quotacheck命令
功能:检查文件系统的配额限制,并可创建配额管理文件。
格式:
quotacheck【选项】
主要选项说明如下。
-a(all):检查/etc/fstab文件中需要进行配额管理分区。
-g(group):检查文件系统中文件和目录的数目,并可创建quota.group文件。
-u(user):检查文件系统中文件和目录的数目,并可创建quota.user文件。
-v(verbose):显示命令的执行过程。
2.edquota命令
功能:编辑配额管理文件
格式:
edquota 【选项】
主要选项说明如下。
-用户名:设定指定用户的配额
-g(group)组群名:设定指定组群的配额
-p 用户名1 用户名2 :将用户1的配额设置复制给用户2
3.quotaon命令
功能:启动配额管理,其主要选项与quotacheck命令相同
格式:
quotaon 【选项】
配置步骤
1.检查quota软件是否安装
如果未安装,则先安装quota软件包
插入DVD光盘:
mount /mnt/cdrom
cd /mnt/cdrom/server
rpm -ivh quota-3.13-1.2.5et5.i386.rpm
相关文件:
/sbin/quotacheck 生成配额文件
/sbin/quotaon 启动磁盘配额
/sbin/quotaoff 关闭磁盘配额
/usr/sbin/edquota 设定用户/组配额
/usr/bin/quota 显示用户/组的配额信息
2.修改 fstab文件
给相应的配盘分区设定配额信息,即在装载选项中加入usrquota或者grpquota参数。
例如:
/dev/hda5 /abc ext2 defaults,usrquota 0 1
3.使fstab更改生效
重新启动系统,使fstab更改生效
4.在实行配额限制的磁盘分区的挂载点下创建空的配额信息文件
cd /abc
touch aquota.usr
touch aquota.group
5.生成标准的配额信息文件
使用的命令格式为:
quotacheck 【参数】 【挂载点】
参数说明如下:
-a:所有实行配额的文件系统
-u:生成用户配额文件
-g:生成组群配额文件
-v:显示详细信息
例如:
quotacheck -uv /abc
6.设定用户或组群的配额限制
使用的命令格式为:
edquota【参数】【用户组/群组名】
参数说明如下。
-u:设置用户的quota,这是预设的参数。
-g:设置组群的quota
例如:
edquota -u user1
Filesystem blocks soft hard inodes soft hard
/dev/hda5 2 1024 1026 3 0 0
在上面的配额选项中,blocks表示已有文件占磁盘空间大小,第一个soft表示大小软限制,第一个hard表示大小硬限制,inodes表示已有文件数量,第二个soft表示数量软限制,第二个hard表示数量硬限制。
7.启用用户或组群配额限制
使用的命令格式为:
quotaon【参数】 【挂载点】
参数说明如下。
-a:所有实行配额的文件系统。
-u:生成用户配额文件
-g:生成组群配额文件
-v:显示详细信息。
例如:
quotaon -u /abc
8.其他相关命令
可以使用quotaoff命令关闭磁盘配额限制,格式为:
quotaoff -uv /home //关闭磁盘配额限制,参数同quotaon
查看指定用户或组的磁盘配额信息的命令为:
quota <用户名 /-g 组名>
例如:
quota u1 //显示u1用户的使用情况
quota //显示当前用户使用情况
例如,对文件系统实施用户级的配额管理,普通用户tom的软配额为100mb,硬配额为150mb。
(1)使用文件编辑工具编辑/etc/fstab 文件,对所在行进行修改,增加命令选项usrquota.此时 etc/fstab文件内容如下:
LABEL=/ / ext3 defaults userquota 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-sda3 swap swap defaults 0 0
(2)重新启动系统,使计算机重新挂载,使用reboot命令,使修改的文件生效
(3)利用quotacheck命令创建aquota.user文件
quotacheck -avu
(4)利用edquota命令编辑aquota.user文件,设置用户tom的配额
edquota tom
Disk quotas for user tom(uid 500)
Filesystem blocks soft hard inodes soft hard
/dev/sda1 100 0 0 11 0 0
由此可知,实施配额管理的文件系统的逻辑卷名是/dev/sda1,tom用户已使用了100KB的磁盘空间,设置tom用户的软硬配额,默认单位是KB,如下所示,最后保存修改并退出vi。
Disk quotas for user tom(uid 500)
Filesystem blocks soft hard inodes soft hard
/dev/sda1 100 102400 153600 11 0 0
(5)启动磁盘配额管理
edquota -avu
//dev/sda1 [/]:user quotas turned on
(6)测试用户配额
以设置过用户配额管理的普通用户tom身份登录,然后复制文件。当中有超过软配额时,屏幕会出现提示信息,但文件仍然能够保存。
又如,对文件系统实施组群级配额管理,staff组群的软配额是500mb,硬配额是600mb。
(1)使用文件编辑工具编辑/etc/fstab文件,对所在行进行修改,增加命令选项groupquota。此时etc/fstab文件内容如下:
LABEL=/ / ext3 defaults,groupquota 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-sda3 swap swap defaults 0 0
(2)重新启动系统,计算机重新挂载,使用reboot命令,使修改的文件生效
(3)利用quotacheck命令创建aquota.group文件。此时查看目录可以发现系统已新建组群级配置管理文件aquota.group
(4)利用edquota命令,为staff组群设置配额
edquota -g staff
输入此命令后,系统进入vi编辑界面,编辑后部分内容如下:
Disk quotas for group staff (uid 500)
Filesystem blocks soft hard inodes soft hard
/dev/sda1 100 512000 614400 11 0 0
(5)最后执行“quotaon -avg”命令,启动组群级配额管理。staff组群中所有用户在文件系统中可使用的空间总和最多为600mb。