Linux用户磁盘空间配额的管理


Linux用户磁盘空间配额的管理
 
Linux下要实现磁盘空间限制,需要安裝 quota 套件来实现。用户磁盘空间限制是以文件系统(分区)为单位的,想要限制在/home目录空间大小,那么必须为/home单独挂载一个分区。 
 
一、规划文件系统 
 
1.1、查看文件系统的容量等信息 
Java代码  
df -h /  
 
1.2、查看文件系统是否已加入quota支持 
Java代码  
mount | grep /  
 
1.3、为文件系统添加quota支持 
 
编辑fstab文件,选择要设定 Quota 的文件系统,然后加入 usrquota 和 grpquota 选项: 
Java代码  
vim /etc/fstab  
/dev/sda1 /     ext3    defaults,usrquota,grpquota 1 1  
 
其中 /dev/sda1 可以用 uuid 标识信息来代替 
Java代码  
UUID=a8454012-1fff-4d33-baa5-b57fb7d3e1e2  /   ext3  defaults,usrquota,grpquota 1 1  
 
那如何查看磁盘与分区的标识信息? 
Java代码  
ls -all /dev/disk/by-uuid  
 
1.4、临时添加quota支持(选做) 
Java代码  
mount -o remount,usrquota,grpquota /  
 
1.5、重新挂载文件系统 
Java代码  
mount -o remount /  
 
1.6、查看文件系统挂载是否正确 
Java代码  
mount -a  
 
1.7、添加新硬盘挂载到/home目录(选做) 
 
如果你/home目录没有独立挂载一个分区,后期你可能想增加一个新的分区 
Java代码  
mkfs.ext3 /dev/sda6 #格式化并加载一个新分区  
mkdir /media/home  
mount /dev/sda1 /media/home  
cp -rf /media/home/* /home #复制旧/home的内容到新/home目录  
umound /media/home fdisk -l #查看硬盘数及分区情况  
fdisk  /dev/sda #操作硬盘的命令  
 
 
d:删除分区、l:列出所有分区类型、m:列出帮助信息、n:添加一个分区、p:列出分区表信息、q:不保存退出、t:改变分区类型、w:把分区表写入硬盘并退出 
 
二、安装、初始化、启动、关闭 Quota 
 
2.1、安裝硬盘 quota 套件 
Java代码  
aptitude install quota quotatool  
 
 
其中 quotatool 是一个基于命令行的磁盘配额设置和管理工具 
 
2.2、初始化 quota 规则文件 
quotacheck -avugm 
chmod 600 /quota.* #修改规则文件权限 
 
-a 为所有添加了quota支持的文件系统,建立 quota 规则文件 
-v 显示建立 quota 规则文件过程中的信息 
-u 建立 aquota.user 规则文件 
-g 建立 aquota.group 规则文件 
-m 强制初始化 
2.3、启动关闭 quota 的服务 
Java代码  
quotaon -avug #启动 quota 的服务  
quotaoff -auvg #关闭 quota 的服务  
 
 
三、配置 Quota 规则 
 
3.1、为用户/组设置磁盘空间限额: 
Java代码  
edquota -u username  
edquota -g groupname  
 
 
filesystem:说明该限制值是针对哪个分区,例如""/"或"/home" 
blocks:使用者已使用的磁盘区块数量,该值由quota自动算出 
soft:单位为KB,一个非强制性磁盘空间限额 
hard:单位为KB,一个强制性磁盘空间限额 
inodes:使用者已使用的档案数目 
soft:非强制性的inode的限制 
hard:强制性的inode的限制 
 
3.2、为批量用户复制规则 
Java代码  
edquota -p group1 user1,user2,user3 ..  
 
 
3.3、为用户/组设置宽限期 
通常将 hard 值设置大于 soft 值,就是为了让宽限期发挥作用,默认超额宽限期为7天。 
edquota -t 
 
四、Quota 报表 
 
4.1、用户/组限额报表 
 
-s 使用1024倍数来指定单位,会显示如M 之类的单位。 
Java代码  
quota -uvs user1 user2 user3  
quota -gvs group1 group2 group3  
 
4.2、文件系统限额报表 
 
查看所有使用者的 quota 限制情況 
Java代码  
repquota -auvs  
 
五、Quota 测试与管理 
 
1、切换到user1用户 
2、向当前目录的bigfile文件写入10次,每次1m的数据 
3、如果写入大小没有超过 hard 值,那么进入宽限期倒计时。 
4、如果写入超过hard值,那么写入失败。 
Java代码  
su user1  
dd if=/dev/zero of=bigfile bs=1M count=10  
 

相关内容

    暂无相关文章