linux (centos) quota配置 在网络管理的工作中,由于硬盘的资源是有限的,常常需要为多用户的服务器设定用户的linux磁盘配额。这个功能对公用的多用户服务器(免费的或者收费的)来说,更是非常必要的。Quota就是在RedHatlinux下实现linux磁盘配额的工具。 quota只支持单独的挂载文件系统 不是某一个目录。
1. 挂载目录加入 quota
查看/home目录挂载情况 [root@bogon ~]# df -h /home Filesystem Size Used Avail Use% Mounted on /dev/sda3 2.0G 35M 1.8G 2% /home
[root@bogon ~]# mount | grep home /dev/sda3 on /home type ext4 (rw)
使用者与群组的 quota 文件系统支持参数:usrquota, grpquota [root@bogon ~]# mount -o remount,usrquota,grpquota /home
查看 确定加了 usrquota,grpquota [root@bogon ~]# mount | grep home /dev/sda3 on /home type ext4 (rw,usrquota,grpquota)
编辑 fstab文件让系统启动时挂载quota [root@bogon ~]# vi /etc/fstab 重启后生效 LABEL=/home /home ext4 defaults,usrquota,grpquota 1 2 重新挂载 [root@bogon ~]# umount /home [root@bogon ~]# mount -a [root@bogon ~]# mount | grep home |
2. quota安装 生成usrquota, grpquota两个目录
对整个系统含有 usrquota, grpquota 参数的文件系统进行 quotacheck 扫瞄 [root@bogon ~]# quotacheck -avug
-bash: command not found
[root@bogon ~]# yum install quota 安装quota
[root@bogon ~]# quotacheck -avug 自动创建 usrquota, grpquota两个目录 [root@bogon ~]# ll -d /home/ -rw------- 1 root root 8192 Mar 6 11:58 /home/aquota.group -rw------- 1 root root 9216 Mar 6 11:58 /home/aquota.user 这时, 由于某种需要,或者在某种情况,“不得不”运行这个命令 : [root@bogon ~]# quotacheck -avug -mf 参数 -m[M] 意思是:强迫在“读、写”模式下检查硬盘的 quota (有一定的“正在写”的数据丢失可能,应确保没有进程在写这个分区。建议在单用户模式下进行。)。 [root@bogon ~]# quotaon -auvg 启动 quota /dev/sda3 [/home]: group quotas turned on /dev/sda3 [/home]: user quotas turned on |
3. quota限制大小设置
myquota1账号加入quota 限制使用 在这里固定每个用户使用的磁盘大小为500M [root@bogon ~]# useradd myquota1 [root@bogon ~]# edquota -u myquota1 Filesystem blocks soft hard inodes soft hard /dev/sda3 80 500000 600000 10 0 0
复制myquota1用户的信息给 myquota2 [root@bogon ~]# edquota -p myquota1 -u myquota2
[root@bogon ~]# edquota -g myquotagrp 编辑myquotagrp组的总共使用大小 Filesystem blocks soft hard inodes soft hard /dev/sda3 160 10000000 12000000 20 0 0
[root@bogon ~]# edquota -t 修改宽限时间 当使用者文件超过大小时
[root@bogon ~]# quota -uvs myquota1 myquota2 查询使用情况 Filesystem blocks quota limit grace files quota limit grace /dev/sda3 80 495M 595M 10 0 0 Disk quotas for user myquota2 (uid 501): Filesystem blocks quota limit grace files quota limit grace /dev/sda3 80 495M 595M 10 0 0
[root@bogon ~]# quota -gvs myquotagrp 查询myquotagrp组使用情况
edquota -g myquotagrp Filesystem blocks soft hard inodes soft hard /dev/sda3 160 1000M 1200M 20 0 0 [root@bogon ~]# repquota -auvs 查询所有用户使用情况
User used soft hard grace used soft hard grace ---------------------------------------------------------------------- root -- 20 0 0 2 0 0 myquota1 -- 32 495M 595M 10 0 0 myquota2 -- 32 495M 595M 10 0 0 myquotagrp -- 64 1000M 1200M 20 0 0
Statistics: Total blocks: 7 Data blocks: 1 Entries: 4 Used average: 4.000000 |
4. quota 测试
利用 myquota1 的身份,建置一个 550MB 的大文件,并观察 quota 结果! [root@bogon ~]# dd if=/dev/zero of=bigfile bs=1M count=550 [root@bogon ~]# repquota -auv Block limits File limits User used soft hard grace used soft hard grace ---------------------------------------------------------------------- myquota1 +- 556840 500000 600000 13days 11 0 0
你可以发现 myquota1 的 grace 出现!
再创建另外一个大文件,让总容量超过 600M ! [root@bogon ~]# dd if=/dev/zero of=bigfile2 bs=1M count=600 du -sk 600000 . 文件大小已经查过了设置的大小 操作失败
[root@bogon ~]# warnquota 查看是否有警告信息 您如果要取消磁盘空间的限制,可用以下命令,请看: [root@bogon ~]# quotaoff /home (取消磁盘空间限制。) [root@bogon ~]# quotaon /home (现在启动磁盘空间限制。) |